Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/05/2010, 09:24
ErPiloto
 
Fecha de Ingreso: enero-2010
Mensajes: 52
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Respuesta: Consulta Interactiva

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.