Realizar reporte con varios criterios
Cómo realizar un reporte con DataReport entre fechas, pero con un criterio de búsqueda. Ejem.: fecha inicio y fecha final, buscar por partida "X", y que me miestre sólo lo que tiene esa partida entre esas fechas. El código que manejo es el siguiente:
El filtrado debe ser por "PART" (Yo utilizo Tres partidas: 613,615,618; y por cada una de ellas, existen ciertos números de
Cheques emitidos).
'Este es el comando para llamar al Reporte'
Private Sub Command3_Click()
If rst Is Nothing Then Exit Sub
If rst.State = adStateOpen Then
Set DataReport1.DataSource = rst
Set rst = cnn.Execute("SELECT MONTO, FECEX, PAGOR, PART, CHEC, CTACTE FROM Hoja1 WHERE FECEX Between '" & DTPicker1
& "' and '" & DTPicker2 & "' Order by CHEC")
DataReport1.Show vbModal, Me
End If
End Sub
__________________________________________________________________________________
Private Sub DTPicker1_Change()
DTPicker1 = Format(DTPicker1.Value, "mm/dd/yyyy")
If DTPicker1 > "01/01/1601" Then
Set rst = cnn.Execute("SELECT MONTO, FECEX, PAGOR, PART, CHEC, CTACTE FROM Hoja1 WHERE PART Between '" & DTPicker1 & "'
and '" & DTPicker2 & "' Order by CHEC")
' Muestra los datos en el FlexGrid'
Set MSHFlexGrid1.DataSource = rst
End If
End Sub
__________________________________________________________________________________
Private Sub DTPicker2_Change()
DTPicker2 = Format(DTPicker2.Value, "mm/dd/yyyy")
If DTPicker2 < "31/12/9999" Then
Set rst = cnn.Execute("SELECT MONTO, FECEX, PAGOR, PART, CHEC, CTACTE FROM Hoja1 WHERE FECEX Between '" & DTPicker1 & "' and
'" & DTPicker2 & "' Order by CHEC")
' Muestra los datos en el FlexGrid'
Set MSHFlexGrid1.DataSource = rst
End If
End Sub
___________________________________________________________________________________
Private Sub Form_Load()
Dim ruta As String
ruta = "C:\Proyecto2\bd13.mdb"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ruta & ";" & _
"Persist Security Info=False"
End Sub
____________________________________________________________________________________
Private Sub Text1_Change()
If DTPicker1 > "01/01/1601" And DTPicker2 < "31/12/9999" Then
Set rst = cnn.Execute("SELECT MONTO, FECEX, PAGOR, PART, CHEC, CTACTE FROM Hoja1 WHERE PART Like '" & Text1.Text &
"' Order by FECEX")
End If
End Sub
______________________________________________________
Nota: A lo mejor algo está allí errado; Aaaaaa... Y no utilizo el DataEnvironment, ni el SQL. Mi conexión es a través de un
recordset.
El filtrado debe ser por "PART" (Yo utilizo Tres partidas: 613,615,618; y por cada una de ellas, existen ciertos números de
Cheques emitidos).
'Este es el comando para llamar al Reporte'
Private Sub Command3_Click()
If rst Is Nothing Then Exit Sub
If rst.State = adStateOpen Then
Set DataReport1.DataSource = rst
Set rst = cnn.Execute("SELECT MONTO, FECEX, PAGOR, PART, CHEC, CTACTE FROM Hoja1 WHERE FECEX Between '" & DTPicker1
& "' and '" & DTPicker2 & "' Order by CHEC")
DataReport1.Show vbModal, Me
End If
End Sub
__________________________________________________________________________________
Private Sub DTPicker1_Change()
DTPicker1 = Format(DTPicker1.Value, "mm/dd/yyyy")
If DTPicker1 > "01/01/1601" Then
Set rst = cnn.Execute("SELECT MONTO, FECEX, PAGOR, PART, CHEC, CTACTE FROM Hoja1 WHERE PART Between '" & DTPicker1 & "'
and '" & DTPicker2 & "' Order by CHEC")
' Muestra los datos en el FlexGrid'
Set MSHFlexGrid1.DataSource = rst
End If
End Sub
__________________________________________________________________________________
Private Sub DTPicker2_Change()
DTPicker2 = Format(DTPicker2.Value, "mm/dd/yyyy")
If DTPicker2 < "31/12/9999" Then
Set rst = cnn.Execute("SELECT MONTO, FECEX, PAGOR, PART, CHEC, CTACTE FROM Hoja1 WHERE FECEX Between '" & DTPicker1 & "' and
'" & DTPicker2 & "' Order by CHEC")
' Muestra los datos en el FlexGrid'
Set MSHFlexGrid1.DataSource = rst
End If
End Sub
___________________________________________________________________________________
Private Sub Form_Load()
Dim ruta As String
ruta = "C:\Proyecto2\bd13.mdb"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ruta & ";" & _
"Persist Security Info=False"
End Sub
____________________________________________________________________________________
Private Sub Text1_Change()
If DTPicker1 > "01/01/1601" And DTPicker2 < "31/12/9999" Then
Set rst = cnn.Execute("SELECT MONTO, FECEX, PAGOR, PART, CHEC, CTACTE FROM Hoja1 WHERE PART Like '" & Text1.Text &
"' Order by FECEX")
End If
End Sub
______________________________________________________
Nota: A lo mejor algo está allí errado; Aaaaaa... Y no utilizo el DataEnvironment, ni el SQL. Mi conexión es a través de un
recordset.
1 Respuesta
Respuesta de denciso
1