"abhängige Kombinationsfelder"

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

AndreasJBittner
*****
Beiträge: 473
Registriert: Fr, 09.10.2009 16:44
Wohnort: Bielefeld
Kontaktdaten:

Re: "abhängige Kombinationsfelder"

Beitrag von AndreasJBittner »

Hallo,

Du mußt unter Beziehungen die beiden KundenName-Felder verbinden. Normalerweise macht man das über die ID mit einem sog. ForeignKey, d.h. in Tabelle2 wird in der Spalte Tab1SpxID die ID aus Tabelle1 eingetragen, das Feld eben auch (in MySQL zB) als ForeignKey definiert. Ob Du zwei Textfelder so verbinden kannst, weiß ich nicht, aber wenn, dann müssen beide wohl die gleiche Länge haben. Über die ID ist es insofern eleganter, weil der Inhalt der Felder beliebigen Typs sein kann.

Grüße
Andreas
LO 4.3
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2

MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
AndreasJBittner
*****
Beiträge: 473
Registriert: Fr, 09.10.2009 16:44
Wohnort: Bielefeld
Kontaktdaten:

Re: "abhängige Kombinationsfelder"

Beitrag von AndreasJBittner »

Hallo,

das geht schon so, wie ich Dir das versucht habe zu erklären.
Du hast zwei Tabellen, eine mit den Kunden und eine mit den Ansprechpartnern (oder was auch immer). In der zweiten Tabelle hast Du eine Spalte, die die ID des Kunden aufnimmt, der von dem Ansprechpartner bedient wird. In MySQL definierst Du diese Spalte als ForeignKey, in OOo gehst Du in das Fenster Beziehungen und stellst dort die Verbindung von KundenID und KD_ID in der Tabelle Ansprechpartner her.
Tab. Kunden
ID (Integer) Name (varchar) .....

Tab. Ansprechpartner
ID (Int..) Name (v..) KD_ID (Integer) ....

Deine Abfrage sieht dann so aus:

Code: Alles auswählen

SELECT Name FROM Ansprechpartner WHERE KD_ID = (ID vom Kunden)
und die (ID vom Kunden) kommt dann aus Deiner Auswahl. Dann bekommst Du nur die dem betreffenden Kunden zugeordneten Ansprechpartner.

Grüße
Andreas
LO 4.3
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2

MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
Antworten