2015-09-25 2 views
0

У меня есть поле со списком, которое заполняется информацией, полученной из базы данных Access. У меня есть метод, который открывает записи с помощью набора записей ADO. У меня есть многоколоновое поле со списком, которое я хочу выбрать из заполненного списка в форме. Для отдельных столбцов combobox значение, которое отображается в форме, заполняется с использованием свойства value, как показано ниже.Excel VBA Select Item в Multi Column ComboBox

frmDataEntry.txtProcessID = sourceRS.Fields("ProcessID").Value 

У меня возникли проблемы с заполнением многоколоночного поля, поскольку свойство Value не работает.

Do Until y >= frmDataEntry.cmbProcess.listCount 
    If frmDataEntry.cmbProcess.List(y, 0) = sourceRS.Fields("ProcessID").Value Then 
     'This is where i'd like to set the value 
    End If 
    y = y + 1 
Loop 

В приведенной выше коде, если бы это было ListBox, я хотел бы использовать .Selected(y) = True собственности, но это не доступно для Наримера. Есть ли у кого-нибудь предложения? Я искал везде, но не могу найти способ сделать это, не уничтожая заполненный список combobox.

ответ

1

Я не совсем уверен, что вы пытаетесь сделать, но если ваша проблема отображения уже добавлено значения , frmDataEntry.cmbProcess.ListIndex = y будет делать именно то, что для 0 <= y < ListCount.

+0

Это именно то, что мне нужно: спасибо вам большое! –

0

Обычно это то, что я делаю. Я поставил значение в массив, то сделать это:

Dim MyArray() As String 
'Here you want to populate MyArray 
With Me.combobox1 
    .ColumnCount = 2 
    .BoundColumn = 2 
    .ColumnWidths = "2.5 in; 0 in" 
    .List = MyArray 
End With