Visual Basic - CONSULTA DINAMICA EN VB

Life is soft - evento anual de software empresarial
   
Vista:

CONSULTA DINAMICA EN VB

Publicado por roxxane (2 intervenciones) el 30/09/2008 00:57:05
HOLA ...

Veran, estoy haciendo un sistema en donde debo realizar una consulta de acuerdo a los criterios que el usuario quiera, tengo en mi formulario los campos por los que se puede realizar la consulta de esta forma:

id:________ appaterno:_______ fecha_nacimiento entre: _____ y:_____
area:______ departamento:______ fecha de alta entre:_______ y:_____

por ejemplo, si el usuario pone appaterno: MENDEZ y fecha de alta entre 05/01/2008 y:05/08/2008 y departamento:RECURSOS HUMANOS; debera aparecer los registros con apellido MENDEZ que hayan entrado entre el 05 de enero y el 5 de agosto y que sean de RecursosHumanos.

Pero si el usuario solo pone departamento=RECURSOS HUMANOS y lo demas vacio, aparezca a todos los registros de Recursos Humanos, ya lo intente concatenndo variable pero no ha funcionado, alguien podria ayudar porfavor.
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:CONSULTA DINAMICA EN VB

Publicado por Diego (211 intervenciones) el 30/09/2008 05:06:47
No creo que puedas hacerlo con una sola consulta de una tacada porque, de alguna manera, tendras que aislar los campos que el usuario ha dejado en blanco para usar el resto en la consulta, y para eso necesitaras algo de codigo.

Una vez sepas qué campos ha usado el usuario, concatenando las variables CORRECTAMENTE se hace una consulta normal y corriente y deberia funcionar sin problemas.

Dejanos ver lo que has intentado y no te ha funcionado.
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:CONSULTA DINAMICA EN VB

Publicado por VICTOR MARROQUIN RDZ (34 intervenciones) el 30/09/2008 16:36:29
ES MUY SENCILLO

CUANDO HAGAS TU CONSULTA EN LA INSTRUCCION WHERE TIENES QUE HACER UNA CONDICION Y VALIDAR SI EL CAMPO ESTA LLENO PARA PODER CONDICIONAR SOBRE ESTA OPCION, EJEMPLO
SUPONGAMOS QUE EL NO PUSO DEPARTAMENTO, TENDRIAS QUE HACER ALGO ASI

Dim Sql As String

Sql =""
Sql = Sql & "Select * From BaseDeDAtos "

**** DEPARTAMENTO
If TxtDepartamento<>0 Then
Sql= Sql & " Where TxtDepartamento=" & TxtDepartamento
End If

**** AREA
If TxtArea<>0 Then
Sql= Sql & "TxtArea=" & TxtArea
End If

OJO: SI NO SE CUMPLE LA CONDICION NO CONCATENA LA VARIABLE SQL Y NO LO TOMA EN CUANTA PARA EL WHERE , ENTONCES TOMA TODOS LOS CAMPOS.

Y ASI VAS CONCATENANDO LA VARIABLE Sql HASTA FORMAR LA CADENA CON LAS CONDICIONES QUE ESCOGIO EL USUARIO.

ESPERO TE SEA DE AYUDA, SALUD2 BYE
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