Как заполнить значение текстового поля на основе значения в поле со списком в MS Access 2007? - PullRequest
6 голосов
/ 21 июня 2011

У меня есть поле со списком, который имеет тип поиска, то есть я выбрал источник в качестве столбца из таблицы и сохраняю выбранное значение в другой таблице. У таблицы, которую я ищу, есть другой столбец, и мне нужно, чтобы значение в этом столбце отображалось в текстовом поле, и каждый раз, когда я изменяю значение в комбинированном окне, мне нужно, чтобы соответствующее значение отображалось в текстовом поле. Как я могу это сделать? На данный момент я написал запрос Select, который выбирает соответствующий столбец на основе значения поля со списком. Есть ли более приличный способ сделать это? Пожалуйста, помогите мне!

Ответы [ 3 ]

13 голосов
/ 21 июня 2011

В качестве источника поля со списком укажите 2 поля, например, SELECT id, name FROM Customers
. Убедитесь, что для свойства Combo Count установлено значение 2, соответственно.
Затем сделайте источник несвязанного текстового поля равным =MyCombo.Column(1) (из памяти этот столбец основан на нуле).
Вот и все, требуется нулевой код.

4 голосов
/ 31 августа 2012

Лучше использовать событие со списком, например, onChange, поэтому, когда выбор сделан, событие устанавливает значение текстового поля.

me!txtTextBox1 = me!cboComboBox1.column(1)

Таким образом, он будет работать каждый раз.

Вы также можете использовать кнопку с onClick и т. Д., Но выбор за вами (и, как упоминалось в предыдущем посте, измените номер столбца в зависимости от источника строки, при этом 0 будет первым.

0 голосов
/ 30 июля 2017

После прочтения вопроса и ответов я попробовал следующее, и, кажется, оно работает хорошо (пока):

Чтобы отобразить более одного столбца в поле со списком, я прибег к следующему:

Поместите текстовое поле поверх поля со списком, измените его размер, выбрав другие поля, чтобы оно охватывало текстовый фрейм поля со списком.Я специально оставил небольшое пространство справа от НОВОГО текстового поля, чтобы указать, что оно НЕ является частью поля со списком.

В поле «Источник управления» для текстового поля введите следующее выражение:

=[DefaultAcct].[Column](1) & "  " & [DefaultAcct].[Column](2)

Затем в событии 'onchange' в выпадающем списке установите фокус на текстовое поле.

Private Sub DefaultAcct_Change()
    txtConcatenate1.SetFocus   
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...