Как заполнить значение текстового поля на основе значения в поле со списком в MS Access 2007?
У меня есть поле со списком, которое имеет тип поиска, т. е. я выбрал для столбца из таблицы и сохранять выбранное значение в другой таблице. Таблица, которую я ищу, имеет другой столбец, и мне нужно, чтобы значение в этом столбце отображалось в текстовом поле, и каждый раз, когда я изменяю значение в поле со списком, мне нужно, чтобы соответствующее значение отображалось в текстовом поле. Как я могу это сделать? Что я сделал до сих пор, чтобы написать Select
запрос, который выбирает соответствующего столбца на основе значения поля со списком. Есть более достойный способ сделать это? Пожалуйста, помогите мне!
3 ответов
сделайте источник поля со списком для ваших 2 полей, например SELECT id, name FROM Customers
Убедитесь, что для свойства Count столбца комбинации задано значение 2, соответственно.
Затем сделайте несвязанный источник текстового поля равным =MyCombo.Column(1)
(из памяти этот столбец основан на нуле).
Вот и все, требуется нулевой код.
лучше использовать событие поля со списком, например onChange, поэтому при выборе событие устанавливает значение текстового поля.
me!txtTextBox1 = me!cboComboBox1.column(1)
таким образом, он будет работать каждый раз.
вы также можете использовать кнопку с onClick и т. д. но выбор за вами (и, как упоминалось в предыдущем посте, измените номер столбца на основе его источника строки с 0 первым.
после прочтения вопроса и ответов я попробовал следующее, И, похоже, работает хорошо (до сих пор):
чтобы отобразить более одного столбца выбора combobox, я прибегнул к следующему:
поместите текстовое поле над combobox, Размер его путем выборки других полей, так что он охватывает текстовый фрейм combobox. Я намеренно оставил небольшое пространство справа от поля, чтобы указать, что это Не является частью комбинированный список.
в источнике управления для текстового поля введите выражение ниже:
=[DefaultAcct].[Column](1) & " " & [DefaultAcct].[Column](2)
затем в событии "onchange" combobox установите фокус на текстовое поле.
Private Sub DefaultAcct_Change()
txtConcatenate1.SetFocus
End Sub