Wie Bestell Nr. mehrer Artikeln zu ordnen?

Guten Tag,

ich habe folgendes Problem:

Ich habe eine Tabelle mit Kunden, Artikel und Bestellungen.

Mein Problem besteht darin, dass wenn ein Kunde einen Artikel kauft er eine Bestell Nr. erhält, bestellt er einen 2. Artikel bekommt eine andere Bestell NR.

Wie kann ich das Problem so lösen, dass der Kunde wenn er 2 oder mehrer Artikel bestellt, nur 1 Bestell Nr. erhält?

Danke schonmal für eure Antworten,

Gruß,
KANG

Moin,

Ich habe eine Tabelle mit Kunden, Artikel und Bestellungen.

und eine Tabelle: Bestellungen_Artikel

Kunden -> Bestellungen -> Bestellungen_Artikel

Moin, Kang,

bestellt er einen 2. Artikel
bekommt eine andere Bestell NR.

wer legt denn die zusätzliche Bestellnr an?

Zeig mal die Beziehungen zwischen den Tabellen.

Gruß Ralf

Das mit der Tabelle ergibt natürlich Sinn! Ich stelle morgen mal sicherheitshalber ein Bild von den Beziehungen hoch.

Vielen Dank,
KANG

[IMG][http://i68.photobucket.com/albums/i38/Vro_822/m.jpg

Hiermal die Beziehungen

http://s68.photobucket.com/albums/i38/Vro_822/?actio…

Hi!

http://s68.photobucket.com/albums/i38/Vro_822/?actio…

Es fehlt noch die Tabelle Bestellung, deren bestell_id Primärschlüssel ist und noch Daten wie Kunden_ID, Versandart_ID, Zahlungsart_ID, usw enthält, also die allegemeinen Daten zu EINER Bestellung.

In der Tabelle Bestellt_Artikel sind im einfachsten Fall nur noch Bestell_id, Artikel_ID und Menge drinnen; je nachdem, was noch alles für einen Artikel extra gewählt werden kann, diese Daten auch noch - wenn z.B. für mehrere Artikel einer Bestellung verschiedene Versandarten gewählt werden können, ist auch noch die Versandart_ID drinnen usw.

Eine klassische n:m-Beziehung.

Grüße,
Tomh

Also jetzt hab ich wirklich schwierigkeiten das ganze nachzuvollziehen.

Hier nochmal die aktuelle Beziehungstabelle, Versandart hab ich jetzt mal einfach rausgenommen.

http://s68.photobucket.com/albums/i38/Vro_822/?actio…

Leider komm ich noch immer nicht drauf, ich hab förmliche denkblockaden, wobei ich mir sicher bin das es eigentlich ganz einfach ist.

Mein Problem jetzt ist das ich anzeigen kann wann die Bestellung war, aber ich dann sozusagen nicht die Bestelldetails anschauen kann.

Habs jetzt doch mit bisschen nachdenken hinbekommen.

Vielen Dank für eure Hilfe! :smile:

Gruß,
KANG

Zu früh gefreut!

Also wenn ich jetzt auf Kunde geh, dort auf Bestellung und dann auf Bestelldetails, sprich Bestell_Artikel Tabelle, dann werden mir alle Bestellungen angezeigt und nicht nur die zu einer Bestell_ID.

Hier Beziehungen:

http://s68.photobucket.com/albums/i38/Vro_822/?actio…

Und das eigentliche Problem:

http://s68.photobucket.com/albums/i38/Vro_822/?actio…

Hoffe es wird klar was das Problem ist.

Gruß,
KANG

http://s68.photobucket.com/albums/i38/Vro_822/?actio…

Hi!

http://s68.photobucket.com/albums/i38/Vro_822/?actio…

Auf die Schnelle:
Produkt zu Bestellposition muss genauso wie Bestellung zu Bestellposition eine 1:n-Beziehung sein.

Genauso wie sie bei Dir z.B. zwischen Kategorie und Produkt ist.

Siehe nach unter http://de.wikipedia.org/wiki/Master-Detail-Beziehung

Grüße,
Tomh

Daten sauber modellieren
Moin, Kang,

das Datenmodell weist ein paar Schwächen auf, das solltest Du erstmal geradeziehen.

Fang mit der Benamsung an: Bestellkopf statt Bestellungen, Bestellposition statt Bestelldetails.

Die Kunden_Id hat in der Bestellposition nichts verloren, weil alle Positionen zu einem Bestellkopf gehören. Nur dort ist der Kunde vermerkt. Desgleichen gilt fürs Datum, es sei denn, die Applikation müsste wirkllich wissen, wann die Bestellposition erfasst wurde - äußerst unwahrscheinlich.

Der Schlüssel kandidat für die Bestellposition besteht aus Bestellkopf_Id und einer Artikelnummer. Als Schlüssel würde ich dennoch einen simplen Autowert bevorzugen, das macht das (Beziehungs-)Leben einfacher.

Als nächstes kläre, was Produkt überhaupt ist, da passt der Schlüssel nicht zum Namen - Kategorie würde ich niemals in den Schlüssel aufnehmen.

Gruß Ralf

Guten Tag.

Ralf hat schon recht: Mit dem Datenmodell steht und fällt die ganze Applikation. Die Beziehungsdefinition kann ich leider nicht (mehr?) einsehen, also hier der Klüngel einigermaßen komplett.

Ich habe eine Tabelle mit Kunden, Artikel und Bestellungen.

Du hast x Kunden, jeder Kunde kann y mal bestellen, jede Bestellung kann z Positionen haben.

**tbl\_Kunde\_Stamm**
pky\_Kunde\_Stamm: AutoWert, Primärschlüssel
... blablabla ...

**tbl\_Artikel\_Stamm**
pky\_Artikel\_Stamm: AutoWert, Primärschlüssel
... blablabla ...

**tbl\_Bestellung\_Kopf**
pky\_Bestellung\_Kopf: AutoWert, Primärschlüssel
fky\_Bestellung\_Kopf\_Kunde: Long Integer, Beziehung zu tbl\_Kunde\_Stamm n:1
... blablabla ...

**tbl\_Bestellung\_Position**
pky\_Bestellung\_Position: AutoWert, Primärschlüssel
fky\_Bestellung\_Position\_Kopf: Long Integer, Beziehung zu tbl\_Bestellung\_Kopf n:1
fky\_Bestellung\_Position\_Artikel: Long Integer, Beziehung zu tbl\_Artikel\_Stamm n:1
... blablabla ...

Ich würde noch dringend empfehlen, die Kundenadressen vom -Stamm, die Artikelpreise vom -Stamm zu trennen und die Beziehungen mit RI zu versehen.

GEK