COMPARAR DOS FECHAS EN VB CON SQL

maximus_julius
22 de Enero del 2004
COMPARAR DOS FECHAS EN VB MEDIANTE SQL
PARA OBTENER LAS FECHAS MENORES ALAS QUE EL USUARIO DE Y OTRA QUE DE LOS IGUALES O MAYORES A LA FECHA QUE DE EL USUARIO..
APOYENME GRACIAS.....MJ

Baltasar
22 de Enero del 2004
para menores:
"Select * from tabla where fecha < datevalue('" & cstr(variableFecha) & "')"

para iguales o mayores:

"Select * from tabla where fecha >= datevalue('" & cstr(variableFecha) & "')"

donde pone variablefecha podría ir un dtpicker.value, o cualquier cosa que devuelva una fecha.

Saludos

Bartolom
22 de Enero del 2004
Para mi fue un parto hacer eso, porque el SQL trabaja con las fechas en inglés (mm-dd-yyyy) y yo las trabajo en castellano (dd-mm-yyyy). El truco que hice, fue agregar un campo a la tabla que se llame por ejemplo FechaAyuda el cual lo rellenaba con la misma fecha del campo Fecha, pero con el siguiente formato: yyyy-mm-dd. Por ejemplo 10 de enero del 2004 sería 2004-01-10. Así cualquier comparación, no vas a tener problemas, porque si ves bien, basta que el año se a mayor, para que la cadena sea mayor. Si el año es igual, basta que el mes sea mayor, para que la cadena sea mayor. Y si ambos son iguales, la desigualdad se define por el día.
Por ejemplo

2004-10-10 Menor
2004-10-11 Mayor
Ah, para hace que el campo tenga ese formato, debes ayudarte con un textbox:

FechaAyuda.Text = Format(Fecha.Text, "yyyy-mm-dd")
Ojalá te sirva