Hallo
ich habe in formulare duch check box gefiltert und vba funktion
was muss in krieterien schreiben in abfrage damit ich bei exportieren die filterung von check box mit exportierung
Private Sub flt_Status()
Dim strKrit As String
Dim strKritt As String
If Nz(Me!K_Aktiv, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'1') > 0"
If Nz(Me!K_Nicht_Überwacht, 0) = True And Nz(Me!K_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'0') > 0"
strKrit = strKritt
End If
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'1') > 0"
strKrit = strKritt
End If
End If
If Nz(Me!K_Fällig, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'2') > 0"
If Nz(Me!K_Nicht_Überwacht, 0) = True And Nz(Me!K_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'0') > 0"
strKrit = strKritt
End If
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'1') > 0"
strKrit = strKritt
End If
End If
If Nz(Me!K_Gesperrt, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'3') > 0"
If Nz(Me!K_Nicht_Überwacht, 0) = True And Nz(Me!K_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'0') > 0"
strKrit = strKritt
End If
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'1') > 0"
strKrit = strKritt
End If
End If
If Nz(Me!K_Still, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'4') > 0"
If Nz(Me!K_Nicht_Überwacht, 0) = True And Nz(Me!K_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'0') > 0"
strKrit = strKritt
End If
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'1') > 0"
strKrit = strKritt
End If
End If
If Nz(Me!K_Ab, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'5') > 0"
If Nz(Me!K_Nicht_Überwacht, 0) = True And Nz(Me!K_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'0') > 0"
strKrit = strKritt
End If
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'1') > 0"
strKrit = strKritt
End If
End If
If Nz(Me!K_Nicht_Überwacht, 0) = True And Nz(Me!K_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'0') > 0"
strKrit = strKritt
End If
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = False Then
strKritt = strKrit & " AND Instr([Überwachung],'1') > 0"
strKrit = strKritt
End If
If Len(strKrit) > 0 Then
Me.Filter = Mid(strKrit, 5)
Me.FilterOn = True
Else
Me.Filter = ""
Me.FilterOn = False
End If
End Sub
[/color]
Hi,
ich denke, es ist an der Zeit mal ein kleine Beispiel-DB zu deinem Filterproblem hochzuladen.
Vermutlich lässt sich das alles wesentlich einfacher lösen.
If Nz(Me!K_Nicht_Überwacht, 0) = True And Nz(Me!K_Überwacht, 0) = False Then
...
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = False Then
...
Was machst du wenn beides True oder False ist??
Wie, das darf nicht vorkommen? Wie fängst du es denn ab?
Hier wäre wohl eine Optionsgruppe die bessere Wahl.