Hallo miteinander,
ich habe derzeit noch ein kleines Problem in Base. Ich habe 2 Tabellen sowie 2 Formulare.
In Tabelle 1 beinhaltet eine der Spalten eine Vorgangsnummer. Diese wird automatisch erhöht und in Formular 1 angezeigt.
Nun soll in Formular 2 die Vorgangsnummer aus einem Dropdown-Feld ausgewählt werden können. Dabei soll es so sein, dass, nach dem anschließenden Speichern des Datensatzes, diese Vorgangsnummer nicht mehr in Formular 2 auswählbar ist.
Hintergrund ist, dass zu jeder Vorgangsnummer nur 1x das Formular 2 ausgefüllt werden soll.
Bisher habe ich noch keine Beziehungen zwischen den Formularen erstellt. Die Daten (Vorgangsnummern) aus Tabelle 1 bekomme ich über den SQL-Befehl:
SELECT "LaufendAuftrags", "ID" FROM "Tabelle1"
Diesen habe ich im Listenfeld in Formular 2 hinterlegt.
Könnt ihr mir einen Tipp geben, wie ich die bereits in Formular 2 "verwendete" Vorgangsnummer aus dem Listenfeld streiche?
Dazu konnte ich leider noch nichts im Internet finden.
Vielen Dank
Grüße
Listenfeld mit Daten aus anderer Tabelle, nur 1x auswählbar
Moderator: Moderatoren
-
- Beiträge: 2
- Registriert: Sa, 12.10.2013 09:42
Re: Listenfeld mit Daten aus anderer Tabelle, nur 1x auswähl
Hallo BaseBenutzer,
eigentlich ist so etwas eine 1:1-Beziehung. Tabelle 2 hat den gleichen Primärschlüssel wie Tabelle 1. Der Inhalt von Tabelle 2 wird über ein Unterformular von Tabelle 1 (oder eben einfach der Vorgangsnummer hiervon) bestimmt. In dem Unterformular kannst Du immer nur einen Datensatz eingeben.
Willst Du so etwas mit einem Listenfeld realisieren, so musst Du das Listenfeld nach der Erstellung eines Datensatzes jedes Mal aktualisieren - das geht zwar auch über Buttons (Feld aktualisieren gibt es als gesonderten Button in der Navigationsleiste), wird Dir aber vermutlich dafür vom Bedienkomfort nicht ausreichen.
Befehl für das Listenfeld:
SELECT "Nr" FROM "Tabelle1" WHERE "Nr" NOT IN (SELECT "Nr" FROM "Tabelle2")
Gruß
Robert
eigentlich ist so etwas eine 1:1-Beziehung. Tabelle 2 hat den gleichen Primärschlüssel wie Tabelle 1. Der Inhalt von Tabelle 2 wird über ein Unterformular von Tabelle 1 (oder eben einfach der Vorgangsnummer hiervon) bestimmt. In dem Unterformular kannst Du immer nur einen Datensatz eingeben.
Willst Du so etwas mit einem Listenfeld realisieren, so musst Du das Listenfeld nach der Erstellung eines Datensatzes jedes Mal aktualisieren - das geht zwar auch über Buttons (Feld aktualisieren gibt es als gesonderten Button in der Navigationsleiste), wird Dir aber vermutlich dafür vom Bedienkomfort nicht ausreichen.
Befehl für das Listenfeld:
SELECT "Nr" FROM "Tabelle1" WHERE "Nr" NOT IN (SELECT "Nr" FROM "Tabelle2")
Gruß
Robert