Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: skip2mylou am Dezember 20, 2022, 12:45:35

Titel: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 20, 2022, 12:45:35
Hallo zusammen,

ich habe ein geteiltes Formular anhand einer Abfrage erstellt, möchte aber dieses Formular erst komplett angezeigt bekommen und nachträglich filtern. Im Vorfeld weiß ich, wie dies geht, in dem ich das Kombinationsfeld in der Abfrage als Kriterium setze und ein Requery setze. Aber nachträglich weiß ich es leider nicht und bräuchte bitte eure Hilfe :-)
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 20, 2022, 15:40:19
Hallo,
Du kannst direkt einen Filter setzen, dazu braucht es keine Abfrage.
Me.Filter ="hier Filterausdruck"
Me.FilterOn = True
Im Ereignis "Nach Aktualisierung" des Kombis. Die Abfrage darf dann kein Kriterium verwenden. Requery braucht man auch nicht.

Zeige bitte mal die Abfrage mit dem Kriterium (SQL Text).
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 21, 2022, 12:34:05
Hallo und Danke für die schnelle Rückmeldung.

Ich filter die Datensätze der Abfrage vor laden der Daten im Formularkopf nach Jahr und zusätzlich nach Monat:

In der Abfrage sieht das Kriterium dann so aus: [Formulare]![Korrekturbuchung]![Kombinationsfeld23]

Sobald die Daten nun angezeigt werden im Formular und in der Datensatzansicht (geteiltes Formular) möchte ich nun die Daten Filter anhand eines Kombinationsfeldes. Zum Beispiel Spalte Kostenstelle nach Kombinationsfeld_KST.
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 21, 2022, 12:44:03
Hallo,
verwirrende Angaben.
Zitat... nach Jahr und zusätzlich nach Monat
Du filterst nach Jahr und nach Monat, hast aber nur ein Feld als Kriterium.

Welcher Datentyp hat denn die Kostenstelle?
Wie heist das Kombi für die Kostenstelle?

Und noch mal die bitte:
ZitatZeige bitte mal die Abfrage mit dem Kriterium (SQL Text).



   
     

Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 21, 2022, 12:57:16
Sorry.

Also zwei Kombinationsfelder (Jahr und Monat) beide werden als Kriterium in der Abfrage abgegriffen Screenshot 2022-12-21 125157.png

Nach Auswahl Jahr und Monat im Formularkopf wird die Abfrage Abfrage.png

neu ausgeführt via Requery und die Daten sind ersichtlich. Nun möchte ich diese Daten filtern.

Beispiel Kostenarten als Kombinationsfeld mit allen relevanten Kostenarten füllen und dann das Ergebnis damit filtern.

Kostenarten und Kostenstelle sind vom Datentyp int.

Wahrscheinlich total simpel, aber bin kein Access Spezi.
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 21, 2022, 14:48:28
Hallo,
Du beantwortest nicht alle Fragen.
ZitatWie heist das Kombi für die Kostenstelle?

Zum Filtern der Kostenart:
Me.Filter = "Kostenart = " & Me.KombiKostenart
Me.FilterOn = True
Im Ereignis "Nach Aktualisierung" des Kombis für die Kostenart.


Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 21, 2022, 15:01:01
Hey,

super Danke! Das hat schon geholfen. Ist ja total easy ^^

Wie kann ich den Filter dann wieder zurücksetzen? Muss ich das über einen Button machen?
Also damit ich wieder alle Ergebnisse angezeigt bekomme nach Jahr und Monat ohne Filter Kostenart zum Beispiel
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 21, 2022, 15:28:45
Hallo,
zeige bitte mal die Datenherkunft des Kombis (SQL). SELECT...... usw.
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 21, 2022, 15:52:24
SELECT Kostenrechnung.Kostenart FROM Kostenrechnung ORDER BY Kostenrechnung.[Kostenart];

