Vale, he conseguido que funcione en parte:
Si pongo:
Código:
Option Compare Database
Private Sub Comando2_Click()
Dim Filtro As String
Dim qdf As DAO.QueryDef
Dim sSql As String
sSql = "SELECT * FROM nominas "
If Nz(Me.monitor, "") <> "" Then
Filtro = Filtro & " monitor='" & Me.monitor & "' AND "
End If
If Nz(Filtro, "") <> "" Then
Filtro = Left(Filtro, Len(Filtro) - 4)
Set qdf = CurrentDb.QueryDefs("nominas2")
qdf.SQL = sSql & " Where " & Filtro
DoCmd.OpenQuery "nominas2"
Else
MsgBox "Es necesario escoger al menos un factor de búsqueda", vbInformation
End If
End Sub
funciona bien y me filtra por monitor. Pero si le añado el filtro para los meses ya me falla:
Código:
Option Compare Database
Private Sub Comando2_Click()
Dim Filtro As String
Dim qdf As DAO.QueryDef
Dim sSql As String
sSql = "SELECT * FROM nominas "
If Nz(Me.monitor, "") <> "" Then
Filtro = Filtro & " monitor='" & Me.monitor & "' AND "
End If
If Nz(Me.Cuadro_combinado7, "") <> "" Then
Filtro = Filtro & " fecha_fin_curso Por mes='" & Me.Cuadro_combinado7 & "' AND "
End If
If Nz(Filtro, "") <> "" Then
Filtro = Left(Filtro, Len(Filtro) - 4)
Set qdf = CurrentDb.QueryDefs("nominas2")
qdf.SQL = sSql & " Where " & Filtro
DoCmd.OpenQuery "nominas2"
Else
MsgBox "Es necesario escoger al menos un factor de búsqueda", vbInformation
End If
End Sub
y me da el siguiente error:
Cita: Error 3075 en tiempo de ejecución. Error de sintaxis (falta operador) en la expresion de consulta 'monitor='Jose Carlos Borreguero' AND fecha_fin_curso Por mes='Enero"
Y el error me lo da en la linea que pone
Código:
qdf.SQL = sSql & " Where " & Filtro
Por favor alguien puede decirme donde esta el fallo?
Gracias.