Hallo Forenmitglieder!
Ich habe auf einem Formular eine Optionsgruppe erstellt. Die gewählte Option schreibt den Wert in ein Textfeld auf dem Formular.
Ich habe daneben einen Button der folgen den Code ausführt:
Private Sub meinFilter_Click()
Dim filterPilot As String, Filter As String
Select Case fra_Pilot.Value 'Die Optionsgruppe.
Case 1:
filterPilot = "IST NICHT NULL" 'Zeige alle Datensätze an.
Case 2:
filterPilot = "Buchbar" 'Zeige nur Buchbare Datensätze an.
Case 3:
filterPilot = "<>""Buchbar""" 'Zeige nur Datensätze die einem Piloten zugewiesen sind. In der Tabelle stehen deren Name.
End Select
Pilot_Helper.Value = filterPilot 'schreibe filterPilot in Textfeld das als Kriterium der Abfrage dient
DoCmd.OpenReport "rpt_FG_Auftragsuebersicht_gefiltert", acViewReport
End Sub
In der Abfrage steht als Kriterium:
[Formulare]![eXr_Planung]![Pilot_Helper]
Was nicht funtioniert ist Option 1 und 3, da bekomme ich einen leeren Bericht. Was mache ich beim Ausquoten falsch?
Danke für Lesen!
Grüße,
Jan!
Hallo,
man kann nur Werte und keine Operatoren in einem Textfeld verwenden, das in einer Abfrage in einer Spalte als Kriterium dient.
Entferne den Kriterium-Parameter aus der Abfrage und nutze solchen Code:
ZitatPrivate Sub meinFilter_Click()
Dim filterPilot As String, Filter As String
Select Case fra_Pilot.Value 'Die Optionsgruppe.
Case 1:
filterPilot = "[DeinAbfrageFeld] IST NICHT NULL" 'Zeigt alle Datensätze , die nicht Leer (NULL) sind
Case 2:
filterPilot = "[DeinAbfrageFeld] = 'Buchbar'" ' wenn darin tatsächlich ein Text steht.
Case 3:
filterPilot = "[DeinAbfrageFeld] <> 'Buchbar'" 'Zeige nur Datensätze die nicht buchbar sind. einem Piloten zugewiesen sind. In der Tabelle stehen deren Name. ??
End Select
Pilot_Helper.Value = filterPilot 'schreibe filterPilot in Textfeld das als Kriterium der Abfrage dient
DoCmd.OpenReport "rpt_FG_Auftragsuebersicht_gefiltert", acViewReport,, filterPilot
End Sub
Klappt perfekt und habe weitere Optionsfelder hinzugefügt!
Fertig sieht es jetzt so aus:
Private Sub meinFilter_Click()
On Error GoTo Fehler
Dim filterPilot As String, filterStatus As String, filterJob_ID As String, filterGesamt As String
Select Case fra_Pilot.Value 'Die Optionsgruppe.
Case 1:
filterPilot = "[Pilot] <> 'IST NULL'" 'Zeige alle Datensätze an.
Case 2:
filterPilot = "[Pilot] = 'Buchbar'" 'Zeige nur Buchbare Datensätze an.
Case 3:
filterPilot = "[Pilot] <> 'Buchbar'" 'Zeige nur Datensätze die Piloten zugewiesen sind.
End Select
Select Case fra_Status.Value
Case 1:
filterStatus = "[Status] <> 'IST NULL'"
Case 2:
filterStatus = "[Status] <> 'Bereit zum Abflug'"
Case 3:
filterStatus = "[Status] = 'Bereit zum Abflug'"
End Select
Select Case fra_Job_ID.Value
Case 1:
filterJob_ID = "[Job_Test] <> 'IST NULL'"
Case 2:
filterJob_ID = "[Job_Test] <> 'Börse'"
Case 3:
filterJob_ID = "[Job_Test] = 'Börse'"
End Select
filterGesamt = filterPilot & " AND " & filterStatus & " AND " & filterJob_ID
DoCmd.OpenReport "rpt_FG_Auftragsuebersicht_gefiltert", acViewReport, , filterGesamt
Exit Sub
Fehler:
MsgBox "Wonach soll ich filtern?", vbQuestion, "Die Glaskugel fragt:"
End Sub
Danke!
PS: Wenn ich jetzt noch den Button für "Thema gelöst" finde. :)