🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

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

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
fritzil
Beiträge: 2
Registriert: So 1. Nov 2015, 18:54

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

Beitrag von fritzil » So 1. Nov 2015, 19:13

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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

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

Beitrag von F3K Total » So 1. Nov 2015, 23:26

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
Dateianhänge
Schulklassen.zip
nur entpacken
(17.71 KiB) 223-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten