Mehrere Tabellen auf der n-Seite einer Beziehung in Abfrage aufnehmen - geht das ?

22/03/2010 - 12:40 von NicoN | Report spam
Hi NG,
wahrscheinlcih ein alltàgliches Problem, aber ich habe wieder einmal keine
Lösung dafür.

Ich versuche mal ein einfaches Szenario zu erstellen:

tbl_Auftraege enthàlt einen autowert als PrimaryKey

tbl_Termine enthàlt neben einem Datumsfeld einen long-Wert AuftragNr
tbl_Rechnungen enthàlt einen Betrag, ein textfeld für Kommentare und
ebenfalls einen long-Wert

Beide Tabellen (tbl_termine und tbl_Rechnungen) sind per 1:n Verknüpfung
referentiell mit dem Primàrschlüssel der tbl_Auftraege verknüpft.

Im Grunde möchte ich nicht mehre Termine und mehrere Rechnungne zu jedem
AUftrag speichern sondern als Spezialfall EINEN Termin und EINE Rechnung zu
jedem Auftrag (aber zu unteschiedlichen Zeitpunkten.

Ich kann problemlos jetzt eine Abfrage schreiben und EINE der beiden
Tochtertabellen einbinden - die Abfrage bleibt editierbar.
So etwa:
SELECT tbl_Auftraege.Auftragsnummer, tbl_Auftraege.AUftrag_angelegt,
tbl_Rechnungen.RechnungsNummer, tbl_Rechnungen.Rechnungskommentar,
tbl_Rechnungen.AuftragsNr, tbl_Rechnungen.RechnungID,
tbl_Auftraege.AUftragID
FROM tbl_Auftraege INNER JOIN tbl_Rechnungen ON tbl_Auftraege.AUftragID =
tbl_Rechnungen.AuftragsNr;


Versuche ich aber BEIDE Tochtertabellen einzubinden, dann klemmt's. Ich kann
gar nichts mehr eingeben. Weder neue Datensàtze anlegen noch bestehende
editieren.

So etwa:
SELECT tbl_Auftraege.AUftragID, tbl_Auftraege.Auftragsnummer,
tbl_Auftraege.AUftrag_angelegt, tbl_Termine.TerminID, tbl_Termine.AuftragNr,
tbl_Termine.TerminDatum
FROM (tbl_Auftraege INNER JOIN tbl_Termine ON tbl_Auftraege.AUftragID =
tbl_Termine.AuftragNr) INNER JOIN tbl_Rechnungen ON tbl_Auftraege.AUftragID
= tbl_Rechnungen.AuftragsNr;


Làsst sich dieses Problem überhaupt so lösen ?
Ich versuche alt meine Grundtabelle in einzelne Tabellen aufzuspalten.

Gruss Nico
 

Lesen sie die antworten

#1 Thomas Möller
22/03/2010 - 19:39 | Warnen spam
Hallo,

Am 22.03.2010 12:40, schrieb NicoN:
Ich versuche mal ein einfaches Szenario zu erstellen:

tbl_Auftraege enthàlt einen autowert als PrimaryKey

tbl_Termine enthàlt neben einem Datumsfeld einen long-Wert AuftragNr
tbl_Rechnungen enthàlt einen Betrag, ein textfeld für Kommentare und
ebenfalls einen long-Wert

Beide Tabellen (tbl_termine und tbl_Rechnungen) sind per 1:n Verknüpfung
referentiell mit dem Primàrschlüssel der tbl_Auftraege verknüpft.

Im Grunde möchte ich nicht mehre Termine und mehrere Rechnungne zu jedem
AUftrag speichern sondern als Spezialfall EINEN Termin und EINE Rechnung zu
jedem Auftrag (aber zu unteschiedlichen Zeitpunkten.



dann mach in den Tabellen "tbl_Termine" und "tbl_Rechnungen" jeweils das
Feld "AuftragsNr" zum Primàrschlüssel. Aus Deinen 1:n-Verknüpfungen
werden dann 1:1-Verknüpfungen und das Editieren der Daten in einer
Abfrage sollte wieder möglich sein.


HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen