Visual Basic - Comparar fechas

Life is soft - evento anual de software empresarial
 
Vista:

Comparar fechas

Publicado por Manuel (5 intervenciones) el 08/09/2005 14:40:26
Hola a ver si alguien puede ayudarme

debo comparar una fecha entre dos dadas para si cumple que esta en el medio llenar un msflexgrid con datos y no se como hacerlo
ejemplo

necesito comparar 08/09/05 entre 01/07/05 y 12/10/05 como no son del mismo mes todas las fechas no me las compara

en que me estoy equivocando????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparar fechas

Publicado por EGV (385 intervenciones) el 08/09/2005 16:14:31
FechaMia = #08/09/05#
FechaMinima = #01/07/05#
FechaMaxima = #12/10/05#
If FechaMia > FechaMinima and FechaMia < FechaMaxima then
instrucciones ..........
endif
suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar fechas

Publicado por Angel (19 intervenciones) el 15/09/2005 01:05:18
Esto de manejo de fechas suele ser engorroso, yo tuve muchos inconvenientes haciendo comparaciones la solución es tomar en cuenta que para comparaciones contra datos tipo fecha almaenados se debe hacer con el formato Sajon que es "mm/dd/yyyy" y utilizando la clausula "Between" que es natural del SQL puede hacer una seleccón precisa de registros y luego vaciarlas en el flexgrid. Un ejemplo podria ser algo asi:

Sub SubQueryX()

Dim dbs As Database, rst As Recordset

' Modifique esta línea para incluir la ruta de
' acceso a la base de datos Neptuno en su equipo.
Set dbs = OpenDatabase("Neptuno.mdb")

' Enumera el nombre y el contacto de todos los
' clientes han solicitado un pedido en el segundo
' trimestre de 1995.
Set rst = dbs.OpenRecordset("SELECT NombreContacto," _
& "Compañía, CargoContacto, Teléfono" _
& "FROM Clientes" _
& "WHERE [ID de cliente]" _
& "IN (SELECT [ID de cliente] FROM Pedidos" _
& "WHERE FechaPedido Between #04/1/95#" _
& "And #07/1/95#);")

' Llena el Recordset.
rst.MoveLast

Esto aparece en la ayuda de MSDN Library que se instala con visual basic 6.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Comparar fechas

Publicado por Carlos Gomez (262 intervenciones) el 15/09/2005 02:09:06
Primero que todo que base de datos utilizas porque si es access simplemente utiliza el funcion format por ejemplo

dim fecha1 as variant, Fecha2 as variant
private sub ........
fecha1=format("04/1/05","dd/mm/yyyy") 'devuelve 01/01/2005
fecha2=format("07/1/05","dd/mm/yyyy") 'devuelve 07/01/2005
recorset.open"Select * from Tabla " & _
"where CampoFecha between #" & fecha1 & "# and #" & Fecha2 & "#"
set datagrid.datasource=recorset
recorset.close
end sub


ahora si utilizas una base de datos MySql esto quedaria similar pero con alguna diferencias es decir:

dim fecha1 as variant, Fecha2 as variant
private sub ........
fecha1=format("04/1/05","yyyy-mm-dd") 'devuelve 2005-01-04
fecha2=format("07/1/05","yyyy-mm-dd") 'devuelve 2005-01-07 recorset.open"Select * from Tabla " & _
"where CampoFecha between #" & fecha1 & "# and #" & Fecha2 & "#"
set datagrid.datasource=recorset
recorset.close
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparar fechas

Publicado por marcos (2 intervenciones) el 16/09/2005 13:01:44
yo tengo un problema similar solo que el campo de la base de datos de acces con el que tengo que comparar es de tipo texto y tengo que convertirlo a date al hacer la comparacion pero no puedo darle el formato a la fecha al hacer la consulta y entonces me hace la comparacion mal. ¿sabeis alguna forma de arreglarlo?, Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar