Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Beziehung zwischen Tabellen erzeugt keine neue ID in der Vermittlungstabelle

Begonnen von KonradR, Oktober 07, 2023, 09:18:34

⏪ vorheriges - nächstes ⏩

KonradR

Hallo liebe Accessfreunde,

ich habe die Beziehungen meiner Datenbank noch mal angeschaut und festgestellt, dass hier für die Tabelle "tblEinkaufsliste" keine neue "einkaID" erzeugt wird, wenn ich in der Tabelle "tblMahlzeit" einen neuen Datensatz mit gleichem Rezept aus der Tabelle "tblRezept" anlege. Genau das wünsche ich mir aber. Und hier stoße ich auf folgende Herausforderung:
  • - Es soll in der Tabelle "tblMahlzeit" für mehrere Datensätze, das gleiche Rezept mehrfach ausgewählt werden können.
  • - Die Zutaten für ein Rezept sind immer gleich.
  • - Rezept und Zutaten gehören zusammen.
  • - Wenn ein Rezept in der Tabelle "tblMahlzeit" mehrfach vorkommt, sollen auch die Zutaten in der Tabelle "tblEinkaufsliste" mehrfach vorkommen.
     
Die Punkte 1 bis 3 funktionieren super. Leider wird in der Einkaufsliste kein neuer Datensatz erzeugt, wenn ich in der Tabelle "tblMahlzeit" einen neuen Datensatz erzeuge und das gleiche Rezept mit den gleichen zugeordneten Zutaten noch mal auswähle. Wie kann ich die Punkte 1 bis 4 gleichzeitig umsetzen? Anbei habe ich einen Ausschnitt aus meinem Beziehungsfenster beigefügt:
Sie dürfen in diesem Board keine Dateianhänge sehen.

MzKlMu

Hallo,
ich denke, die Beziehungen sind so nicht richtig.
Der Fremdchlüssel der Zutaten gehört in das Rezept, was auch logisch ist, denn das Rezept beinhaltet die Zutaten. Auch die Einheiten gehören in das Rezept, doch nicht in die Einkaufliste. Ebenso die Zutatmenge. Die Einkaufsliste entsteht dann aus dem Rezept.
Was ist denn die rezepMenge, die Personenzahl ?

ZitatLeider wird in der Einkaufsliste kein neuer Datensatz erzeugt, wenn ich in der Tabelle "tblMahlzeit" einen neuen Datensatz erzeuge
Das geht nicht automatisch, das geht nur über Formulare (Hafo-Ufo). Die Formulare müssen von Dir entsprechend gestatet werden. Über Verknüpfen von/nach wird dann der Fremdschlüssel eingetragen.

Das ganze Datenmodell muss noch mal auf den Prüfstand.
Gruß Klaus

ebs17

ZitatDer Fremdchlüssel der Zutaten gehört in das Rezept
Strenger genommen braucht man zwischen Rezept und Zutat eine m:n-Beziehung, oder wollte man in Folge für jedes Rezept das Salz einzeln einkaufen?
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

Hallo,
streng genommen hat Eberhard recht  :) . Das habe ich übersehen. Im Grunde ist die jetzige Einkaufsliste diese n:m Tabelle, mit einem FS zur Zutat und einem FS zum Rezept und einem FS zur Einheit. Aus dieser n:m Tabelle entsteht dann erst die Einkaufliste.
Die Einheit gehört aber mMn in die Tabelle der Zutaten.

Hier gibt es am Datenmodell noch viel zu tun.

Nachtrag:
Die Einkaufsliste hat auch mit dem Rezept nichts zu tun, denn in die Einkaufsliste sollten die Kaufmengen und nicht die Rezeptmengen.
Wenn Du für ein Rezept 300 gr. Zucker brauchst kaufst Du ja keine 300 gr. ein, sondern z.B. 1 Kg. Das heist, Die Mengen für den Einkauf unterscheiden sich von den Mengen für das Rezept. Oder Du hältst die Einkaufsliste allegemein (Zucker, Mehl, ....) also ohne Mengenangaben.
Gruß Klaus

KonradR

Hallo MzKlMu,

Zitat von: MzKlMu am Oktober 07, 2023, 13:09:25Im Grunde ist die jetzige Einkaufsliste diese n:m Tabelle, mit einem FS zur Zutat und einem FS zum Rezept und einem FS zur Einheit. Aus dieser n:m Tabelle entsteht dann erst die Einkaufliste.
Wenn ich das von dir Geschriebene richtig deute, dann liegt meine Tabelle "tblEinkaufsliste" schon so vor.

