Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Kundenverwaltung - Tanschule Paarweise auf einem Bericht

Begonnen von MisterMCBlinki, Mai 23, 2012, 17:40:05

⏪ vorheriges - nächstes ⏩

MisterMCBlinki

Hallo,

ich habe eine Kundenverwaltung für eine Tanzschule. (anbei ohne Kunden beigefügt)
Durch Hilfe und viele Stunden verstehen ist die Datenbank auch schon auf gutem Wege.

Nun mein Problem:

Bisher wenn ich Kurslisten ausdrucke, sotiert er die Kunden nach ID auf dem Bericht, wer aber miteinander tanzt steht in den meisten fällen jedoch nicht untereinander.

Wie stelle ich das am besten an?
Wie kann ich dafür sorgen, dass nicht jeder Kunde doppelt im bericht auftaucht?
Berichte mit Unter-Berichte hab ich bisher noch nie verwendet.


Eine Partnerzuordnung existiert bereits und diese Funktioniert auch.


[Anhang gelöscht durch Administrator]

database

Hallo,

du solltest deine Tabellenbeziehungen auf 1:n umstellen - undefinierte Beziehungen sind nicht gut!
Weiter fehlt in der DB die Beziehung zwischen tblKunden und tblPartnerzuordnung - natürlich hierbei auch das Tabellenalias nicht vergessen.

Also KundenID aus tblKunde mit Kunde0ID und KundenID aus Tabellenalias tblKunde_1 mit Kunde1ID in der tblPartnerzuordnung 1:n in beziehung setzen. (Häkchen bei referentieller Integrität setzen)

Für den Bericht müsste eine Abfrage in der Form:


SELECT tblKunde.Nachname, tblKunde_1.Nachname, tblPartnerzuordnung.Kurs_ID
    FROM tblKunde AS tblKunde_1
        INNER JOIN (tblKunde INNER JOIN tblPartnerzuordnung ON tblKunde.KundeID = tblPartnerzuordnung.Kunde0_ID)
        ON tblKunde_1.KundeID = tblPartnerzuordnung.Kunde1_ID;


die benötigten Daten liefern können.

HTH

MisterMCBlinki

Zitat von: database am Mai 24, 2012, 13:07:21
Hallo,

du solltest deine Tabellenbeziehungen auf 1:n umstellen - undefinierte Beziehungen sind nicht gut!
Weiter fehlt in der DB die Beziehung zwischen tblKunden und tblPartnerzuordnung - natürlich hierbei auch das Tabellenalias nicht vergessen.

Also KundenID aus tblKunde mit Kunde0ID und KundenID aus Tabellenalias tblKunde_1 mit Kunde1ID in der tblPartnerzuordnung 1:n in beziehung setzen. (Häkchen bei referentieller Integrität setzen)

Für den Bericht müsste eine Abfrage in der Form:


SELECT tblKunde.Nachname, tblKunde_1.Nachname, tblPartnerzuordnung.Kurs_ID
    FROM tblKunde AS tblKunde_1
        INNER JOIN (tblKunde INNER JOIN tblPartnerzuordnung ON tblKunde.KundeID = tblPartnerzuordnung.Kunde0_ID)
        ON tblKunde_1.KundeID = tblPartnerzuordnung.Kunde1_ID;


die benötigten Daten liefern können.

HTH

In der Tabelle TblPartnerzuordnung gibt es Daten, die gegen die Regeln für referenzielle Integrität verstößen.................................

MzKlMu

#3
Hallo,
Zitatdie gegen die Regeln für referenzielle Integrität verstößenquote
Dann ändere das Du hast in Du hast Zuordnungen getroffen mit Partnern die es nicht gibt.
Du kannst grundsätzlich davon ausgehen, dass Fehler im Tabellenaufbau oder Fehler in der Datenkonsistenz vorliegen wenn sich keine referentielle Integrität setzen lässt. Das solltes Du immer beseitigen/berichtigen. Und bevor das nicht berichtigt ist, gar nicht erst weitermachen.

PS:
Es ist überflüssig und verwirrt mehr als es nutzt komplette Beiträge zu zitieren.
Gruß Klaus