dr.cornwallis
Goto Top

Access 2010 Filter zurücksetzen

Liebe Gemeinde,

wieder mal ein Access/VBA Problem:

ich habe eine Abfrage, SQL Code:
SELECT tbl_Main_Data.ID, tbl_Main_Data.Tor, tbl_Main_Data.Tour, tbl_Main_Data.basis, tbl_Main_Data.Abfahrt, tbl_Main_Data.Wochentag1, tbl_Main_Data.Anmerkung, tbl_Main_Data.Tag, tbl_Main_Data.Nacht, tbl_Main_Data.Gruppe
FROM tbl_Main_Data
WHERE (((tbl_Main_Data.Tor)=[Formulare]![frm_tor_anzeigen]![Kombinationsfeld79])) OR ((([Formulare]![frm_tor_anzeigen]![Kombinationsfeld79]) Is Null))
ORDER BY tbl_Main_Data.Tor, tbl_Main_Data.Wochentag1, tbl_Main_Data.Abfahrt;

Diese Abfrage ist mit einem Formular verknüpft, auf dem Formular befinden sich die beiden Kombifelder die als Filter dienen + ein Button, dieser Button soll die Filter zurücksetzen, hier der Code vom Button:

Private Sub Umschaltfläche82_Click()
Me.Kombinationsfeld43.Value = Null
Me.Kombinationsfeld79.Value = Null
If IsNull(Me.Kombinationsfeld79.Value) And IsNull(Me.Kombinationsfeld43.Value) Then
Me.FilterOn = False
End If
DoCmd.Requery
End Sub

Öffne ich das Formular, werden alle Datensätze angezeigt, wähle ich Werte aus den Kombifeldern aus(Texte), werden diese auch gefiltert, der Button zum zurücksetzen funktioniert leider nicht, verstehe aber nicht warum...

Bitte um HIlfe!

Gruß

Dr.

Content-ID: 326607

Url: https://administrator.de/contentid/326607

Ausgedruckt am: 25.11.2024 um 00:11 Uhr

Pjordorf
Pjordorf 17.01.2017 um 12:36:44 Uhr
Goto Top
Hallo,

Zitat von @Dr.Cornwallis:
der Button zum zurücksetzen funktioniert leider nicht, verstehe aber nicht warum...
Selbstverständlich funktioniert der. Nur dein Code.... Sicher das du in dein Code in Zeile 4 (If IsNull(ME.... mit AND arbeiten willst?

Ansonsten hilft immer ein Haltepunkt zu setzen und im Einzelschritt durchtickern sowie Überwachung der Werte.

Gruß,
Peter
Dr.Cornwallis
Dr.Cornwallis 17.01.2017 um 13:08:26 Uhr
Goto Top
Zitat von @Pjordorf:

Hallo,

Zitat von @Dr.Cornwallis:
der Button zum zurücksetzen funktioniert leider nicht, verstehe aber nicht warum...
Selbstverständlich funktioniert der. Nur dein Code.... Sicher das du in dein Code in Zeile 4 (If IsNull(ME.... mit AND arbeiten willst?

Ansonsten hilft immer ein Haltepunkt zu setzen und im Einzelschritt durchtickern sowie Überwachung der Werte.

Gruß,
Peter
Da ich die beiden Kombifelder wieder auf Null setzte, sollte das "AND" funktionieren oder hab ich da etwas übersehen?

Gruß

Dr.
131381
Lösung 131381 17.01.2017 aktualisiert um 13:14:12 Uhr
Goto Top
Wenn du die sowieso auf Null setzt wieso dann noch diese vollkommen überflüssige IF-Abfrage???

Wir kennen den Aufbau deines Formulars ja überhaupt nicht... face-confused

Gruß mik
Pjordorf
Lösung Pjordorf 17.01.2017 um 13:17:18 Uhr
Goto Top
Hallo,

Zitat von @Dr.Cornwallis:
Da ich die beiden Kombifelder wieder auf Null setzte, sollte das "AND" funktionieren oder hab ich da etwas übersehen?
Dann braucht es auch keine Abfrage. Aber deine Abfrage sagt ja "Wenn A und B dann tue etwas". Da müssen beide Werte gleichzeitig erfüllt sein. Du wolltest dort bestimmt ein Oder verwenden face-smile Ein Haltepunkt und Einzelschritt sowie Überwachung der Werte sagt es dir wann deine Bedingung erfüllt wird.

Gruß,
Peter
Dr.Cornwallis
Dr.Cornwallis 17.01.2017, aktualisiert am 18.01.2017 um 08:09:29 Uhr
Goto Top
Zitat von @131381:

Wenn du die sowieso auf Null setzt wieso dann noch diese vollkommen überflüssige IF-Abfrage???

Wir kennen den Aufbau deines Formulars ja überhaupt nicht... face-confused

Gruß mik
Na gut ich versuchs mal so gut es geht zu erklären:
Mit den beiden Kombifeldern möchte ich 2 Werte/Spalten filtern:
Tor und Tour, die restlichen Spalten/werte sind für dieses Beispiel nicht relevant.

Das Formular gibt die Datensätze der og. Abfrage wieder, die Daten im Kombifeld 1(Tor) beziehen sich aus dieser Abfrage:
SELECT [qry_tore].[Tor] FROM qry_tore ORDER BY [Tor]
Kombifeld 2(Tour):
SELECT DISTINCT [qry_tor_edit].[Tour] FROM qry_tor_edit WHERE Tor = [Forms]![frm_tor_anzeigen]![Kombinationsfeld79] ORDER BY [Tour]; 

qry_tor_edit:
SELECT tbl_Main_Data.ID, tbl_Main_Data.Tor, tbl_Main_Data.Tour, tbl_Main_Data.basis, tbl_Main_Data.Abfahrt, tbl_Main_Data.Wochentag1, tbl_Main_Data.Anmerkung, tbl_Main_Data.Tag, tbl_Main_Data.Nacht, tbl_Main_Data.Gruppe
FROM tbl_Main_Data
WHERE (((tbl_Main_Data.Tor)=[Formulare]![frm_tor_anzeigen]![Kombinationsfeld79])) OR ((([Formulare]![frm_tor_anzeigen]![Kombinationsfeld79]) Is Null))
ORDER BY tbl_Main_Data.Tor, tbl_Main_Data.Wochentag1, tbl_Main_Data.Abfahrt;



Hätte den Code mit or probiert, hat aber leider nicht geholfen.

Danke!

Gruß

Dr.
Dr.Cornwallis
Dr.Cornwallis 18.01.2017 um 08:11:49 Uhr
Goto Top
Hab den Fehler gefunden, in der Abfrage qry_tor_edit in der WHERE Klausel:
SELECT tbl_Main_Data.ID, tbl_Main_Data.Tor, tbl_Main_Data.Tour, tbl_Main_Data.Zustellbasis, tbl_Main_Data.Abfahrt, tbl_Main_Data.Wochentag1, tbl_Main_Data.Anmerkung, tbl_Main_Data.Tag, tbl_Main_Data.Nacht, tbl_Main_Data.Gruppe
FROM tbl_Main_Data
ORDER BY tbl_Main_Data.Tor, tbl_Main_Data.Wochentag1, tbl_Main_Data.Abfahrt;

Gruß

Dr.