Seite 1 von 1

Parameterabfrage mit mehreren Parametern aus einem Feld

Verfasst: Mi, 14.01.2015 06:36
von mimimaus
Liebe Community,

als absoluter Datenbank-Nuller habe ich beschlossen, mir eine hübsche Rezeptdatenbank zu basteln. Man wächst ja mit den Aufgaben :-)

Nach vieltägiger und -nächtlicher Recherche ist es mir gelungen, ein entsprechendes Formular zu basteln, das alles kann um ein neues Rezept so einzugeben wie ich das gern hätte.

So weit, so super. Nun aber zu meinem Problem: Ich möchte eine Abfrage gestalten, in der ich verschiedene Zutaten eingeben kann und die mir dann die möglichen Rezepte ausgibt.
Zb: ich habe Tomaten, Zwiebel und Lachsfilets zu Hause- welche Rezepte sind damit machbar?

Mit einer Zutat funktioniert das schon wunderbar, aber leider weiß ich nicht, wie ich mehrere Zutaten ausgeben kann. Wenn ich in die Abfrage ein zweites Zutatenfeld mit dem Parameter Zutat2 gebe, bleibt die Ausgabe leer :-(

Zur Veranschaulichung gibts mein Wunderwerk als Anlage. Ich hab jetzt 2 Tabellen, die keine Beziehung haben und das ganze funktioniert trotzdem...

Bin euch für jeden Hinweis dankbar!!

Weiterführende Fragen:
- Das ganze soll dann auch mal ein komplettes Kochbuch ergeben: das funktioniert dann über einen Bericht, oder?
- Eine Abfrage/Ausgabe nach Kategorie (= Vor-, Haupt-, Nachspeise, etc) sollte dann ja auch machbar sein. Wird das dann ein Formular oder Bericht über eine entsprechende Abfrage?

DANKE, DANKE, DANKE im Voraus!

LG die Mimimaus

Re: Parameterabfrage mit mehreren Parametern aus einem Feld

Verfasst: Mi, 14.01.2015 13:30
von RobertG
Hallo Mimimaus,

Du hast bisher keine bracubare Verbindung zwischen den Tabellen. Das würde ich zuerst realisieren, bevor ich mich daran mache, entsprechende Suchfunktionen ein zu bauen. Dennnoch zuerst zur Suche:

Code: Alles auswählen

SELECT "Zutat", "Menge", "Einheit" FROM "Zutaten" WHERE "Zutat" = :qZutat OR "Zutat" = :qZutat2
Mit OR bekommst Du entsprechend die Datensätze angezeigt, auf die die Bedingungen im gleichlautenden Feld auch zutreffen können. Verbindest Du das mit AND, so wirst Du nur bei gleichlautenden Eingaben Treffer erzielen.

Deine Datenbank muss eigentlich eine besser Verbindung der Tabellen haben. So schreibst Du in der Tabelle "Zutaten" die Zutaten ohne weiteres mehrmals hintereinander auf. "Eier" komme z.B. mehrmals vor. Es gibt viele Zutaten, die in mehreren Rezepten vertreten sind. Es gibt auch wohl kein Rezept, in dem nicht mehrrere Zutaten vertreten sind. Das Ganze ist eine n:m-Beziehung. Da gehört eine Tabelle zwischen die beiden vorgesehenen Tabellen, die den Primärschlüssel der Tabelle "Rezepte" und den der Tabelle "Zutaten" als Fremdschlüssel hat. Die können zusammen auch Primärschlüssel dieser Verbindungstabelle sein. Da gehören dann auch die Mengen der Zutaten rein.

Gruß

Robert