Seite 1 von 1

Tabelle in Formularfeld auswählen (oder so...)

Verfasst: So 1. Nov 2015, 19:13
von fritzil
Hallo,

ich bin Einsteiger in Sachen Base und weiß leider nicht so genau, wie das heißt, was ich will. Daher fällt mir das Suchen im Forum nach einer möglichen Lösung schwer. Ich bitte um Nachsicht! Als Antwort reicht auch gerne der Verweis auf einen bestehenden Artikel.

So, mein Vorhaben:

Ich möchte gerne in einem Formular die Möglichkeit haben, zwischen zwei verschiedenen Datentabellen auszuwählen.
Einfaches Beispiel:
Ich habe zwei verschiedene Namenslisten (Klasse 7 und Klasse 8). Ich möchte in einem Feld (in dem Arbeitsformular) auswählen können, ob mit der Klasse 7 oder mit der Klasse 8 gearbeitet werden soll. Wähle ich z.B. die 7, werden im folgenden Feld "Name" bei jedem Datensatz jeweils die Namen der Klasse 7 bereitgestellt. Der Rest der Formulare soll (erstmal) für beide Klassen gleich aufgebaut sein.
Ich vermute, ich brauche drei Tabellen.
1. Die eigentliche Datenbank (Arbeitsformular),
2. Eine Tabelle mit den Namen der Klasse 7,
3. Eine Tabelle mit den Namen der Klasse 8

Wie kann ich im Arbeitsformular auswählen ob mit den Namen aus 7 bzw. aus 8 gearbeitet werden soll?
Ich hoffe, das ist so verständlich.

Über einen Tipp würde ich mich sehr freuen.

fritzil

Re: Tabelle in Formularfeld auswählen (oder so...)

Verfasst: So 1. Nov 2015, 23:26
von F3K Total
Hallo,
dein Ansatz ist nicht gut. Beschäftige dich mit der Normalisierung.
Ich würde dir drei Tabellen empfehlen:
  • KLASSEN
  • SCHUELER
  • SCHUELER_KLASSEN
Wenn Du diesen Befehl einmal über Extras/SQL... ausführst, hast du die Struktur:

Code: Alles auswählen

CREATE CACHED TABLE "SCHUELER"("ID_S" INTEGER NOT NULL PRIMARY KEY,"Name" VARCHAR(100),"Adresse" VARCHAR(50),"PLZ" VARCHAR(50),"Ort" VARCHAR(50))
CREATE CACHED TABLE "KLASSEN"("ID_K" INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,"KLASSE" VARCHAR(3))
CREATE CACHED TABLE "SCHUELER_KLASSEN"("FK_ID_S" INTEGER NOT NULL,"FK_ID_K" INTEGER NOT NULL,PRIMARY KEY("FK_ID_S","FK_ID_K"),CONSTRAINT C_SCHUELER FOREIGN KEY("FK_ID_S") REFERENCES "SCHUELER"("ID_S") ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT C_KLASSEN FOREIGN KEY("FK_ID_K") REFERENCES "KLASSEN"("ID_K") ON DELETE CASCADE ON UPDATE CASCADE)
Danach einmal Tabellen: Ansicht/Tabellen aktualisieren
Anbei ein Beispiel mit Formular.

Gruß R