Access - Sentencia SQL

 
Vista:

Sentencia SQL

Publicado por jose maria (2 intervenciones) el 11/10/2005 16:54:46
hola, me explico a ver si alguien puede con esto. tengo en acess un formulario para que el usuario vaya rellenando cajas de texto con nombre, fecha etc...Por cierto como no domino el código la mayoría de las cosas las hago con el asistente.Toda la informacion se guarda en una tabla que se llama trayectos.Luego tengo otro formulario con unas cajas de texto que son para que el usuario realice una búsqueda introduciendo el nombre y un rango de fechas.Hasta ahí bien ya que la consulta la abro en un informe visualizando los registros seleccionados.Ahora bien, resulta que me he dado cuenta que en algunos casos en el campo nombre se puede dar el siguiente caso: juan-pedro.Esto es así pq. en algunos trayectos van 2 personas en el mismo vehículo. He modificado la consulta de tal forma que si el usuario introduce: juan, me salgan los trayectos que ha realizado juan sólo, y juan-pedro, es decir acompañado de alguien.La consulta es:AVISO: whatname es el nombre de la caja de texto donde el usuario introduce el nombre a buscar.Sentencia: SELECT TRAYECTOS.CHOFER, TRAYECTOS.TRAYECTO, TRAYECTOS.FECHAVIAJE, TRAYECTOS.KMRECORRIDOS, TRAYECTOS.FECHAVUELTA, TRAYECTOS.GASTOSEXTRA, TRAYECTOS.GASOIL, TRAYECTOS.AUTOPISTA
FROM TRAYECTOS
WHERE (((TRAYECTOS.CHOFER) LIKE [Forms]![formconsulta]![whatname]&"*" )) AND ((TRAYECTOS.FECHAVIAJE)>=[Forms]![formconsulta]![DESDEFECHA] And (TRAYECTOS.FECHAVIAJE)<=[Forms]![formconsulta]![HASTAFECHA]) OR ((([Forms]![formconsulta]![whatname]) Is Null))
ORDER BY TRAYECTOS.FECHAVIAJE;
Lo que ocurre es que tambien quiero que si el usuario introduce pedro, me salgan los registros que previamente han sido introducidos como juan-pedro, y no sólo los que se han introducido como pedro-juan.Se que tiene que haber alguna forma pero no se llegar hasta ahi, me faltan conocimientos.Os agradecería una ayuda.Hasat pronto
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:Sentencia SQL

Publicado por Rick Hunter (263 intervenciones) el 11/10/2005 17:26:59
Lo que estas buscando te lo resuelve la función INSTR, pero esto es código, algo tardado pero seguro. Ma o menos como lo que sigue

Set rsttmp=dbs.openrecordset("Tabla", dbopentable)
rsttmp.movefirst
do until rsttmp.eof
if instr(whatname, Campo) > 0 then
Aqui pasas los registros a una tabla temporal, para que luego la
despliegues en un sub-formulario
End if
rsttmp.movenext
loop

Ojala y te sirva
SALUDOS!!
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:Sentencia SQL

Publicado por NESTOR (59 intervenciones) el 11/10/2005 17:34:01
Hola:
Prueba asi:

WHERE (((TRAYECTOS.CHOFER) LIKE "*" & [Forms]![formconsulta]![whatname]&"*" ))
Ya me contaras
Saludos!!

Néstor
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:Sentencia SQL

Publicado por jose maria (2 intervenciones) el 14/10/2005 15:17:10
Muchas gracias a Rick Hunter y a Nestor por vuestra ayuda.
Al final me quedo con la solucion de Nestor ya que es la más comoda para mí que no se nada de codigos etc..
En fin, os estoy muy agradecidos.
Hasta pronto.
Jose María
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