# Standardwert einer Combobox über VB ändern



## Jacizzle (13. Januar 2009)

Hallöchen...

habe eine kleine Frage.. das dürfte doch auch eigentlich garnicht so schwer sein, aber ich find nicht raus wie es geht.. wieso auch immer :suspekt:

Ich habe in einem VBA (Access 2003) Programm eine Combobox eingebaut. Die Box fülle ich über eine SQL-Abfrage, bzw. ein Recordset. Die Eigenschaft der Box steht also auf "Tabelle / Abfrage".

Jetzt ist die Combobox allerdings beim Aufruf des Forms leer, d.h. es wird kein Standardwert angezeigt. Ich muss erst auf die Combo klicken und einen Wert auswählen.

Es muss doch irgendwie die Möglichkeit geben den Standardwert über den Code zu ändern so, dass z.B. der erste Eintrag in der Box angezeigt wird ohne das man ihn noch extra auswählen müsste.

Habs schonmal mit der Eigenschaft .DefaultValue versucht. Wollte dort den ersten Wert aus der Combobox reinschreiben. Hat sich aber nichts getan 

Vll. kann mir ja mal einer nen Tipp geben.

Gruß Jac


----------



## TS-JC (13. Januar 2009)

Du hast also eine Tabelle/Abfrage mit beliebig vielen Werten
Die sind wahrscheinlich immer anders oder?
Und du willst jetzt aber immer einen bestimmten ausgewählt haben?

Quasi ein Combo.Value = "Mein Eintrag"
Oder willst du den Standardwert, den man eintragen kann, ändern?
So das in Zukunft der WErt immer da ist, also der Eintrag im Egenschaftsmenü der Wert geändert wird?


----------



## Jacizzle (13. Januar 2009)

Sagen wir mal die Abfrage der Tabelle ergibt im Moment in der ersten Zeile den Wert "Hünsborn".

Dann steht ja, wenn man die Combobox aufklickt, an erster Stelle Hünsborn. Dann soll auch sofort wenn das Formular aufgeht in der Box Hünsborn zu sehen sein.

Nächstes mal fehlt vll. "Hünsborn" und an erste Stelle steht "Weitefeld", dann soll da anstatt Hünsborn Weitefeld drin stehen .. usw.


----------



## TS-JC (13. Januar 2009)

Jo müsste einfach Me.Combo.Value = "Hünsborn" sein
Wobei es sein kann, dass dann nciht genau der wert erfasst wird, sondern einfach ein zusätzlicher angewählt

Tteste das mal am besten


----------



## ronaldh (13. Januar 2009)

Das sollte in VB für Access so gehen:


```
Private Sub Form_Load()
    If Kombinationsfeld10.ListCount > 0 Then
        Forms(0).Controls("Kombinationsfeld10").SetFocus
        Forms(0).Controls("Kombinationsfeld10").ListIndex = 0
    End If
End Sub
```

Grüsse 
ronaldh


----------



## TS-JC (14. Januar 2009)

Problem dabei ist allerdings das der falsche Wert angewählt wird, falls die Abfrage die Reihenfolge der Ergebnisse ändert.

Habe es mal mit einem leeren Form getestet.
Mit Value sollte es gehen und der Wert wird angewählt, sofern in der Abfrage enthalten.


----------



## Jacizzle (14. Januar 2009)

Danke.. die Eigenschaft .Value hat mir gefehlt.

Ich hab die ganze Zeit .Text, oder .DefaultValue versucht zu befüllen, dass ging aber nicht.

Wär auch seltsam gewesen wenn man es nicht hätte machen können.


----------

