Access 07: erweiterte Formularfunkt. (Querverweis)

Hallo,

vorerst zur Struktur der DB: Es geht um eine Cocktaildatenbank. Im Moment dreht es sich um die Zutaten und deren Eigenschaften.

In einer Tabelle zutaten werden sämtliche Flüssigkeiten aufgelistet, die „existieren“. Neben dem Namen, wie O-Saft, steht hier der Alkoholgehalt und die eindeutige „ID“.

In einer Tabelle Rezepe werden nur die eigentlichen Rezeptnamen und deren Bewertungen zwischengespeichert - und auch hier die eindeutige „ID“

Und in der Tabelle Rezept-Zutaten werden beide Werte schließlich vereint, anhand Rezept_ID und Zutat_ID.

Ich habe also ein Formular mit mehreren Elementen angelegt, das mir erstmal sämtliche Zutaten auflistet.

Problem 1: In einem Listenfeld oberhalb des Formulars möchte ich nun das Rezept „So-und-So“ auswählen. Das Formular soll dann _nur_ die rezept_zutaten zu diesem Rezept anzeigen. Ich denke dazu muss ich das Ereignis „bei Änderung“ mit einem VBScript belegen - nur wie genau?

Problem 2: In der Liste des Formulars stehen nun die Zutaten im Klartext in einem Listenfeld. Die Verbindung ist auch relativ simpel. Nur will ich aber auch, dass in einem zweiten Textfeld der zugehörige Alkohol-Wert angezeigt wird. Also quasi ein Abfrage wie folgende:

SELECT ingredients.ID, ingredients.ingredient, ingredients.alcohol
FROM ingredients
WHERE (((ingredients.ID)=6));

(Die 6 erstmal nur zu Testzwecken, um die Filterung überhaupt zu erreichen)

Nur funktioniert die ABfrage alleine nicht in dem Textfeld… was muss ich noch machen?

Ich danke euch vielmals,

bye

Hallo bye,

Ich habe also ein Formular mit mehreren Elementen angelegt,
das mir erstmal sämtliche Zutaten auflistet.

definiere genauer: Elemente

Problem 1: In einem Listenfeld oberhalb des Formulars möchte
ich nun das Rezept „So-und-So“ auswählen.

siehe dazu hier die FAQs

Das Formular soll dann _nur_ die rezept_zutaten zu diesem Rezept anzeigen. Ich denke dazu muss ich das Ereignis „bei Änderung“ mit einem VBScript belegen - nur wie genau?

du musst erst mal ein UFO anlegen. Dieses enthält die Abfrage REZEPT-ZUTATEN verbunden mit Zutaten

VBA ist dafür nicht nötig (der Code für die Suche wird automatisch vom Assistenten erzeugt)

Problem 2: In der Liste des Formulars stehen nun die Zutaten
im Klartext in einem Listenfeld.

Listenfeld = falsch
UFO = richtig

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang

Elemente heisst: Textfelder, die mit dem entsprechendem Feld der Datenbank verknüpft sind. Ich hab es jetzt aber hinbekommen. So wie du sagst, hab ich das UFO angelegt, was nicht das Problem war. Problematisch war die Idee, dass ich das Kombofeld, in dem die Rezepttitel mit „me.refresh“ belege, damit das Unterformular entsprechend aktualisiert wird.

Danke für deine Antwort,

Grüße aus Berlin

Hi,

wie wärs, wenn du einfach nur die Formulare verknüpfst und dann anstatt einem Kombofeld oben dann per Suchen Button das Rezept raussuchst?

Wenn du das unbedingt mit VBA machen willst musst du z.B. eine Variable mit deiner ID belegen und dann mit Recordset.FindFirst glaube den Datensatz suchen lassen (damit hatte ich persönlich aber bisher noch keine Erfolg… :stuck_out_tongue: )

MfG
Philipp K.

Hallo Philipp,

ein Suchfeld wäre aber für den Anwender nicht komfortabel genug, deswegen habe ich die Kombobox gewählt, was jetzt aber auch ganz gut funktioniert.