Supportnet / Forum / Datenbanken
Filter zum Unterformular
Frage
Hallo
Ich versuche aus meinem Hauptformular heraus einen Filter auf mein Unterformular zu setzen. Und zwar soll das ganze bei mir nach Jahren aufgeteilt werden.
Ich habe also mein Textfeld im Hauptformular, in dem ich mein 'Suchjahr' eingebe. Beim Ereignis 'Nach Aktualisieren' haben ich dann im VBA:
Me.Filter = "Formulare![Länder1Umsatz]![FormLänderUmsätze].Formular![VKJahr] like '" & Me.suchjahr & "'"
Me.FilterOn = True
Bei mir filtert der aber gar nix. Spreche ich das Feld falsch an?
Bin für jede Hilfe dankbar.
Greetz
A
Antwort 1 von El Bobbele
Hallo Alabama!
Du filterst das Hauptformular, nicht das Unterformular. Ausserdem ist die Bedingung nicht richtig formuliert.
Gruss
El Bobbele
Du filterst das Hauptformular, nicht das Unterformular. Ausserdem ist die Bedingung nicht richtig formuliert.
With Me!FormLänderUmsätze.Form
.Filter = "VKJahr = '" & Me.suchjahr & "'"
.FilterOn = True
End WithGruss
El Bobbele
Antwort 2 von Alabamba
Gibt es denn eine Möglichkeit, wie ich aus dem Hauptformular heraus das Unterformular filtere?
A
A
Antwort 3 von El Bobbele
Hallo Alabama!
Das hatte ich doch beschrieben. Aus deinen Ausführungen entnehme ich, dass dein Hauptformular "Länder1Umsatz" heisst, das darin enthaltene Unterformular heisst "FormLänderUmsätze". Wenn dem so ist, dann füge meinen Code in das von dir genannte Ereignis ein, dann sollte es schon laufen.
Die Filtereigenschaft muss eine SQL-Bedingung ohne das Schlüsselwort WHERE enthalten. Die lange Bedingung in deinem Eingangsbeitrag ist demnach nichts anderes als "EinLangerFeldnameDerInDerTabelleDesUnterformularsNichtVorkommt=" & Me.suchjahr
Gruss
El Bobbele
Das hatte ich doch beschrieben. Aus deinen Ausführungen entnehme ich, dass dein Hauptformular "Länder1Umsatz" heisst, das darin enthaltene Unterformular heisst "FormLänderUmsätze". Wenn dem so ist, dann füge meinen Code in das von dir genannte Ereignis ein, dann sollte es schon laufen.
Die Filtereigenschaft muss eine SQL-Bedingung ohne das Schlüsselwort WHERE enthalten. Die lange Bedingung in deinem Eingangsbeitrag ist demnach nichts anderes als "EinLangerFeldnameDerInDerTabelleDesUnterformularsNichtVorkommt=" & Me.suchjahr
Gruss
El Bobbele
Antwort 4 von Alabamba
Jetzt meldet sich leider der Debugger mit:
Laufzeitfehler 2001;
'Sie haben die vorherige Operation abgebrochen.' Und er markiert die Zeile .filteron = "VKJahr =...
...
S......!!!!
Ich wähle im Hauptformular mein Land. Das UForm ist daran gebunden. Es zeigt also nur das Land an, welches ich oben aussuche. Wenn ich jetzt den Filter benutze, will er mir auch die Daten der anderen Länder anzeigen und da entsteht ein Konflikt... glaube wenigstens das das so ist. Bin bis jetzt aber auch noch nicht dahinter gekommen, wie ich das umgehen kann.
Ansonsten funktioniert das with ...
Danke!
Falls mir jetzt noch jemand helfen kann ... immer gern.
Ala
Laufzeitfehler 2001;
'Sie haben die vorherige Operation abgebrochen.' Und er markiert die Zeile .filteron = "VKJahr =...
...
S......!!!!
Ich wähle im Hauptformular mein Land. Das UForm ist daran gebunden. Es zeigt also nur das Land an, welches ich oben aussuche. Wenn ich jetzt den Filter benutze, will er mir auch die Daten der anderen Länder anzeigen und da entsteht ein Konflikt... glaube wenigstens das das so ist. Bin bis jetzt aber auch noch nicht dahinter gekommen, wie ich das umgehen kann.
Ansonsten funktioniert das with ...
Danke!
Falls mir jetzt noch jemand helfen kann ... immer gern.
Ala
Antwort 5 von Alabamba
Hat nix mit dem gebunden sein zu tun.
Ala
Ala
Antwort 6 von mapet
Hallo
wenn gar nichts mehr hilft DB per .zip an mich
mapet
wenn gar nichts mehr hilft DB per .zip an mich
mapet
Antwort 7 von Alabamba
Habe jetzt einfach ein zweites UForm mit den Jahren angelegt und da die Daten aus dem ursprünglichen UForm aus einer Abfrage stammen, in der Sparte 'VKJahre' einfach das Kriterium
[Formulare]![HForm]![UForm]![VKjahr]
gesetzt. Jetzt klappt es.
Greetz
Ala
[Formulare]![HForm]![UForm]![VKjahr]
gesetzt. Jetzt klappt es.
Greetz
Ala

