Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Búsqueda entre 2 fechas

Estas en el tema de Búsqueda entre 2 fechas en el foro de Visual Basic clásico en Foros del Web. Hola. Necesito que me ayuden con un código para poder realizar una búsqueda entre 2 fechas. Hago la búsqueda en un datagrid utilizando Filter, al ...
  #1 (permalink)  
Antiguo 27/07/2011, 17:02
 
Fecha de Ingreso: julio-2011
Mensajes: 34
Antigüedad: 12 años, 9 meses
Puntos: 0
Búsqueda entre 2 fechas

Hola. Necesito que me ayuden con un código para poder realizar una búsqueda entre 2 fechas.

Hago la búsqueda en un datagrid utilizando Filter, al apretar un command button, que es el botón buscar.

El código es este:

Private Sub Command5_Click()
If Len(Trim(Text4.Text)) >= 1 Then
Adodc1.Recordset.Filter = "Fecha_Ingreso =#" & Format(Text4, "dd/mm/yyyy") & "#"
Else

Adodc1.Refresh
End If
End Sub

Me funciona pero para buscar una fecha en particular. Yo quiero buscar todas las fechas que se hayan dado de alta entre 2 fechas, que serán ingresadas en 2 textbox, text4 y text5.

Y también cómo puedo validar que no se ingresen fechas previas al 16/06/2006. Esto es para que cuando se de el alta un artículo, no se pueda ingresar fechas anteriores al 16/06/2006 ni fechas posteriores a la actual del sistema.

Muchísimas gracias.

PD: utilizo el lenguaje de VB 6.0, no SQL.
  #2 (permalink)  
Antiguo 27/07/2011, 20:21
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: Búsqueda entre 2 fechas

por ejemplo las fechas estan en text4 y text5 (desde - hasta)

Adodc1.Recordset.Filter = "Fecha_Ingreso >=#" & Format(Text4, "mm/dd/yyyy") & "# and fecha_ingreso<=#" & format(text5,"mm/dd/yyyy" & "#"
  #3 (permalink)  
Antiguo 28/07/2011, 10:00
 
Fecha de Ingreso: julio-2011
Mensajes: 34
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Búsqueda entre 2 fechas

Gracias. Funcionó lo que me explicaste.

Ahora tengo un formulario que realiza el alta de un artículo. Utilizo un textbox para ingresar la fecha. ¿Cómo valido que esa fecha no sea menor al 16/06/2006 ni mayor a la fecha actual del sistema?
  #4 (permalink)  
Antiguo 28/07/2011, 12:24
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: Búsqueda entre 2 fechas

como lo haria yo

en el lostfocus del text
dim fechaini as date
dim fechatope as date
if isdate(text) then 'valido ke ingreo una fecha
fechaini="16/06/2006"
fechatope=date()
if text<fechaini and text>fechatope then
xxx=msgbox("Fecha fuera de rango",vbinformation,"Atención")
text.setfocus
else
aca coloca el codigo ke tiene que ejecutarse cuando la fecha esta ok.
endif
else
xxx=msgbox("Dato ingresado no es fecha",vbinformation,"Atención")
text.setfocus
endif
  #5 (permalink)  
Antiguo 31/07/2011, 15:05
 
Fecha de Ingreso: julio-2011
Mensajes: 34
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Búsqueda entre 2 fechas

Hola! Gracias por responder. Me quedó así el código

Código:
Private Sub Text6_LostFocus()
 
    Dim fechaini As Date
    Dim fechatope As Date
    If Len(Trim(Text6.Text)) >= 1 Then

        If IsDate(Text6) Then
            fechaini = "16/06/2006"
            fechatope = Date
            If Text6 < fechaini Then
                MsgBox "No se puede ingresar una fecha anterior al 16/06/2006", vbInformation, "Atención"
                Text6.SetFocus
                Text6 = ""
            ElseIf Text6 > fechatope Then
                MsgBox "No se puede ingresar una fecha posterior a la de hoy", vbInformation, "Atención"
                Text6.SetFocus
                Text6 = ""
            End If
        
        Else
            MsgBox "Dato ingresado no es fecha", vbInformation, "Atención"
            Text6.SetFocus
            Text6 = ""
        End If
    Else
        Command1.SetFocus
    End If
 End Sub
Si tienen algún consejo, diganmelo. Gracias!
  #6 (permalink)  
Antiguo 01/08/2011, 12:41
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Respuesta: Búsqueda entre 2 fechas

If Len(Trim(Text6.Text)) >= 1 Then
bla bla bla
Else
Command1.SetFocus
End If

si el largo de text6 es menor a 1, o sea 0 o sea el campo en blanco... no debe enviar un mensaje de advertencia donde le digas que no ingreso fecha?????, esto en vez de mandarlo a un boton que haga un proceso donde a la larga puede faltar un dato...

Etiquetas: datagrid, fechas, sql, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:19.