Convertir fecha dd/mm/yyyy a mm/dd/yyyy en una consulta

"OB1" ! (Si te acuerdas quien es)

Te acuerdas de la consulta que te había hecho sobre este Query:

La definición de la consulta es así:
SQLSaldosPorServicio = "SELECT CreNum,ID, Sum(Monto) AS TotalMonto FROM InventarioCargos" & _ " WHERE CreNum=" & Me.CreNum & " AND PlanFecha<=#" & Me.FechaPago & _ "# GROUP BY CreNum,ID;"

El formato de fecha de mi base y de Windows es dd/mm/yyyy, al ejecutar el código del proceso Access cambia el formato del campo "FechaPago" a mm/dd/yyyy, por ejemplo si mi FechaPago es 03/07/2013, Access lo cambia a 07/03/2013 y me da resultados incoherentes.

2 respuestas

Respuesta
2

Bien! Una pregunta fácil! XD

SQLSaldosPorServicio = "SELECT CreNum,ID, Sum(Monto) AS TotalMonto FROM
InventarioCargos" & _ " WHERE CreNum=" & Me.CreNum & " AND
PlanFecha<=#" & Format(Me.FechaPago, "mm/dd/yyyy") & _ "# GROUP BY CreNum,ID;"

La explicación a este bug, es que tanto los lenguajes SQL con VB sólo "entienden" el ingles americano, por eso es necesario darle formato a la fecha mm/dd/yyyy aunque tu Pc lo tenga dd/mm/yyyy.

Respuesta

Sin necesidad de usar funciones raras, para convertir fechas de forma dd/mm/yyyy a mm/dd/yyyy, lo único que debes hacer es convertir tu fecha a cadena, posteriormente los extraes con un substring lo rearmas concatenando los mismos y listo.

Otra forma es usar el formato de Oracle y listo, unos ejemplos son así:

SELECT TO_CHAR(SYSDATE, 'DDMMYYYY') ejemplo1, TO_CHAR(SYSDATE, 'MMDDYYYY') ejemplo2 from dual;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas