Ayuda para consulta

Hola amigo
Estoy usando vb 5.0 quisiera saber como puedo hacer un buscar por fecha en una base access 97, estoy usando como referencia dao, para ser más especifico en un formulario tengo dos textbox en uno pongo la fecha de inicio y en el otro la de termino y que me aparezca los registros buscados en un msflexgrid que la tengo en el mismo formulario debajo de los textbox
¿Tengo una base access 97 con los campos nro_cargo - fecha_cargo? ¿rut? ¿Dígito? Nombres
en resumen quiero saber como puedo consultar por la fecha del cargo y que salga los registros de esas fecha en el msflexgrid haciendo clic en un botón
EJ. CONSULTAR FECHA_CARGO ENTRE 15.01.04 Y 15.03.04
Tengo el siguiente procedimiento
Private Sub boton_Click(Index As Integer)
Select Case Index
Case 0
Unload Me
End Select
End Sub
===================================
Private Sub Command1_Click()
consultafecha
End Sub
=====================================
Private Sub Form_Load()
grilla.TextMatrix(0, 0) = "N°"
grilla.ColWidth(0) = 400
grilla.TextMatrix(0, 1)= "nro_cargo"
grilla.ColWidth(1) = 1000
grilla.TextMatrix(0, 2) = "rut"
grilla.ColWidth(2) = 1500
grilla.TextMatrix(0, 3) = "digito"
grilla.ColWidth(3) = 400
grilla.TextMatrix(0, 4) = "nombres"
grilla.ColWidth(4) = 1800
End Sub
======================================
Function consultafecha()
On Error GoTo ERRORBD
'On Error Resume Next
If Text1.Text = "" Then
MsgBox "Ingrese fecha inicio", 16
limpia
End If
Do While Not Text1.Text = ""
Set BASE = OpenDatabase(App.Path & "\cargos.mdb ", False)
Dim csql As String
csql = "SELECT datos.FECHA_INGRESO, datos.NRO_CARGO, datos.RUT, datos.DIGITO, datos.NOMBRES FROM datos WHERE FECHA_INGRESO > ' " & Text1.Text & " ' and FECHA_INGRESO <' " & Text2.Text & " ' "
Set TABLA = BASE.OpenRecordset(csql, dbOpenSnapshot)
If Not TABLA.NoMatch Then
fila = 1
fila2 = 1
grilla.Row = 1
grilla.Rows = 2
If Not (TABLA.EOF And TABLA.BOF) Then
Do While Not TABLA.EOF
grilla.TextMatrix(fila, 1) = "" & TABLA![NRO_CARGO]
grilla.TextMatrix(fila, 2) = "" & TABLA![RUT]
grilla.TextMatrix(fila, 3) = "" & TABLA![DIGITO]
grilla.TextMatrix(fila, 4) = "" & TABLA![NOMBRES]
grilla.TextMatrix(fila2, 0) = fila2
fila = fila + 1
fila2 = fila2 + 1
TABLA.MoveNext
If Not TABLA.EOF Then
grilla.Rows = grilla.Rows + 1
End If
Loop
End If
If (TABLA.EOF And TABLA.BOF) Then
MsgBox "No hay Registros con la fecha"
limpia
End If
End If
TABLA.Close
BASE.Close
Exit Function
ERRORBD:
Select Case Err
Case 0
MsgBox "1.0"
Case Else
MsgBox "Número de Error: " + CStr(Err.Number) + Chr$(13) + Err.Description, 16, "Aduana v1.0"
limpia
End Select
Exit Do
Loop
End Function
===============================
Function limpia()
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End Function
Y me sale el error
NRO. 3464 CON LA LEYENDA
No coinciden los tipos de datos en la expresión de criterios
Favor contestar ya que es de suma urgencia
favor si puedes dame tu mail
y te puedo enviar con más detalle como tengo hecho este pequeño programa para que me ayudes
Auxilio
Favor auxilio socorro

1 respuesta

Respuesta
1
Lo primero que debes hacer es transformar los datos de los textos a fechas. Esto se hace así:
csql = "SELECT datos.FECHA_INGRESO, datos.NRO_CARGO, datos.RUT, datos.DIGITO, datos.NOMBRES FROM datos WHERE FECHA_INGRESO > ' " & CDate(Text1.Text) & " ' and FECHA_INGRESO <' " & CDate(Text2.Text) & " ' "
Igual lo que te recomiendo es que primero pruebes la consulta en Access, es decir abrí la base de datos y crea una nueva consulta y ahí escribí la sec. sql. Si funciona recién ahí la pasas al programa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas