Visual Basic 6.0Problemas al hacer consultas con un campo FECHA (DATETIME)

Problemas al hacer consultas con un campo FECHA (DATETIME)

-

- Advertisment -

Muchos programadores tienen problemas al hacer consultas a campos de tipo Fecha por una sencilla razón: La Fecha en formato Peruano (y en otros paises) es dd/mm/yy y en formato americano es mm/dd/yy.

Si haces la siguiente consulta, Suponiendos que la fecha actual es 03/05/07 (3 de Mayo del 2007)

Rs.open "Select * from ventas where fecha=' & Now & ' "

Si nuestra PC tiene el formato dd/mm/yy, y el motor que usemos (Access,SQL SERVER) tiene su configuración de formato en mm/dd/yy no vamos a tener los resultados que esperamos.

Otro problema que se puede dar es que muchos motores de base de datos que están configurados en mm/dd/yy , si le das un dato como 23/07/07 , lo ya a tomas como dd/mm/yy, y si tienes mala suerte y están programando por esas fechas, tu código va a trabajar bien, pero cuando llegues a 1/8/2007 (1 de Agosto del 2007) tu sistema usara su configuración y lo tomara como 8 de Enero del 2007

Imagínense si estos problemas que les menciono se dan al hacer un consulta con un” =”, piensen en lo mostrara si pedimos mostrar datos en rangos de fecha

Solución:

Trabaja tus fechas en formato ISO que es yyyymmdd con eso no hay pierde

Tus consulta debe ser así: (este Format es propio del lengua SQL, no tiene que ver nada el VB)

Rs.open "Select * from ventas where Format(Fecha,'yyyymmdd')=Format('" & Now & "','yyyymmdd')"

Con eso no hay pierde al hacer consulta a campos tipos fechas, no importa la configuración de ninguna PC, ya sea como server o como cliente

Ahora, cuando manejes fechas usa controles como DTpicker (Agrega componente Microsoft Windows Common Control-2 6.0) o declara una variable y dale el valor asi (Visual Basic)

Dim Fecha as Date
Fecha = DateSerial(2007,12,09) 'Año, mes, dia

Espero que esto les sirve
Saludos

5 COMENTARIOS

  1. Hola, Saludos desde Argentina. Muy buena la explicación. Siguiendo este tema, como sería la consulta para dar formato en un INSERT INTO?
    Muchas Gracias!!

  2. Buenos días.

    te comento que tengo el siguiente inconveniente:
    Al momento de enviar información mediante una macro desde excel a access la informacion sube, pero la fecha que me sube al access no es la correcta, el formato que estoy utilizando en la programacion SQL para la fecha es la siguiente:
    Format(FECHA_OC, “dd/mm/yyyy”)
    Inclusive, también e probado con: cdate(Format(FECHA_OC, “dd/mm/yyyy”))
    Espero me puedas apoyar.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Últimas Noticias

Laravel – Modo Debug según IP

En algunos casos se necesita el modo DEBUG según IP, por ejemplo cuando estamos en producción y tenemos un...

Reemplazar URLs cuando cambias de dominio en WordPress (también de http a https)

Cuando haces un cambio de dominio por alguna razón (antes te llamabas www.viejodominio.com y ahora www.nuevodominio.com) si bien ya...

Como ejecutar comandos Artisan desde consola Git

Voy a suponer que ya tienen instalado el composer y php de manera global y un proyecto en laravel....

Ejecutar Composer y/o PHP de manera Global en Windows

Si por alguna razón al instalar Composer este no funciona desde cualquier ruta estando en linea de comandos (ya...
- Advertisement -

Herramientas de Desarrollo Web (sobre todo para Laravel)

Al comenzar a programar para web, lo primero que uno tiene que hacer es escoger sus herramientas de desarrollo...

Laravel 5.x

Con este post iniciamos oficialmente la sección dedica a Laravel, ya he desarrollado varios proyectos y tengo mucho por...

Debe leer

- Advertisement -

También podría gustarteRELACIONADA
Recomendada para usted