Problemas con fechas en SQL y VB6

Tengo esta sentencia:

Set recReporte = BDAlimentos.OpenRecordset("SELECT * FROM [DB-Ventas] WHERE Fecha = #"& (DTPFechaI.Value) & "# AND [id-sucursal] = " & Val(cboSuc.Text))

El DTPickter esta configurado para guardar fechas en dd/mm/yyyy

Si la fecha es, por ejemplo, 13/05/2013 devuelve los resultados correctos, pero si la fecha es, por ejemplo, 12/08/2013 me da error cuando si existen registros coincidentes.

Creo que la falla esta en que si el dia es menor o igual a 12 cambia el orden de dd/mm a mm/dd dando resultados erróneos. Si es mayor a 12 si me devuelve la respuesta correcta. He probado con textbox, dando formatos pero no condigo resolverlo.

El recordset resultante si guarda las|fechas en dd/mm/yyyy

1 respuesta

Respuesta
2

Cuando trabajes con lenguaje SQL usa fechas en formato americano, que es el que "entiende" sin problemas:

Set recReporte = BDAlimentos.OpenRecordset("SELECT * FROM [DB-Ventas] WHERE Fecha = #"& Format(DTPFechaI.Value,"mm/dd/yyyy") & "# AND [id-sucursal] = " & Val(cboSuc.Text))

Un saludo.


¡Gracias!

Tan empeñado estaba en trabajar en el formato dd/mm/yyyy que no se me ocurrió intentar con esta solución.

Gracias de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas