hej, cbo...SelectedValue eller cbo...Text tror jag egenskapen heter Använd "ListIndex = x" om du ska sätta värdet. Varför inte tilldela det när du läser in till comboboxen?Spara/hämta värdet från combobox utan att ha klickat
har ett litet problem.
På ett formulär har jag ett antal textfält och 2 comboboxar, cboEnhet och cboIngang. När man väljer ett alternativ på cboEnhet hämtas olika värden från en txt-fil och ska då sätta cboIngang. Vi säger att cboIngang består av (namn, värde):
Trådlös ingång, 0
Trådbunden ingång, 2
Avslutad, 9
Vad sätter jag på cboIngang så att rätt alternativ blir valt? Jag ska sedan spara och då hämta värdet från cboIngang. Om man inte klickat på comboxen cboIngang är ListIndex = -1. Hur hämtar jag värdet från cboIngang?
Tacksam för hjälp!Sv: Spara/hämta värdet från combobox utan att ha klickat
Sv: Spara/hämta värdet från combobox utan att ha klickat
Det kanske finns något bättre sätt, men jag brukar spara de olika valens "värden" i en array där indexet i arrayen motsvarar samma ListIndex. På det sättet kan man hålla koll på vilket värde varje val motsvarar.
/JohanSv: Spara/hämta värdet från combobox utan att ha klickat
Ett recordset exempel som jag du kan tillämpa principen från:
Do Until Recordset.EOF
ComboBox.AddItem TextField.Value
ComboBox.ItemData(ComboBox.NewIndex) = DataField.Value
If Value = DataField.Value Then
ComboBox.ListIndex = ComboBox.NewIndex
End If
Recordset.MoveNext
Loop
Detta kan man optimera om det tar lång tid att gå igenom lista:
Do Until Recordset.EOF
ComboBox.AddItem TextField.Value
ComboBox.ItemData(ComboBox.NewIndex) = DataField.Value
If Value = DataField.Value Then
ComboBox.ListIndex = ComboBox.NewIndex
Recordset.MoveNext
Exit Do
Else
Recordset.MoveNext
End If
Loop
Do Until Recordset.EOF
ComboBox.AddItem TextField.Value
ComboBox.ItemData(ComboBox.NewIndex) = DataField.Value
Recordset.MoveNext
Loop