Автозаполнение комбинированного списка - PullRequest
1 голос
/ 29 мая 2009

Вот и я снова. У меня есть 3 комбинированных списка в моей форме, то есть cmbPart_number, cmbPart_name и cmbEOnumber.

Все, что я хочу узнать, - это как поля cmbPart_name и cmbEO_number автоматически заполняются, когда пользователь делает выбор из номера cmbPart_number. До сих пор я пробовал добавлять part_name и EO_number в SQL-запросе источника строки и в контрольном источнике cmbpart_name, которое я пробовал

Любая помощь с этим действительно ценится

Ответы [ 2 ]

3 голосов
/ 29 мая 2009

Вы должны быть в состоянии сделать это, установив RowSource в событии AfterUpdate

Private Sub cmbPart_number_AfterUpdate()

   cmbPart_name.RowSource = "...WHERE [PartNumber] = '" & _
                                                   cmbPart_number.value & "'; "
   cmbPart_name.Requery

End Sub

Здесь описываются различные способы реализации каскадных комбинированных списков в Access

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

Я знал, что должен быть простой способ сделать это, не углубляясь в VB. Мой первый комбинированный список, т. Е. CmbPart_number, я изменил следующим образом - в строке источника есть все 3 поля в запросе SQL, т.е. Я изменил количество столбцов до 2, так как Access всегда считает первый столбец таблицы как число 0. Таким образом, его столбцы 0,1 и 2 для всех 3 полей. Моя ширина столбца 1 "; 0"

Затем я изменил источник управления cmbPart_name на read = cmbpart_number.column (1). В его источнике строки есть оператор SELECT SELECT part_number, part_name FROM parts, ORDER BY ... Количество столбцов равно 1, а ширина столбца равна 0 "; 1"

Наконец, для cmbEO_number, источником управления является = cmbpart_number.column (2). Оператор выбора источника строки: SELECT part_number, EO_number FROM parts ORDER BY ... Количество столбцов равно 1, а ширина столбца равна 0 "; 1"

Теперь это работает нормально, и любая запись, выбранная в поле cmbPart_number, автоматически заполняет остальные 2. Спасибо за вашу помощь.

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