У меня есть база данных SQL, где одно из моих полей 'Status' имеет одну из 10 записей в нем (не из выпадающего списка). Я позволяю некоторым людям иметь доступ к данным через базу данных Access, они могут добавить и изменить записи.
Мой вопрос в Доступе, как я могу сделать его так, чтобы поле 'Status' было выпадающим списком, из которого пользователи могут выбрать из (10 записей, которые уже находятся в базе данных SQL)? Это было бы легче для них и также означало бы, что ошибки не могут быть сделаны.
Большое спасибо
Scott
Обычный способ сделать это - использовать комбинированное окно на форме с источником строк, взятым из таблицы поиска, и связанным столбцом, установленным на поле (столбец) таблицы, которую нужно обновить.
В Access вы можете добавить информацию о поиске в столбец. Это автоматически отобразит раскрывающийся список.
Шаг 1: Запустите мастер подстановки:
Шаг 2: После мастера параметры подстановки должны выглядеть следующим образом:
Шаг 3: Когда пользователи открывают таблицу, они должны видеть раскрывающийся список:
В дополнение к решению, описанному Andomar, вы не должны использовать другую таблицу в качестве источника для поиска. Вы также можете предоставить значения поиска в виде списка, который жестко закодирован в определении таблицы. Это подходит для простых сценариев, где поиск - это то, что вряд ли будет изменено.
Здесь есть несколько проблем:
таблицы данных не подходят для пользователей.
вы можете создать сохраненный QueryDef, и если вы просматриваете свойства поля, вторая вкладка аналогична второй вкладке в дизайне таблицы и позволяет вам использовать поле со списком в качестве типа отображения в вашем запросе.Я бы обычно не рекомендовал этого, поскольку, как и таблицы данных, QueryDef не является правильным элементом пользовательского интерфейса, и если вы используете сохраненный запрос в других запросах, вы можете столкнуться с теми же проблемами, которые вызывают поиск в полях таблицы, например плохая идея.
вы создаете пользовательский интерфейс, поэтому используйте инструменты, предоставляемые Access, для создания пользовательского интерфейса. Это означает форму. Источник записей вашей формы будет иметь голые данные, и вы должны создать поле со списком в своей форме, которое будет привязано к полю в таблице позади вашей формы и будет отображать значения из таблиц подстановки. Мастер поможет вам в этом. Если вам так нравится внешний вид таблиц (размер столбцов, сортировка, отображение / скрытие - все это функции, которые хороши в таблицах), вы можете настроить свою форму для отображения в виде таблицы.
Я советую для создания пользовательского интерфейса использовать инструменты, которые предоставляет Access для создания пользовательского интерфейса. На мой взгляд, выпадающий список принадлежит форме и больше никуда. Хотя я иногда могу добавить его к запросу для быстрого и грязного редактирования, я бы никогда не стал делать это в объектах, которые собираются использовать пользователи.