VB в Access: значения поля со списком не отображаются в представлении формы, но отображаются через Debug.Print - PullRequest
0 голосов
/ 06 апреля 2009

Код в форме onLoad:

  country_combo.RowSourceType = "Value List"

Код в функции сброса:

  Dim lListIndex As Long

  With Me.country_combo
    For lListIndex = .ListCount - 1 To 0 Step -1
      .RemoveItem (lListIndex)
    Next lListIndex<br/>
  End With

Код для населенного пункта страны:

  *For n = 1 To numCountries*
    *countryCombo.AddItem (countryRS.Fields("countryName"))*
    *countryRS.MoveNext*
  *Next n*

У меня проблема, возникающая ПОСЛЕ кода, используемого для заполнения списков стран. Здесь есть значения, так как я могу запустить Debug.Print (countryCombo.Value), и он выводит название выбранной страны, но я вообще не вижу значений в выпадающем списке. Они невидимы, и, насколько я знаю, для определенных предметов нет свойства видимости, если я не полностью ошибаюсь.

comboBoxError.png http://img110.imageshack.us/my.php?image=comboboxerror.png

Ответы [ 3 ]

0 голосов
/ 11 мая 2009

Я также видел то, что вы описываете здесь - насколько я могу судить, это ошибка в Access (я использовал 2007), которая возникает, только когда вы программно возитесь с содержимым поля со списком. Так не бывает каждый раз. Проблема исправляется, если выделить текст, который находится в поле со списком.

0 голосов
/ 12 апреля 2010

У меня возникла похожая проблема с Access 2003. Исходя из выбора одного поля со списком, источником строки списка является строка SQL. В основном SELECT DISTINCT [MyField_Selected] FROM MyTable. Для некоторых полей значения видны в списке, а для других - нет. Однако значения есть, так как я могу получить к ним доступ через код. Чтобы сделать его более интересным, он отлично работает в Access 2007. Только что нашел решение на другом форуме. Проверьте свойство формата рассматриваемого поля (полей) в таблице. В моем случае, когда Access 2007 создал таблицу, он поместил туда формат @. Я удалил это, и все прекрасно работает!

0 голосов
/ 30 апреля 2009

Я думаю, вам, вероятно, следует использовать инструменты графического интерфейса Access, чтобы делать то, что вы ищете. В режиме конструктора щелкните поле, которое вы пытаетесь заполнить, а затем перейдите на вкладку «Поиск». Затем вы можете указать таблицу для заполнения поля, и ваши формы также должны автоматически обновиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...