Mit ComboBox Formular öffen

mikel

Fleissiger Benutzer
Beiträge
59
Hallo zusammen,
wollte mal Anfragen ob es eine Möglichkeit gibt mit einer ComboBox Formulare zu öffnen.

z.b:

Select Combox1
case1
DoCmd.open ="frm_test"
case 2
DoCmd.open ="...."

usw.
 
Werbung:
Danke für die Antwort. Mir fehlt allerdings der komplette Aufbau der ComboBox in VBA
Muss icht den TExt im Steuerelement einsetzen?

Grüße
Michael
 
Hallo Michael,

mit Text meinte ich die Liste mit den Formularnamen. Und den Programmcode als Ergeignisprozedur unter "Nach Aktualisierung".

Die Formularnamen kannst Du als Werteliste eingeben, oder in einer Tabelle abspeichern, die dann als Datenquelle für das Kombinationsfeld dient.

Andererseits könntest Du die Liste auch per VBA Code aufbauen, indem Du die Formularnamen ausliest.
 
Hallo,
eine Kombobox ist eine gute Möglichkeit eine Art Menü aufzubauen, so wie Michael es beschreibt.

Es gibt auch die Möglichkeit das Steuerelement "Navigationssteuerelement" zu nutzen, welches sich vielfältig formatieren lässt. Formulare, die geöffnet werden sollen, müssen nur eingetragen werden.
 
Hallo,
so, ich habe jetzt nach langen Versuchen eine ComboBox als Navigation zusammengesetzt. Die funktioniert auch sehr gut.
Was ich allerdings nicht hinbekommen habe ist, dass beim Aufruf des Formulares die ComboBox als erstes Anzeigt: "Bitte wählen"

Hier einmal einen Auszug aus dem Code:

Code:
Private Sub cbonaviAuswahlAngebote_AfterUpdate()
 On Error GoTo ErrorHandler
 Dim selectedOption As String
 
  selectedOption = Me!cbonaviAuswahlAngebote.Value
 
    
' Überprüfen, ob ein Wert ausgewählt wurde
    If IsNull(selectedOption) Or selectedOption = "" Then
        MsgBox "Bitte wählen Sie eine Option aus.", vbExclamation, "Keine Auswahl"
        Exit Sub
    End If

.....
.....
End Sub
Wie bekomme ich diesen Wert angezeigt?
 
Hallo,
sorge dafür, dass deine Wertelist, bzw. Tabelle, die als Datenherkunft dient, den Text "Bitte wählen..." als ersten Wert der Liste enthält. Dann kannst Du beim Laden des Formulars den ersten Eintrag als Standardwert vorbelegen. Natürlich muss dann, ebenso wie bei fehlender Auswahl, dieser Wert als ungültig abgelehnt werden.

Code:
Private Sub Form_Load()
    ' Setzen Sie den Standardwert des Kombinationsfelds basierend auf dem Index
    Me!KombinationsfeldName = Me!KombinationsfeldName.ItemData(0) ' Setzt den ersten Eintrag als Standardwert
End Sub
 
Hallo zusammen,

ich hbae noch einmal eine Frage zu meiner Navigation per Dropdown.

Es funktioniert alles super. Ich wollte jetzt den Code in ein Modul einbauen damit ich es leichter habe bei meheren Seiten per Call cboNavi das ganze aufzurufen. Allerdings funktioniert das gar nicht. Wo er zerst meckert ist hier:

selectedOption = Me.cbonaviAuswahlAngebote.Value

Was mach ich hier falsch?
 
Ja hast recht!

Code:
Public Sub cboLand()
'Code für ComboBox Länder
  On Error GoTo ErrorHandler
  Dim selectedOption As String
 
  selectedOption = Me.cbolaendertabellen.Value
 
    
' Überprüfen, ob ein Wert ausgewählt wurde
    If IsNull(selectedOption) Or selectedOption = "" Then
        MsgBox "Bitte wählen Sie eine Option aus.", vbExclamation, "Keine Auswahl"
        Exit Sub
    End If
 
  ' Navigation basierend auf der Auswahl
    Select Case selectedOption
         Case "Aktion Länder wählen"
             ' Keine Option
         Case "Neues Land anlegen"
.....

Me.meckert er zuerst
 
Hallo Mikel,

me bezieht sich auf das Formular und kann in einem Modul nicht benutzt werden. Du müsstest auf das betreffende Formular referenzieren.
 
Das geht über Forms! Formularname .Form! Kombinationsfeld

Wenn Du das aber in verschiedenen Formularen nutzen willst, muss Du den Formularnamen und ggf. den Namen des Kombinationsfeld als Stringvariable beim Aufrufen der Funktion mit übergeben.

z.B. Function cboLand(Formularname as String, Kombinationsfeld as String)

selectedOption = Formularname & "." & Kombinationsfeld & ".value"
 
Werbung:
Zurück
Oben