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