Problema Filtro Informe
Buenas Tardes,
Tengo un formulario con el cual filtro los resultados de un informe, he modificado la parte donde filtra las fechas para que filtre un intervalo o si no hay fecha de salida, (Is Null AlbaránS )
Private Sub BVPreliminar_Click()
Dim MiBd As Database, MiTab As Recordset, MiCriterio As String
Dim MiCriterio2 As String
MiCriterio = ""
If Not IsNull(Me!ClaseMaq) Then
If Me!Caracteristicas = "" Or IsNull(Me!Caracteristicas) Then
MiCriterio = "ClaveMaq like " & Chr(39) & Me!ClaseMaq & "*" & Chr(39)
Else
MiCriterio = "ClaveMaq=" & Chr(39) & Me!ClaseMaq & " " & Me!Caracteristicas & Chr(39)
End If
End If
If Not IsNull(Me!Contrata) Then
If MiCriterio <> "" Then MiCriterio = MiCriterio & " And "
MiCriterio = MiCriterio & "Alquileres_cat.Contrata=" & Chr(39) & Me!Contrata & Chr(39)
End If
If Not IsNull(Me!CIF) Then
If MiCriterio <> "" Then MiCriterio = MiCriterio & " And "
MiCriterio = MiCriterio & "Alquileres_cat.CIF=" & Chr(39) & Me!CIF & Chr(39)
End If
If Not IsNull(Me!Activos) Then
If MiCriterio <> "" Then MiCriterio = MiCriterio & " And "
MiCriterio = MiCriterio & "Alquileres_cat.NAcciona=" & Chr(39) & Me!Activos & Chr(39)
End If
If Not IsNull(Me!Pedido) Then
If MiCriterio <> "" Then MiCriterio = MiCriterio & " And "
MiCriterio = MiCriterio & "Pedido=" & Chr(39) & Me!Pedido & Chr(39)
End If
If Me!ASP Then
If MiCriterio <> "" Then MiCriterio = MiCriterio & " And "
MiCriterio = MiCriterio & "(isnull(Pedido) or pedido='')"
End If
Select Case Me!MAS
Case 1
If MiCriterio <> "" Then MiCriterio = MiCriterio & " And "
MiCriterio = MiCriterio & "(not isnull(AlbaranS) and AlbaranS<>'')"
Case 2
If MiCriterio <> "" Then MiCriterio = MiCriterio & " And "
MiCriterio = MiCriterio & "(isnull(AlbaranS) or AlbaranS='')"
End Select
MiCriterio2 = MiCriterio
If Not IsNull(Me!FechaI) And Not IsNull(Me!FechaF) Then
If MiCriterio <> "" Then MiCriterio = MiCriterio & " And "
MiCriterio2 = MiCriterio
MiCriterio = MiCriterio & "MaqSalidaAlb_cat.Fecha>=#" & Format(Me!FechaI, "m-d-yy") & "# And MaqSalidaAlb_cat.Fecha<=#" & Format(Me!FechaF, "m-d-yy") & "# OR (((MaqSalidaAlb_cat.Fecha) Is Null));"
MiCriterio2 = MiCriterio2 & "FechaS>=#" & Format(Me!FechaI, "m-d-yy") & "# And FechaS<=#" & Format(Me!FechaF, "m-d-yy") & "# Or (isnull(Alquileres_cat.AlbaranS) or Alquileres_cat.AlbaranS='')"
MsgBox " " & MiCriterio
MsgBox " " & MiCriterio2
' End If
End If
If MiCriterio = "" Then MiCriterio = "True"
If MiCriterio2 = "" Then MiCriterio2 = "True"
Set MiBd = CurrentDb
Set MiTab = MiBd.OpenRecordset("SELECT Alquileres_cat.Peticion FROM (Alquileres_cat LEFT JOIN MaqEntradaAlb_cat ON (Alquileres_cat.CIF = MaqEntradaAlb_cat.CIF) AND (Alquileres_cat.AlbaranE = MaqEntradaAlb_cat.Albaran)) LEFT JOIN MaqSalidaAlb_cat ON (Alquileres_cat.CIF = MaqSalidaAlb_cat.CIF) AND (Alquileres_cat.AlbaranS = MaqSalidaAlb_cat.Albaran) WHERE " & MiCriterio, dbOpenDynaset)
If MiTab.EOF() Then
MiTab.Close
MsgBox "No se han encontrado máquinas que cumplan estas condiciones", vbCritical
Else
MiTab.Close
DoCmd.OpenReport "MaqEntradas_cat", acViewPreview, , MiCriterio2
End If
End Subel filtro de fechas funciona correctamente pero si lo convino con cualquiera de los anteriores, por ejemplo contrata, entonces no lo cumple. Pero no da error. No entiendo cual es el fallo... Si me podéis orientar os lo agradecería.
Saludos