Die ID…_F sind jeweils der Fremdschlüssel zu der jeweiligen ID…
Die Aufgabe ist nun alle Rezepte zu listen, die eine Zutat mit LIKE „*Suchwort*“ enthalten.
Wenn ich aber tblZutaten.Zutat in die Abfrage mit aufnehme, dann bekomme ich (logischerweise) jedes Rezept x-Mal in der Abfrage (für jede Zutat einmal).
Wie umgehe ich das?
Hallo,
ich verstehe dein Problem nicht wirklich. Wenn ich auf einen bestimmten Suchtext filtere (also z.B. like „*eier*“ dann bekäme ich ja nur dann das Rezept mehrmals aufgelistet, wenn es mehr als eine Zutat gäbe die „*eier*“ enthält. Dies ließe sich aber wie folgt verhindern: In der Entwurfsansicht der Abfrage auf das Icon Abrageeigenschaften klicken und dort neben ‚keine Duplikate‘ ja auswählen. Weiters muss du nun nur noch das Feld tblRezepte.Titel ausblenden (Anzeigehäkchen entfernen). Sollte dir meine Erklärung nicht genügen, so kann ich ja eine Beispieldatenbank basteln und dir senden.
probier mal das DISTINCT oder DISTINCTROW Schlüsselwort aus (erklärt in der Online-Hilfe zu Access), dann erhältst Du nur eindeutige Datensätze zurück.
das Ganz kann man nur mit einer Pivottabelle umgehen, die würde dann die
Verlinkungen der Zutaten zu einem Rezept in Spalten schreiben können.
Alternativ kann man auch gruppieren anklicken und bei Zutat so etwas wie
ersterWert oder LetzterWert angeben, dann wird aber nur eine Zutat angezeigt.
In einem Bericht kann man das Ganze dann wieder ganz schick machen, in dem man
diesen wie eine Abfrage Zeileweise aufbaut, aber in den Werten von Rezept ein
„doppelte Ausblenden“ anhakt, dann sieht es wieder gut aus, z.B. so:
Du musst über „Rezepte“ in der Abfrage gruppieren, so tritt
jedes gefundene Rezept nur einmal auf.
Arbeite ich dran. Hab noch ein paar Probleme mit
‚Aggregatfuntionen‘
Bei einer Gruppierung über „Rezept“ kann die Abfrage für „Zutat“ keinen sinnvollen Wert mehr zurückgeben, da es ja mehrere zutreffende Einträge geben könnte. Du könntest höchstens die „Anzahl“ der Zutaten je Rezept ausgeben, auf die der Suchbegriff passt. Scheint mir aber wenig hilfreich - Hauptsache ist doch der erfolgreiche Rezeptfund, oder?
Aber bitte nur die Felder aufnehmen die
für das Ergebnis wichtig sind.
Wie mache ich das? Wenn ich auf „Summen“ klicke, dann
übernimmt er die Gruppierung automatisch für alle Spalten.
Nur die Felder aufnehmen, die für das Abfrageergebnis wichtig sind. Keine * Auswahl, sondern die Felder per Doppelklick in den QBE-Bereich übernehmen und dann die Summenfunktion aktivieren. Im Kriterien Bereich das Suchkriterium eingeben.
Hallo,
deine Antwort bricht leider (siehe unten) plötzlich ab.
Was wolltest noch sagen ?
lG R.
Jetzt wird logischerweise der Titel auch nicht mehr angezeigt.
Ich suche eine Möglichkeit bei der nur Duplikate in einer Spalte (ID_Rezepte) ausgeblendet werden. Die anderen Spalten (in der original-DB sind es noch ein paar mehr) dürfen Duplikate enthalten (und sollen auch angezeigt werden).
Wenn ich aber tblZutaten.Zutat in die Abfrage mit aufnehme, dann bekomme ich (logischerweise) jedes Rezept x-Mal in der Abfrage (für jede Zutat einmal). Wie umgehe ich das?
hast du es mal so probiert?
SELECT tblRezepte.Titel, tblZutaten.Zutat FROM (tblRezepte
INNER JOIN tblRezepteZuZutaten ON tblRezepte.id_rezepte = tblRezepteZuZutaten.id_rezepte_f)
INNER JOIN tblZutaten ON tblRezepteZuZutaten.id_zutaten_f = tblZutaten.id_zutaten WHERE tblZutaten.Zutat Like „*Suchwort*“;