Zitat von: MzKlMu am Oktober 07, 2023, 13:09:25Die Einheit gehört aber mMn in die Tabelle der Zutaten.
Ok. Nur will ich die Mengenangaben in der Einkaufsliste haben. Die Tabelle für die Zutaten ist doch eine Nachschlagetabelle. Das würde doch dann die Mengenangaben aller Datensätze zu der einen Zutat aus der Nachschlagetabelle ändern, wenn ich mich nicht irre.

Zitat von: MzKlMu am Oktober 07, 2023, 13:09:25Die Einkaufsliste hat auch mit dem Rezept nichts zu tun, denn in die Einkaufsliste sollten die Kaufmengen und nicht die Rezeptmengen.
Vorher hast du doch geschrieben, dass die Tabelle tblRezepte über einen Fremdschlüssel in die Tabelle tblEinkaufslistee eingebunden werden soll. Dann hätte sie doch was mit der Tabelle tblEinkaufsliste zu tun. Oder verwechsle ich da was? Die Rezeptmengen geben ja an, für wie viele Personen das Gericht gedacht ist und danach richtet sich ja auch die Menge der Zutaten. Wenn ein Rezept für 2 Personen gedacht ist, darf ich ja auch für 2 Personen einkaufen.

Zitat von: MzKlMu am Oktober 07, 2023, 13:09:25Wenn Du für ein Rezept 300 gr. Zucker brauchst kaufst Du ja keine 300 gr. ein, sondern z.B. 1 Kg. Das heist, Die Mengen für den Einkauf unterscheiden sich von den Mengen für das Rezept. Oder Du hältst die Einkaufsliste allegemein (Zucker, Mehl, ....) also ohne Mengenangaben
Das stimmt. Wenn ich 300g Zucker brauche, es den Zucker aber nur in 1 kg Packungen gibt, dann würde ich natürlich die 1 kg Packung kaufen.

MzKlMu

Hallo,
Du brauchst eine Rezeptliste und eine Einkaufsliste. Wie sonst willst Du die Mengen für die Zubereitung und die Mengen für den Einkauf unterscheiden ? Du brauchst 300 gr. Mehl für die Zubereitung, aber einkaufen musst/willst Du 1 Kg. Wie willst Du das jetzt unterscheiden ?

Wenn Du das geklärt hast, machen wir weiter.
Gruß Klaus

markusxy

Zitat von: KonradR am Oktober 08, 2023, 08:31:58Wenn ich 300g Zucker brauche, es den Zucker aber nur in 1 kg Packungen gibt, dann würde ich

Bedeutet aber auch, dass es ein Lager gibt und dann muss das theoretisch beim Bestellen berücksichtigt werden.
Weiß jetzt nicht ob das ein reines Übungsprojekt ist, oder ob es irgend etwas mit der Realität zu tun haben soll.
Wenn das aber z.B. eine Küche oder Kantine sein soll, dann wird man auch sicher nicht ein Kilo kaufen, sondern eben ganz andere Mengen.

KonradR

Hallo MzKlMu,

Zitat von: MzKlMu am Oktober 08, 2023, 12:33:41Du brauchst eine Rezeptliste und eine Einkaufsliste. Wie sonst willst Du die Mengen für die Zubereitung und die Mengen für den Einkauf unterscheiden ?

Absolut. Ich brauche eine Rezeptliste und eine Einkaufsliste. In der Einkaufsliste sollen ja die einzelnen Zutaten erfasst und am Ende mit einer Gruppierungsabfrage, beruhend auf der Einkaufsliste (tblEinkaufsliste) für die Zutaten, zusammengefasst werden. Dann habe ich die Gesamtmenge für den Zeitraum den ich in der Abfrage betrachte. Mit diesem Ergebnis gehe ich dann in den Laden und kaufe mir dann so viel von dieser Zutat ein, dass die gruppierte Menge abgedeckt ist. Die Darstellung habe ich jetzt im Formular übrigens so hinbekommen, wie ich wollte:
Sie dürfen in diesem Board keine Dateianhänge sehen.

Und in der Einkaufsliste wird jetzt auch für jede Zutat ein neue Datensatz angelegt. Auch wenn das gleiche Rezept im Zeitraum noch mal vorkommt. Hier meine angepasste Beziehungsstruktur dazu:
Sie dürfen in diesem Board keine Dateianhänge sehen.