Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage als Filter für Formular

Begonnen von Mark77, April 11, 2024, 07:19:54

⏪ vorheriges - nächstes ⏩

Mark77

Hallo zusammen,

seit Tagen finde ich keine Lösung für ein vermeintlich einfaches Problem.

Auf einem Hauptformular habe ich 2 Unterformulare.
Die Unterformulare sind per "verknüpfen von/nach" miteinander verbunden.
Auf dem Hauptformular habe ich ein Kombinationsfeld das als Suchfeld benutzt wird.
Hiermit sollen Datensätze, die im Unterformular 1 stehen, gefiltert werden.

Wie kann ich die Abfrage "abfFilterSpedi", die lediglich aus 2 Feldern (1x ausgeblendet) besteht, als Filter für dieses Form einsetzen? Das Kriterium für die Abfrage ist das Kombifeld.

Irgendwie in dieser  Art.....
 Me!ufrmTransporte.Form.Filter = "ID_Transporte = " & abfFilterSpedi

In dieser Art benutze ich Filter für andere Formulare. Das funktioniert immer. Allerdings nie mit einer Abfrage.

Alle sonstigen Möglichkeiten der Filterung funktionieren nicht. Zumindest bekomme ich es nicht hin. :(
Die Datenquellen der Formulare sind in einer 1:n Beziehung.
Daher habe ich entweder das Problem, dass die Datensätze entsprechend ihrer Beziehung mehrfach angezeigt werden, oder ich die Daten im Formular nicht mehr ändern kann......

Meine Suchen im Netz und leider auch hier haben mir bisher keine Lösung beschert.

Vielen Dank für eure Hilfe.
LG

ebs17

sFilter = "ID_Transporte = (SELECT IDX FROM abfFilterSpedi)"Ein Feld (ID_Transporte) kann man jeweils nur gegen ein Feld einer Tabelle/Abfrage vergleichen.

Wenn Dir ein Abgleich Tabelle gegen Tabelle über mehrere Felder vorschwebt, müsstest Du  mehr auf JOIN-Operationen setzen. Das geht dann über übliches Filtern hinaus und läuft ein Neusetzen der gesamten Datenherkunft hinaus.
Mit freundlichem Glück Auf!

Eberhard

Mark77

Hallo Eberhard,

danke für Deine Antwort.
Wenn ich, als Test, direkt im Formular bei den Eigenschaften des Filters

ID_Transporte = 200 or ID_Transporte = 100

eintrage, dann werden mir die kompletten DS mit diesen IDs angezeigt.
Daher bin ich davon ausgegangen, dass ich auch eine Abfrage als Filter für die ID_Transporte verwenden kann.

Das Problem ist, dass ich im Ufrm2 eine Kundennummer habe. Mit dem Filter möchte ich alle Aufträge aus Ufrm1 anzeigen lassen, wo die Kundennummer (im UFRM2) vorhanden ist.

Vielleicht gibt es ja eine andere Lösung für dieses Problem.....

ebs17

Deine Fragen sind unklar.
200, 100 ... sind keine Abfrage über zwei Felder mit möglich mehreren Datensätzen, sondern einfach zwei Werte.

Wenn Du nach einer Kundennummer filtern möchtest, wieso bringst Du eine ID_Transporte ins Spiel.
Irgendwann sollte man über eine Abfrage nicht nur reden, sondern deren Definition zeigen (als Code/Text).

Zitatwo die Kundennummer (im UFRM2) vorhanden ist
EINE, oder mehrere (weil Abfrage)?
Mit freundlichem Glück Auf!

Eberhard

Mark77

Hallo Eberhard,
das eigentliche Problem liegt darin, dass ich einen Filter für ein Unterformular benötige.
Das mit der Abfrage als Filter war nur ein Versuch das Problem zu lösen....

Ich versuche es besser zu erklären:
Sie dürfen in diesem Board keine Dateianhänge sehen.

Jede Tabelle ist die Datensatzquelle für jeweils ein Unterformular (ufrmTransporte und ufrmAuflistungGeräte)
Beide sind auf dem selben Hauptformular (frmHauptseite).
Das Feld "Spedition" ist ein Zahlenfeld.
Auf dem frmHauptseite habe ich ein Kombifeld als Suchfeld.
Es müssen alle Aufträge im ufrmTransporte angezeigt werden, die die gesuchte Spedition im ufrmAuflistungGeräte enthalten.
Die angezeigten Datensätze müssen geändert werden können.

Genau hier liegt mein Problem, da die beiden Tabellen 1:n verknüpft sind.
Wenn ich eine Abfrage erstelle werden mir in der Tabelle ufrmTransporte immer so viele Datensätze angezeigt, wie Datensätze in ufrmAuflistungGeräte vorhanden sind.
Wenn ich nun die (Summen)"Funktion" der Abfrage auf "Gruppierung" ausführe, um die Duplikate zu entfernen, kann ich die Daten nicht mehr ändern.......

Hier komme ich nicht weiter....