Access - Filtro para informe

 
Vista:

Filtro para informe

Publicado por Nuevo (5 intervenciones) el 19/03/2006 19:28:42
Cual seria la sintaxis para crear un filtro y pasarselo a DoCmd.OpenReport yo he creado la siguiente y no funciona, que esta mal?

El formulario consta de 3 cuadros combinados (cboProv, cboPer, cboQuinc) para filtrar el informe y un boton (Crear) para hechar a andar el informe

Private Sub Informes_por_proveedor_Open(Cancel As Integer)

Dim strSQL As String

strSQL = " SELECT DISTINCT [Base Proveedores].Proveedor FROM [Base Proveedores] ORDER BY [Base Proveedores].Proveedor;"
cboProv.RowSource = strSQL

End Sub

Private Sub cboProv_AfterUpdate()

Dim strSQL As String
Dim strSQLSF As String

cboPer = Null
cboQuinc = Null

strSQL = "SELECT DISTINCT [Base Informe Especial].Periodo FROM [Base Informe Especial] "
strSQL = strSQL & " WHERE [Base Informe Especial].Proveedor = '" & cboProv & "'"
strSQL = strSQL & " ORDER BY [Base Informe Especial].Periodo;"

cboPer.RowSource = strSQL

strSQLSF = "SELECT * FROM [Base Informe Especial] "
strSQLSF = strSQLSF & " WHERE [Base Informe Especial].Prov = '" & cboProv & "'"


End Sub

Private Sub cboPer_AfterUpdate()


Dim strSQL As String
Dim strSQLSF As String

cboQuinc = Null

strSQL = " SELECT DISTINCT [Base Informe Especial].Quincena FROM [Base Informe Especial] "
strSQL = strSQL & " WHERE [Base Informe Especial].Proveedor = '" & cboProv & "' And "
strSQL = strSQL & " [Base Informe Especial].Periodo = " & cboPer & ""
strSQL = strSQL & " ORDER BY [Base Informe Especial].Quincena;"

cboQuinc.RowSource = strSQL

strSQLSF = " SELECT * [Base Informe Especial] "
strSQLSF = strSQLSF & " WHERE [Base Informe Especial].Proveedor = '" & cboProv & "' And "
strSQLSF = strSQLSF & " [Base Informe Especial].Periodo = '" & cboPer & "'"


End Sub

Private Sub cboQuinc_AfterUpdate()


Dim strSQLSF As String

strSQLSF = " SELECT * FROM [Base Informe Especial] "
strSQLSF = strSQLSF & " WHERE [Base Informe Especial].Proveedor = '" & cboProv & "' And "
strSQLSF = strSQLSF & " [Base Informe Especial].Periodo = '" & cboPer & "' And "
strSQLSF = strSQLSF & " [Base Informe Especial].Quincena = '" & cboQuinc & "'"


End Sub


Private Sub Crear_Click()
Dim strSQLSF As String
Dim filtro As String

Application.Echo False

DoCmd.OpenReport "Informe Especial", acPreview, filtro

Application.Echo True

Exit Sub
End Sub


Private Sub Report_Open(Cancel As Integer)
Dim Proveedor, Periodo, Quincena, filtro As String

Proveedor = Forms!Informe_por_proveedor!cboProv
Periodo = Forms!Informe_por_proveedor!cboPer
Quincena = Forms!Informe_por_proveedor!cboQuinc

If Proveedor <> "" Then
filtro = "Proveedor='" & cboProv & "' and Periodo='" & cboPer & "' and Quincena='" & cboQuinc & "'"

End If

Me.Filter = filtro
Me.FilterOn = True
End Sub
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:Filtro para informe

Publicado por Nuevo (5 intervenciones) el 20/03/2006 17:46:22
De nuevo solucionado por mi mismo
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