PDA

Vollständige Version anzeigen : verknüpfte Kategorien???


cl-audio
07.08.2001, 11:50
Hallo, ich habe ein (hoffentlich) kleines Problem - wäre schön wenn mir einer von euch helfen könnte...

Ich habe ein Formular mit zwei Dropdownfeldern, die Datensatzherkunft sind zwei miteinander verknüpfte Tabellen (Hauptkategorie und Unterkategorie).

Die Tabellen sind wie folgt aufgebaut:
Hauptkategorien: tbl_hk (hk_id; hk_name)
Unterkategorien: tbl_uk (uk_id; hk_id; uk_name)

Wie stelle ich es an, dass im zweiten Dropdownfeld nur die Unterkategorien zur Auswahl stehen, die zu der im ersten Feld ausgewählten Hauptkategorie passen.

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt und bin für jede Hilfe dankbar.

Gruss Claudio (cl-audio@web.de)

Kurt aus Kienitz
07.08.2001, 11:55
Hallo,

Ich habe da eine Standard-Antwort, die aber das Prinzip klar macht.

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:
<font face="Courier New" size="3">
<font color="#000080">Private</font> <font color="#000080">Sub</font> CmbStatus_Click()
Me.CmbDokumente.Requery;
<font color="#000080">End</font> <font color="#000080">Sub</font>

HTH

claudio
07.08.2001, 13:51
Danke für die schnelle Antwort,

leider habe ich sie noch nicht so richtig verstanden...

Würde mich freuen wenn mir das nochmal jemand genauer erklären könnte

Gruss Claudio

Kurt aus Kienitz
07.08.2001, 14:08
Hallo nochmal,

Mal angenommen die beiden Kombinationsfelder heißen CmbHauptkategorie und CmbUnterkategorie.

Weiter angenommen die gebundene Spalte des Kombinationsfeldes CmbHauptkategorie ist hk_id.

Dann müsste die Datensatzherkunft des Kombinationsfeldes CmbUnterkategorie so aussehen:

SELECT uk_id, uk_name FROM Unterkategorie WHERE [hk_id]=[CmbHauptkategorie]

HTH