2009-03-02 6 views
2

Это должно быть довольно просто, но мой Google-Fu пока не может найти ответ. Я просто хочу создать раскрывающийся список в Access, чтобы при выборе я мог выполнить какое-то действие на основе значения выбора. Например, у меня есть список людей, и я бы хотел заполнить поле со списком, чтобы их имена появлялись в списке, но «значение» установлено на их идентификатор (первичный ключ).MS Access Dropdown List/Combo Box

ответ

4

Похоже, что вы можете спросить, как отображать что-то в выпадающем меню, отличном от идентификатора, сохраняя идентификатор в качестве возвращаемых данных из раскрывающегося списка. Если это так, установите столбец Bound Column в поле ID (обычно 1) и (при условии, что поле имени будет следующим) установите значение столбца равным 2, а ширины столбцов - 0 "; 1" или 0 "; [любая ширина вам нужно].

+0

А, спасибо. Я только что понял это прямо перед тем, как увидел ваш ответ. Я удалю свой ответ и дам вам кредит. –

1

Вам нужно будет подключиться к событию onchange для выпадающего списка.

и от MSDN

+0

Извините, мой вопрос был плохо сформирован. Моя проблема была не в кодировке, это было понимание semanti cs выпадающего списка. В других языках/фреймах я просто привязывал кучу пар ключ/значение к некоторому элементу управления списком, но я не мог понять, как это сделать, используя IDE доступа. –

0

Как вы установить свойства для комбо-поле?

Может быть, вы могли бы попробовать установить (при условии, что вы тянете данные из Table1 с полями ID и FIELD1

  • Row. Источник: SELECT [Table1] [ID], [Table1]. [Поле1] ОТ Table1;
  • строки источника Тип: Таблица/Запрос
  • Bound Колонок: 1
  • Колонка Count: 2
  • Колонка Ширины: 0" , 1"

, а затем крюк в случае OnChange в Chris Ballance предлагает. Свойством value в поле со списком является ID; текст будет то, что находится в Field1.

0

ОК, я понял, хотя это было немного контр-интуитивно понятным. В Access Combobox может быть столько значений, сколько вы хотите (вместо одного ключа по значению). По умолчанию все значения указаны в списке, поэтому вам нужно скрыть определенные столбцы, установив их ширину в 0. Это делается с помощью свойства ColumnsWidths в панели свойств. ColumnWidths принимает список значений, разделенный запятыми, который соответствует порядку столбцов в Список: Надеюсь, это поможет кому-то.