Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

aktuelle Liste aller gesuchten Daten in Unterformular anzeigen





Frage

hallo.... ich bin blutiger Access-Anfänger und habe den Auftrag bekommen einen Datenbank für Büromöbel zu erstellen. Bei der Ausgabe der Datensätze habe ich schon folgendes realisiert. Ich habe 3 Kombifelder angelegt... wo man zur Sucheingrenzung die Kategorie (z.b. zwischen Büromöbel, Technik wählen kann) dementsprechend wird das 2. Kombifeld aktualisiert und zeigt nur noch die dazu passenden Auswahlmöglichkeiten an (bei Büromöbel zb. Stühle, Tische etc... und bei Technik z.B. Drucker) - genauso verfährt es mit dem 3. Kombifeld - wo man noch das Modell auswählen kann. Nun hatte ich folgendes geplant - aber scheitere bei der Ausführung :-( nachdem oben in den Kombifelder die Einschränkungen ausgewählt wurden - möchte ich gerne in einem Unterformular alle dazu passenden Einträge anzeigen lassen. wie gehe ich da am besten vor? hab halt kaum Ahnung von Programmierung :-(

Antwort 1 von oliverV

Hallo,

verwende in der Datenherkunft des UFO´s als einschränkendes Kriterium einen Formularverweis auf das jeweilige Kombifeld.
[Code]=[Formulare]![Dein_Formularname]![Kombifeldname]

Gehe nun in die Feldeigenschaften des 1. Kombifeldes, gehe zum Ereignis "NachAktualisierung" und öffne den VBA-Editor (3 Punkte am Ende der Zeile).
Verwende nun
[Code]Me.Unterformularsteuerelement_im_Hautformular.Requery[/Code]
um das UFO zu aktualisieren.
Wiederhole dies bei den anderen beiden Kombifeldern.

Gruß

Oliver

Antwort 2 von Chlodwig

hi,
DAnke für die Antwort... aber ich habe doch nur ein UFO - wie kann dann Verweise auf die jeweiligen Felder machen. Klngt bei deiner beschreibung für mich so - als ob ich 3 Datenherkünfte angeben muss... aber da kann ich doch garnicht. Oder?

=[Formulare]![Dein_Formularname]![Kombifeldname]
bei Dein_formularname - trage ich dann also den Namen des UFO ein?

was ist Unterformularsteuerelement?

sorry falls die Fragen bescheuert sein sollten :-)

Antwort 3 von oliverV

Hallo,

dein Unterformular hat eine Datenherkunft, verwende als Datenherkunft einen SQL-String (also keine Tabelle oder gespeicherte Abfrage); wenn du auf die drei Punkte am Zeilenende klickst öffnet sich das Abfragefenster (diese erstellte Abfrage wird direkt als SQL-String in der Datenherkunft des UFO gespeichert).

In der Datenherkunft verwendest du nun unter Kriterium des 1. Feldes den Formularverweis auf das ungebundene 1. Kombifeld im Formular mit:
 =[Formulare]![Dein_Formularname]![Kombifeldname]

(verwende deinen "richtigen" Formularnamen und deinen "richtigen" Kombifeldnamen).
In der gleichen Datenherkunft setzt du beim Kriterium des 2. Feldes einen Formularverweise auf dein 2. Kombifeld.
Und noch mal beim 3.

Nachdem du das Formular geöffnet hast, möchtest du ja die Datenherkunft des UFO verändern, indem du eine Auswahl mit den Kombifeldern triffst, d.h. das du das UFO aktualisieren musst (sprich die Abfrage wird erneut ausgeführt, wie beim Formularöffnen); dies realisierst du mit einem Requery.
Das "richtige" Ereignis ist "NachAktualisierung" des jeweiligen Kombifeldes, daher verwende dort in VBA:
 Me.Unterformularsteuerelement_im_Hautformular.Requery

Unterformularsteuerelement_im_Hautformular ist der Name des "UFO-Rahmens" im Hauptformular, nicht der Unterformularname (meistens sind diese allerdings identisch).

Ich hoffe, es ist jetzt für dich nachvollziehbarer, wenn du nicht weiterkommst, gleiches Angebot wie hier.

Gruß

Oliver