La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3722 - COMO HACER UN SELECT DE FECHAS
Autor:  MªRosa Jordán Gracia
Hola, tengo que hacer un select en Visual Basic 6.0,que seria algo asi:
data1.recordource="select * from tabla where finicio=<fecha de inicio>"
el problema es que no se cómo comparar fechas, finicio es un campo de tipo fecha de la tabla y he de compararlo con una variable Inicio de tipo fecha, cómo lo hago?.
Gracias.

  Respuesta:  Francisco Lopez
si la comparacion de fecha que quieres realizar es para buscar en SQL SERVER es la siguiente:

en el campo de la tabla debe estar definido como fecha smoldate

FEC = convert(char(10),fec,111) >= '2005/09/22' debe ir con las comillas simples y busca fecha sin hora

FEC = convert(char(16),fec,20) >= '2005/09/22 12:25:00'

debe ir con las comillas

PODRIA SER ASI TAMBIEN

DIM Fecha as string
Fecha = "'2005/12/21 21:12:24'" (fijate que habro con una doble y sigue una simple y al final una simple y luego una doble

FEC = convert(char(16),fec,20) >= Fecha

Espero que te sirva.
Francisco

  Respuesta:  Eric Del Valle Hernández
´VB5 funciona VB6 supongo que también.
´xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
´Si estas utilizando una cadena para capturar la fecha
´entonces utiliza la función cDate

txtSql = "select * from mitabla where fecha=#" & CDate(MiFecha) & " order by fecha;"
With Data1
.RecordSource = txtSql
.Refresh
End With
Saludos

  Respuesta:  alberto garea vidal
tu error reside en que tratas de comparar un campo de la base de datos de tipo fecha con una variable de tipo fecha, toda comparacion con un campo de tipo fecha debe de comenzar y terminar con el simbolo "#", además la comparacion debe ser en formato sajón, es decir mm/dd/aa, por lo tanto prueba lo siguiente:
.. where finicio = "´#" & format(fecha de inicio, "mm/dd/aa") & "#´"

  Respuesta:  J RC
Por tu pregunta, supongo que ya habrás probado a convertir el campo al tipo date de Visual Basic para compararlos, y no has podido. Una solucion que se me ocurre, sería declarar dos variables privadas a tu función de tipo Variant, y utilizarlas para realizar la comparación. A cada una de estas variables le asignas el valor del campo y la variable date. Esto deberia funcionar.