2017-02-17 3 views
0

Моя комбо-коробка (основанная на запросе) падает & показывает варианты, но я не могу нажать на опцию & у нее осталось & заполнить соответствующие текстовые поля! Я могу выделить клиента в раскрывающемся списке, но он не позволит мне «выбрать» один - все функционирование полностью прекратится. Я могу прокручивать все 350 записей в нижней части формы, но, очевидно, не удобен для пользователя.Combobox выпадающий выбор замораживание

+0

Является ли поле со списком «несвязанным»? Есть ли код за событием «AfterUpdate»? Правильно ли я предполагаю, что вы хотите выбрать запись в поле со списком и переместить доступ к выбранной записи? Если поле со списком связано, то, что вы на самом деле делаете, это изменение значения этого поля для текущей записи. Подтвердите, что вы пытаетесь достичь, и я или кто-то еще должен помочь – Skippy

+0

@Skippy thx для вашего ответа. Ваше предположение верно. Свойства combo box читают «Связанный столбец: 1», но я не уверен, как его изменить, если это необходимо. За событием AfterUpdate нет кода. – Emily

ответ

0

ОК, поэтому, чтобы полностью ответить на этот вопрос, мне нужно знать некоторые другие настройки для поля со списком. Можете ли вы рассказать мне Column count и Column widths? Вы говорите, что поле со списком основано на запросе (так что этот запрос равен Rowsource), а Bound column - столбец 1; каков первый столбец, указанный в запросе? Это числовой идентификатор или имя клиента?

Чтобы сделать поле со списком «несвязанным», вы очищаете свойство Control source. Если вы хотите, чтобы иметь возможность редактировать поле, в которое было включено это комбо, есть несколько вариантов, но это, вероятно, отдельный вопрос. В настоящее время, для достижения эффекта отображения правильного записи при смене выбора комбо, вам нужно добавить код в AfterUpdate события:

Dim rst As Recordset 
Set rst = Me.RecordsetClone 
rst.FindFirst **search criteria** 
If Not rst.NoMatch Then 
    Me.Bookmark = rst.Bookmark 
End If 
Set rst = Nothing 

В зависимости от того, первый столбец запроса, комбо бокс на основе выключения цифровой или текст, вам необходимо заменить критерии поиска с

"CustomerID = " & combo1 

или

"CustomerName = '" & combo1 & "'" 

(но с вашим собственным именем столбца и полем со списком)

У Аллена Брауна есть множество полезных советов по базам данных доступа, проверьте http://allenbrowne.com/ser-03.html для более полного ответа на этот вопрос.

Смежные вопросы