SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: becker24 en Jueves 8 de Mayo de 2003, 16:36
-
Hola amigos, nuevamente tengo una duda, necesito arrojar en un list los datos que se encuentran dentro de un rango de fechas a traves de una consulta sql. El codigo que tengo es el siguiente :
Dim base As Database
Dim rs As Recordset
Private Sub Command1_Click()
Set base = OpenDatabase("C:fecha97.mdb")
Set rs = base.OpenRecordset("select * from personal where fecha between #01/01/03# and #01/02/03#")
Do While Not rs.EOF
List1.AddItem rs!rut & Space(2) & rs!nombre
rs.MoveNext
Loop
End Sub
Este codigo resulta, pero lo que necesito es tomar las fechas de los texbox, no indicarselas por programa, si me pueden ayudar se los agradezco mucho,
Saludos Becker24:beer:
-
Hola, pues sustituye la SQL por:
Set rs = base.OpenRecordset("select * from personal where fecha between #" & Text1.Text & "# and #" & Text2.Text & "#")
Saludos y suerte
-
Hola J.M.Movilla, sabes el cambio que me dijiste que hiciera funciona, pero tengo un problema , al darle el rango el text2.text lo toma con un dia antes es decir, si quiero listar todo lo que este entre el 01.01.2003 al 10.01.2003, me lista lo que esta entre el 01.01.2003 al 09.01.2003, lo que necesito es que se incluya la ultima fecha que estoy dando en el text2.text.
Si puedes ayudarme te lo agradeceria, saludos, becker24 :beer:
-
¿Qué cosas tiene mi novio?, como diría la modistilla de la copla... A mí siempre me ha incluido ambas fechas, o séase, ambas inclusive...
pero si se empeña en recortarte el período, pues le dices:
Set rs = base.OpenRecordset("select * from personal where fecha between #" & Text1.Text & "# and #" & Text2.Text + 1 & "#")
No sé qué tipo de variable te está manejando el textbox; espero no te dé error de tipo de variable al sumarle un día
Saludos
-
Hola J.M., sabes sigo teniendo problemas para la busqueda entre fechas, seria posible y te lo pido humildemente que me enviaras algun ejemplo si es que lo tienes, te lo agradeceria mucho, de antemano muchas gracias por tu ayuda,
saludos Becker24:beer:
-
Esta es la fórmula que yo utilizo sistemáticamente en mis programas cuando introduzco la fecha mediante un textbox, con garantía de que funciona perfectamente.
Ves que uso los clásicos >= y <= en vez de between; rs sería un recordset. db la database y Tabla1 la tabla...
Set rs = db.OpenRecordset("SELECT * FROM Tabla1 " & _
"WHERE Fecha >= DateValue(""" & txtFec1 & """) And Fecha <= DateValue(""" & txtFec2 & """) ORDER BY Fecha", dbOpenDynaset)
Adáptalo a tu forma de trabajar y espero que te funcione.