Visual Basic - Selección compleja

Life is soft - evento anual de software empresarial
 
Vista:

Selección compleja

Publicado por Luis Antonio (44 intervenciones) el 12/10/2004 22:26:01
Hola a todos.

Estoy intentando crear un recordset que seleccione registros por nombre y apellidos, es decir, que seleccione por ejemplo desde
Garcia Ramos Jose hasta
Mendez Ruiz Luis

El problema es que apellidos y nombre son dos campos distintos.

rsClientes2.Open "Select * From Clientes Where " _
& " Apellidos >= '" & Trim$(primeraPalabra1) & "' And " _
& " Nombre <= '" & Trim$(Ultimapalabra1) & "'" _
& " and Some(Select * From Clientes Where " _
& " Apellidos >= '" & Trim$(primeraPalabra2) & "' And " _
& " Nombre <= '" & Trim$(Ultimapalabra2) & "'", cn, adOpenDynamic, adLockOptimistic
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:Selección compleja

Publicado por juan gaete (5 intervenciones) el 12/10/2004 22:36:18
Y si dentro del Where le haces un Join a las dos tablas?, asi formas una sola y se te hace mas facil buscar, o no?
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:Selección compleja

Publicado por Luis Antonio (44 intervenciones) el 13/10/2004 19:50:27
El problema es que solo existe una tabla
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:Selección compleja

Publicado por Martin (1 intervención) el 05/01/2005 18:48:37
Nop probaste con Agua > Acero, devuelve false.
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:Selección compleja

Publicado por bla (230 intervenciones) el 07/01/2005 00:26:31
Simplemente hay que unir los campos:
"select * from clientes where apellidos & nombre >=" & trim(primerapalabra1) & trim(ultimapalabra1) &
" and apellidos & nombre <=" & trim(primerapalabra2) & trim(ultimapalabra2) &
" and apellidos >=" & trim(primerapalabra1) & trim(ultimapalabra1)
" and apellidos <=" & trim(primerapalabra2) & trim(ultimapalabra2)

Observa que las dos últimas condiciones son redundantes, pero seguramente aceleren la consulta, sobre todo si has creado un índice por apellidos.
Observa tambien que el & que va dentro de las comillas depende del tipo de base de datos, por ejemplo en oracle habrá que sustituirlo por una doble barra vertical ||
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