Visual Basic Foro
Programación => Bases de Datos => Mensaje iniciado por: Bazooka en Junio 07, 2012, 07:37:44 pm
-
Hola tengo una consulta como esta :
strSql = "SELECT t_Liquidaciones.ID, t_Liquidaciones.ID_CONTRATO, " & _
"t_Liquidaciones.MES, t_Liquidaciones.AÑO, t_Liquidaciones.CUOTA, " & _
"t_Liquidaciones.ALQUILER, t_Liquidaciones.PUNITORIOS, " & _
"t_Liquidaciones.ADIC_INQ, t_Liquidaciones.DESC_INQ, " & _
"t_Liquidaciones.MONTO_TOTAL, t_Liquidaciones.MONTO_PAGADO, " & _
"t_Liquidaciones.DESC_PROP, t_Liquidaciones.HONORARIOS, " & _
"t_Liquidaciones.FECHA, t_Liquidaciones.NOTA_INQ, t_Liquidaciones.NOTA_PROP," & _
" t_Liquidaciones.FECHA_PAGO_PRO, t_Liquidaciones.TOTAL_CUOTA, " & _
"t_Liquidaciones.LUGAR, t_Liquidaciones.MONTO_TOTAL_PRO From " & _
"t_Liquidaciones WHERE (((t_Liquidaciones.FECHA) " & _
"Between #" & (DInicio) & "# And #" & (dFin) & "#));"
Donde DInicio="06/05/2012" y dFin="06/05/2012" (esto es 06 de junio de 2012) y cuando ejecuto la consulta me devuelve un registro que contiene la fecha "05/06/2012"
En el panel de Control esta configurada la fecha asi dd/MM/aaaa
ASI QUE NO ENTIENDO POR QUE CARAJO ME CAMBIA
Aclaro que utilizo acces y Provider=Microsoft.Jet.OLEDB.4.0
-
los campos de fecha en la base son datetime o strings ?
-
los campos de fecha en la base son datetime o strings ?
Son datetime siempre con el formato de Fecha corta!
-
Ya que es Access, prueba con:
...
t_Liquidaciones.LUGAR, t_Liquidaciones.MONTO_TOTAL_PRO From " & _
"t_Liquidaciones WHERE (((t_Liquidaciones.FECHA) " & _
"Between #" & (Format(DInicio, "YYYY/MM/DD")) & "# And #" & (Format(dFin, "YYYY/MM/DD")) & "#));"
Sino te funca con comillas dobles en YYYY/MM/DD hazlo con comillas simples.
-
Hola Iban!! la verdad es que no me resulto esta opcion que me das! pero lo solucione invirtiendo el dia con el mes desde una funcion propia nomas!!!
-
Bueno sospechaba que no porque nunca trabajo con el michi # en mis consultas y formateo por afuera pero siempre formateo con YYYY/MM/DD que no te deja ambigüedad alguna, mejor aun si de plano se hace YYYYMMDD (sin símbolos)