Funktioniert auch einwandfrei jetzt. Nur wie krieg ich den Filter wieder zurückgesetzt, sodass alle Daten angezeigt werden aus der Abfrage?
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 21, 2022, 17:41:42
Hallo,
zeigst Du im Kombi nur die Nummer der Kostenart an, wäre es nicht besser, auch die Bezeichnung anzuzeigen ?
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 22, 2022, 08:27:16
Ja hab die Bezeichnung noch dazugenommen. Passt auch alles soweit. Wie gesagt, bräuchte nur Hilfe beim Filterzurücksetzen :-)
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 22, 2022, 09:26:42
Hallo,
ich brauche noch die Abfrage wie sie jetzt aussieht, mit der Bezeichnung.
Ich brauche auch noch die Einstellungen des Kombis:
Spaltenzahl
Gebundene Spalte
Spaltenbreiten

Das Zurücksetzen läuft auch über das Kombi, aber um gezielt einen Vorschlag machen zu können, brauche ich diese Infos.
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 22, 2022, 09:42:39
Abfrage: SELECT DISTINCT Kostenrechnung.Kostenart, Kostenrechnung.dbo___EOG_Kostenarten.Bezeichnung FROM Kostenrechnung ORDER BY Kostenrechnung.Kostenart;

Spaltenanzahl: 2
Gebundene Spalte: 1
Spaltenbreite: 2,54cm;2,54cm
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 22, 2022, 10:15:29
Hallo,
eigenartige Abfrage für das Kombi.
Da dürfen nur die 2 Felder der Tabelle für die Kostenarten rein. Und ein Distinct darf hier nicht notwendig sein.
Zeige mal ein Bild des Beziehungsfensters
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 22, 2022, 11:00:06
Die Kombi verweist auf die Abfrage die das Formular nutzt. Und da greife ich nur die Kostenart und Bezeichnung ab. Die Kostenart kommt aber in der Abfrage öfter vor, weswegen ich für den Filter ein Distinct benutzt habe. Da ist auch noch ein weiteres Problem, dass der Filter sich nicht aktualisiert wenn die Abfrager neu aufgerufen wird, sprich das Jahr und Monat geändert wird.
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 22, 2022, 11:16:32
Hallo,
Die Abfrage für das Kombi ist falsch.
Hier ist nur die reine Tabelle für die Kostenarten zu verwenden. Dann braucht es auch kein Distinct.
Und noch mal die Bitte das Beziehungsfenster als Bild zu zeigen.
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 22, 2022, 11:29:33
Aber ich wollte ja nur die Kostenarten als Filter haben, die in der Abfrage auch auftauchen und nicht alle Kostenarten. Deswegen verweist das KOmbifeld auf die Abfrage und nicht auf die Tabelle Kostenart.

Screenshot 2022-12-22 112901.png

Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 22, 2022, 12:07:48
Hallo,
ZitatAber ich wollte ja nur die Kostenarten als Filter haben, die in der Abfrage auch auftauchen
Das hast du bisher nicht beschrieben, oder habe ich nicht erkannt. Aber mit der gezeigten Abfrage komme ich nicht klar.
Kannst Du bitte von dieser Abfrage auch mal ein Bild zeigen wie in #16.

Du hast immer noch kein Bild des Beziehungesfensters gezeigt. Das in #16 gezeigte Bild ist nicht das Beziehungsfenster sondern ein Bild der Abfrage mit den Verknüpfungen. Mit den Beziehungen hat das nichts zu tun. Beziehungen sind in einem extra Fenster anzulegen und für ein ordnungsgemäßes Funktionieren einer DB unerlässlich. Hast Du keine Beziehungen angelegt ?
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: skip2mylou am Dezember 22, 2022, 12:52:08
Hey,

die Daten kommen von einem SQL Server als Verknüpfte Tabellen.
Das ist die einzige Abfrage und damit wurde das Formular erstellt und der Filter ebenso.
Titel: Re: Abfrageformular nachträglich filtern per Kombinationsfeld
Beitrag von: MzKlMu am Dezember 22, 2022, 13:00:04
Hallo,
ZitatDas ist die einzige Abfrage
Das kann doch nicht sein, Du brauchst eine Abfrage für das Formular und eine Abfrage für die Datenquelle des Kombis, Du musst also 2 Abfragen haben.

Die Abfrage für das Kombi kann man man mit einer Unionabfrage um den Eintrag <Alle> erweitern und dann nach Auswahl von Alle den Filter zurücksetzen. Ich wollte Dir dazu einen konkreten Vorschlag machen, aber dazu bräuchte ich halt mal ein Bild der Abfrage für das Kombi.