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 Sub

el 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

Añade tu respuesta

Haz clic para o