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 :-)
Hallo,
Du kannst direkt einen Filter setzen, dazu braucht es keine Abfrage.
Me.Filter ="hier Filterausdruck"
Me.FilterOn = TrueIm 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).
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.
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).
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.
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 = TrueIm Ereignis "Nach Aktualisierung" des Kombis für die Kostenart.
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
Hallo,
zeige bitte mal die Datenherkunft des Kombis (SQL). SELECT...... usw.
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?
Hallo,
zeigst Du im Kombi nur die Nummer der Kostenart an, wäre es nicht besser, auch die Bezeichnung anzuzeigen ?
Ja hab die Bezeichnung noch dazugenommen. Passt auch alles soweit. Wie gesagt, bräuchte nur Hilfe beim Filterzurücksetzen :-)
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.
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
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
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.
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.
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
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 ?
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.
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.