Access Listen- und Kombinationsfelder

Hallo,

mir wurde vor Tagen / Wochen schon mal geholfen.
Ich bin neu in Access eingestiegen und nun stehe ich vor einem Problem, welches ich gerade nicht lösen kann.

Ich habe diverse Tabellen, relevant werden hierfür wohl LIEFERANTENDATEN und EINGANGSRECHNUNGEN sein.
Ich habe darauf Formulare erstelle, welche mir bspw anzeigen, welche eingegangenen Rechnungen noch nicht bezahlt wurden.
Das klappt alles wunderbar, auch eine Sortierung nach diversen Kriterien klappt.
Nun möchte ich nur gerne ein ähnliches Formular erstellen, welches mir per Listen- oder Kombinationsfeld ( also durch Auswahl bspw. des Lieferantennamens ) alle eingegangenen noch nicht bezahlten Rechnungen von eben diesem anzeigt. Also nicht mehr alle nicht bezahlten, sondern nur noch alle von einem Lieferanten.

Und das bekomme ich nicht hin, auch nicht mit Hilfe des Buches welches ich habe. Ich möchte also per Pull Down Menü ( wenn das so heisst ) auf eine Abfrage ( die ja schon besteht ) nochmals filtern, nach einen bestimmten Lieferanten.

Würde mich über eine Hilfestellung sehr freuen
Grüße

Hallo.

Und das bekomme ich nicht hin, auch nicht mit Hilfe des Buches
welches ich habe. Ich möchte also per Pull Down Menü ( wenn
das so heisst ) auf eine Abfrage ( die ja schon besteht )
nochmals filtern, nach einen bestimmten Lieferanten.

Das bekommst Du hin, wenn Du nach der Auswahl die zugrunde liegende Abfrage aktualisierst. Der Befehl dafür lautet Requery.

Sei Dein Lieferanten-Auswahlfeld cof_Lieferant mit der Datenquelle SELECT Lieferant FROM tbl_Lieferant WHERE bla bla …. Die Rechnungen kommen aus einer Abfrage SELECT Rechnungen FROM tbl_Rechnung und stehen in cof_Rechnung (nur der Einfachheit halber).

Dann kannst Du folgendes tun :

Sub cof\_Lieferant\_Exit()
If ((cof\_LieferantNull) And (cof\_Lieferant0)) Then
 cof\_Rechnung.RowSource="SELECT Rechnungen FROM "+ \_
 "tbl\_Rechnung WHERE Lieferant="+ \_
 Str$(cof\_Lieferant)
 cof\_Rechnung.Requery
End If
End Sub

In dieser Einfachheit funktioniert das nur für Kombinations- und Listenfelder. Für andere Feldarten musst Du den Umweg gehen, die entsprechende Abfrage neu zu definieren … in jedem Fall sorgt Requery für die erneute Durchführung der zugrunde liegenden SQL. Die If-Klausel sorgt dafür, dass das Ganze nicht in den Wald läuft, wenn cof_Lieferant nicht bedient wurde.

Gruß Eillicht zu Vensre

danke erstmal !

nur an welches Ereignis binde ich den Code ?
Ich nehme an, NachAktualisierung des Kombinationsfeldes oder?
Und was ist in deinem Beispiel das cof_Rechnung, ist das der Name meiner Abfrage ?

Grüße

Holla.

nur an welches Ereignis binde ich den Code ?

Das Sub heißt doch Exit … wie wär’s damit? :wink:

Ich nehme an, NachAktualisierung des Kombinationsfeldes oder?

Kannst Du auch machen - nur wird der Code dann nicht ausgeführt, wenn Du nix änderst …

Und was ist in deinem Beispiel das cof_Rechnung, ist das der
Name meiner Abfrage ?

Das ist das zweite Kombinationsfeld - es wird vom ersten mit einem zusätzlichen Parameter für die SQL-Anweisung versorgt.

Gruß Eillicht zu Vensre

Hallo !

Danke nochmals für deine Antwort, allerdings befürchte ich, dass mir das zur Zeit noch zu hoch ist :frowning:
Ich habe es leider nicht verstanden.

Vielleicht würde es mir etwas helfen, wenn ich mal eine Stufe nach unten gehe, ich denke das Problem hängt damit zusammen.

Klingt eigentlich recht simpel, ich möchte über Monatszeiträume Berichte drucken, sagen wir nach Eingangsdatum der Rechnungen.
Da hakt es dann auch schon wieder bei mir, ich würde es am Liebsten per PullDown Menü machen, welchens mir die 12 Monate vorschlägt ( Wie berücksichtige ich das Jahr dabei ? )
Falls ich das Kombinationsfeld in einem Formular erstelle, muss ja der Wert an die Abfrage gegeben werden und das Formular aktualisiert werden. Das mache ich ja mit dem Befehl Requery.
Nur es steht ja in der zu Grunde liegenden Tabelle nur ein Datum, jedoch kein Monat, zumindest keiner in Textform.
Wie wähle ich aus einer Tabelle per Abfrage alle Datensätze eines bestimmten Monats aus ?

Hallo derdirk,

Wie wähle ich aus einer Tabelle per Abfrage alle Datensätze
eines bestimmten Monats aus ?

das Feld ändern in = month([xDatum])
bei den Kriterien dann den Monat als Zahl eintragen

xDatum = Name des Datumsfeldes

Grüße aus Essen
Wolfgang