PrimaryKey

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Peak
Beiträge: 3
Registriert: Fr, 02.12.2005 19:19
Wohnort: Obwalden in der Schweiz
Kontaktdaten:

PrimaryKey

Beitrag von Peak »

Hallo zusammen

Ich hatte ja folgendes Problem mit feldern zusammen fassen:
viewtopic.php?t=5242

Nun da dies funktioniert, stehe ich am nächsten Problem an.

Ich habe drei Tabellen
tblAnrede -> beinhaltet die gängigen Anreden
tblPLZ -> beinhaltet alle PLZ's aus der Schweiz
tblAuftrGeber -> Soll die auftraggeber speichern.

Kurze tabelleneinsicht:
tblAnrede besteht aus:
PKID_Anrede (INT Autowert)
Anrede (Text 15Zeichen)

tblPLZ besteht aus:
PKID_PLZ (INT Autowert)
PLZ (INT 4 Zeichen lang)
Ort (Text 30Zeichen)

tblAuftrGeber besteht aus:
PKID_AuftrGeber (INT Autowert)
Firma (Text 30 Zeichen)
FKID_Anrede (INT)
FKID_PLZ (INT)
und weitere textfelder für adresse und tel.....

So weit so gut. Ich habe also eine Form auf tblAuftrGeber gemacht. In dieser ist eine ComboBox für die Anrede mit dem query:

Code: Alles auswählen

SELECT DISTINCT "Anrede" FROM "tblAnrede"
Wenn ich nun die Anrede auswähle und ins nächste feld springe, wird die Anrede durch den PrimaryKey (PKID_Anrede) ersetzt. Das ist auch gut so, denn wenn ich nun das Forumlar speichere, dann wird auch der PK gespeichert.

Weiter habe ich eine ComboBox für die PLZ mit folgendem query:

Code: Alles auswählen

SELECT "PLZ" || ' ' || "Ort" AS "PlzOrt" FROM "tblPLZ" ORDER BY "PKID_PLZ"
Angezeigt wird das in dem Feld auch richtig. Wenn ich nun aber in das nächste feld wechseln will, dann zeigt er mir nur noch die PLZ an anstelle des PK (PKID_PLZ) was zur folge hat, dass wenn ich speichern will, dann bekomme ich eine fehlermeldung.

Mein problem ist nun, wie mache ich, dass nach der auswahl der PLZ der PrimaryKey aus der tblPLZ in dem cmb-Feld erscheint? Muss ich das mit einem Makro machen, oder kann man das mit einem anderen SQL-Query machen? Und könntet ihr mir sagen wie das Makro oder das Query dann in etwa aussehen muss?

Danke viel mal.[/code]
Benutzeravatar
tux486
Beiträge: 2
Registriert: Do, 12.01.2006 13:38

Beitrag von tux486 »

Hallo,

ist das Problem noch aktuell?

Ich verstehe folgendes nicht:

Code: Alles auswählen

SELECT "PLZ" || ' ' || "Ort" AS "PlzOrt" FROM "tblPLZ" ORDER BY "PKID_PLZ"
Du sortierst nach einem Feld, welches in der Select-Liste nicht enthalten ist. Meines Erachtens wäre entweder

Code: Alles auswählen

SELECT "PLZ" || ' ' || "Ort" AS "PlzOrt" FROM "tblPLZ" ORDER BY "PLZ"
richtig, oder besser

Code: Alles auswählen

SELECT "PLZ" || ' ' || "Ort" AS "PlzOrt", "PKID_PLZ" FROM "tblPLZ" ORDER BY "PKID_PLZ"
Damit steht auch der Wert "PKID_PLZ" zum Abspeichern zur Verfügung.
Bis denn
Sven
Antworten