PDA

Vollständige Version anzeigen : Eine Spalte mit einer anderen verknüpfen und abhängig machen


Robin Yoshida
04.01.2002, 14:38
ich habe folgendes problem: Ich habe mit Nachschlagespalten ein Drop Down Menü erstellt und möchte jetzt ein zeites erstellen, welches von der Auswahl des ersten abhängig ist und dann nur bestimmte auswahlmöglichkeiten bietet. Bitte helft mir! Danke

Kurt aus Kienitz
04.01.2002, 14:46
Hallo,

Kombinationsfelder haben die Eingenschaft Datensatzherkunft.
Dort ist ein SELECT-Statement angegeben.
Dieses Statement muß um eine WHERE-Klausel erweitert werden.

Beispiel:

Folgende Tabellen sind gegeben:
Tabelle:Status
ID | Status
---+-------------
1 | Entwurf
2 | vorgelegt
3 | geprüft
4 | freigegeben

Tabelle: Dokumente
ID | Dokument | Status
---+-------------------+-------
1 | Gorbkonzept | 4
2 | Feinspezifikation | 2
3 | Benutzerhandbuch | 1
4 | Schulungsmappe | 1

Auf dem Formular gibt es zwei Kombinationsfelder.
CmbStatus als Datensatzherkunft
SELECT ID, Status FROM Status;
CmbDokumente als Datensatzherkunft
SELECT ID, Dokument FROM Dokumente WHERE Status=[CmbStatus];

Nun muß noch die Ereignisprozedur Beim Klick des Kombinationsfeldes
CmbStatus implementier werden:

Private Sub CmbStatus_Click()
Me.CmbDokumente.Requery;
End Sub

ragalthar
04.01.2002, 15:46
Hmm,

sieht mir sehr nach meinem Problem aus (Beitrag inzwischen gelöscht - jinx, 12-01.2004)

Kurt aus Kienitz, könntest Du das bitte noch etwas ausführlicher erklären? Kam damit leider nicht zurecht.

Holger

Kurt aus Kienitz
04.01.2002, 16:12
Hallo Holger,

Noch ausführlicher ?
;) Na, schau ma mal...

Wie beschrieben gibt es ein Formular mit 2 Kombinationsfeldern.
CmbStatus zur Auswahl eines Stati oder Status oder wie auch immer...
CmbDokumente zur Auswahl eines Dokuments. Die zur Auswahl stehenden Dokumente werden durch den zuvor ausgewählten Status eingeschränkt.

Um das zu erreichen, muß die Datensatzherkunft des Kombinationsfeldes CmbDokumente mit dem Kombinationsfeld CmbStatus verknüpft werden.
Dazu wird das SELECT-Statement, welches als Datensatzherkunft beim Kombinationsfeld CmbDokumente eingetragen ist, um eine WHERE-Klausel erweiter.

Also:
SELECT ID, Dokument FROM Dokumente WHERE Status=[CmbStatus];

Dabei ist Status der Name der Spalte aus der Tabelle Dokumente und CmbStatus der Name des Kombinationsfeldes.

Nachdem die Verknüpfung der beiden Kombinationsfelder erfolgt ist, muß noch dafür gesorgt werden, daß bei der Auswahl eines Wertes aus dem Kombinationsfeld CmbStatus der Inhalt des Kombinationsfeldes CmbDokumente aktualisiert wird.
Das geschieht mit der Ereignisprozedur Beim Klick des Kombinationsfeldes CmbStatus.

So, ich glaube jetzt ist es ausführlich genug, oder ?