Access - Error de Sintaxis

 
Vista:

Error de Sintaxis

Publicado por Adolfo (98 intervenciones) el 16/04/2008 16:36:30
Hola, siento repetir post pero se queda atras el original: http://www.lawebdelprogramador.com/news/mostrar_new.php?id=1&texto=Access&n1=490969&n2=0&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

Lo resumo, tengo un search :
Var = "SELECT Clientes.id_cliente, Clientes.nombre, Clientes.apellidos, Clientes.telefono, Clientes.telefono2 " _
& "FROM Clientes " _
& "WHERE Clientes.apellidos=" & Me.txt_Cte.Value

El problema es que al poner el apellido:
Error 3075, Error de sintaxis (falta operador en la expresion de consulta 'clientes.apellidos = Martinez Garcia';

Y si es solo 1 apellido (envez de martinez garcia pues solo Martinez) me da este:
error 3061, Pocos parametros se esperaba 1

Alquien sabe como puedo solucionarlo ?

gracias de antemano,

-Adolfo-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error de Sintaxis

Publicado por Enrique (1299 intervenciones) el 16/04/2008 19:59:04
Hola Adolfo:
El campo apellidos en la tabla es texto sin duda, por tanto el campo de comparación en la cláusula Where (txt_Cte) debe ir entre comillas simples, pero además ese campo txt_Cte tiene que contener los dos apellidos y escritos exactamente igual que están en la Tabla:

& "WHERE apellidos ='" & Me.txt_Cte & "'"
(Igual, comilla simple, comillas dobles, signo &, Me.txt_Cte, signo &, comillas dobles, comilla simple, comillas dobles)

Ahora bien, si quieres escribir en el campo txt_Cte solo un apellido o parte de un apellido y que se realice la búsqueda por contenido, debes usar LIKE en lugar del signo igual, algo así:

& "WHERE apellidos Like '*" & Me.txt_Cte & "*'"
(Like, comilla simple, asterisco, comillas dobles, signo &, Me.txt_Cte, signo &, comillas dobles, asterisco, comilla simple, comillas dobles)

De esta última forma, si en txt_Cte escribes Mart , buscará Martin, Martinez, Martos, etc. tanto en el primero como en el segundo apellido.

Prueba a ver si ahora funciona.

Saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error de Sintaxis

Publicado por Adolfo (98 intervenciones) el 17/04/2008 11:58:18
Gracias, funciona muy bien esto. :)
Lo dejare con el like, asi comprende el nombre exacto y aprosimaciones :)

otravez, GRACIAS !


-Adolfo- Ya queda menos para el final.... (de mi base de datos :P)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otro Problema que a Surgido

Publicado por Adolfo (98 intervenciones) el 17/04/2008 16:47:06
No abia caido en que van hermanos/as al sitio este entonces el poner solo apellidos no funciona.... he estado probando termino con esto ,
& "WHERE apellidos Like '*" & Me.txt_Cte & "*'" & "where nombre like '*" & Me.txt_cte2 & "*' "

pero no va, no estoy seguro de como hacer que funcione, esto es lo unico que me a salido sin marcarse todo en rojo... XD

si alguien sabe que le pasa que avise,
gracias,

-Adolfo-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ok, solucionado creo...

Publicado por adolfo (98 intervenciones) el 17/04/2008 17:53:41
Probando y probando (si como estamparse contra una pared mil veces hasta que la rompes) me e encontrado con que esto funciona :

& "WHERE apellidos+nombre Like '*" & Me.txt_Cte & "*' + '*" & Me.txt_cte2 & "*'"

:)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

excelente.

Publicado por charlie (1 intervención) el 02/10/2015 00:13:13
excelente amigo funciona muy ben
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar