Hallo zusammen
Leider habe ich in Visual Basic wenig Erfahrungen, kann mir hier jemand weiter helfen? Das Ausfüllen Dropdown Fenster Getränke füllt automatsch das dropdown Menü aus, bis hierher funktioniert alles super. Mein Problem ist wie erweitere ich das ganze das Getränke02 sich mit Menü02 abgleichen beim auswählen? und das ganze mit 03. Kann man das durch eine Schleife erweitern? Was muss ich anpassen?
Vielen Dank im voraus
Dirk
script:
Topic verschoben, CodeTags gesetzt ~VaporiZed
Leider habe ich in Visual Basic wenig Erfahrungen, kann mir hier jemand weiter helfen? Das Ausfüllen Dropdown Fenster Getränke füllt automatsch das dropdown Menü aus, bis hierher funktioniert alles super. Mein Problem ist wie erweitere ich das ganze das Getränke02 sich mit Menü02 abgleichen beim auswählen? und das ganze mit 03. Kann man das durch eine Schleife erweitern? Was muss ich anpassen?
Vielen Dank im voraus
Dirk
script:
Visual Basic-Quellcode
- Const SOURCE_CC As String = "Getränke" ' Titel des 1. DropDowns
- Const DEPENDENCY_CC As String = "Menü" ' Titel des 2. DropDowns, dessen Einträge
- ' von der Auswahl des 1. DropDowns abhängig sind
- Const SOURCE_CC2 As String = "Getränke02" ' Titel des 3. DropDowns
- Const DEPENDENCY_CC2 As String = "Menü02" ' Titel des 4. DropDowns, dessen Einträge
- ' von der Auswahl des 3. DropDowns abhängig sind
- Const SOURCE_CC3 As String = "Getränke03" ' Titel des 5. DropDowns
- Const DEPENDENCY_CC3 As String = "Menü03" ' Titel des 6. DropDowns, dessen Einträge
- ' von der Auswahl des 5. DropDowns abhängig sind
- ' stellt die Auflistung der abhängigen Einträge im 2. DropDown bereit
- ' Key: Eintrag im 1. DropDown
- ' Item: Liste der von Key abhängigen Einträge
- Dim dependentEntries As New Collection
- Private Sub initDependentEntries()
- If dependentEntries.Count = 0 Then
- dependentEntries.Add Key:="Wählen Sie ein Element aus.", Item:=Array("Wählen Sie ein Element aus.")
- dependentEntries.Add Key:="Wasser", Item:=Array("Gulasch")
- dependentEntries.Add Key:="Cola", Item:=Array("Gyros")
- dependentEntries.Add Key:="Saft", Item:=Array("Pizza")
- End If
- End Sub
- ' erneuert beim Verlassen des 1. DropDowns die Einträge des 2. DropDown
- ' in Abhängigkeit des im 1. DropDown gewählten Eintrags und zeigt den 1. Eintrag an
- Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
- '
- ' wenn 1. DropDown ("Getränke") verlassen wird...
- If ContentControl.Tag = SOURCE_CC Then
- '
- ' gewählten Eintrag aus 1. DropDown holen
- Dim selectedEntry As String: selectedEntry = ContentControl.Range.Text
- '
- ' 2. DropDown ("Menü") ermitteln, um es bearbeiten zu können
- Dim cc As ContentControl: Set cc = getCCbyTitle(DEPENDENCY_CC)
- If Not cc Is Nothing Then
- With cc
- '
- ' bisherige Einträge entfernen
- .DropdownListEntries.Clear
- '
- ' ggf. Einträge erstellen
- initDependentEntries
- '
- ' Einträge gem. Auswahl im 1. DropDown in 2. DropDown erstellen
- Dim entry
- For Each entry In dependentEntries(selectedEntry)
- .DropdownListEntries.Add entry
- Next
- '
- ' 1. Eintrag vorselektieren
- .DropdownListEntries(1).Select
- End With
- End If
- End If
- End Sub
- ' da ContentControls eigentlich nur über einen Index angesprochen werden können,
- ' ermittelt diese Hilfsfunktion ein ContentControl anhand seines Titels
- Private Function getCCbyTitle(ccTitle As String) As ContentControl
- '
- ' falls es ein ContentControl mit dem Titel nicht gibt, wird 'Nothing' zurückgegeben
- Set getCCbyTitle = Nothing
- '
- ' in allen ContentControls nach dem ContentControl mit dem angegebenen Titel suchen
- Dim cc As ContentControl
- For Each cc In ContentControls
- If cc.Title = ccTitle Then Set getCCbyTitle = cc
- Next
- End Function
Topic verschoben, CodeTags gesetzt ~VaporiZed
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()