Как изменить «источник строки» столбца в таблице доступа во время выполнения? - PullRequest
0 голосов
/ 27 октября 2008

Я хотел бы изменить значения «Row Source» в таблице Access с помощью кода. Таким образом, я могу отфильтровать то, что пользователь может выбрать в поле со списком столбца.

Ответы [ 3 ]

3 голосов
/ 27 октября 2008

В соответствии с ответом Дэйва Дюплантиса вы можете прочитать «Зло полей поиска в таблицах» Из Access Web различными MVP Microsoft Access.

2 голосов
/ 27 октября 2008

Я не знаю, подходит ли вам этот вариант, но я бы порекомендовал разделить таблицу и параметры фильтрации, настроить форму для ввода и изменения данных и использовать код для установки источника строки для поле со списком в форме. Как вы уже видели, в то время как Access предоставляет возможность обрабатывать таблицы как нечто большее, чем просто таблицы, это в первую очередь для целей графического интерфейса пользователя. За кулисами Access предпочитает работать с формами для ввода данных.

Если вам нужно использовать табличный метод, вы можете попробовать просмотреть статьи базы знаний MS, на которые есть ссылка здесь . (Статьи kb: здесь и здесь .) Имейте в виду, что они относятся к Access 97 и могут больше не иметь значения. Мне не удалось найти более свежие ссылки на эти свойства в таблице доступа Access.

1 голос
/ 27 октября 2008

Ваш вопрос довольно запутанный. «RowSource» - это свойство списка или поля со списком. Таблица не имеет RowSource, но, как указывает Рему, Access позволяет вам определять поля в ваших таблицах, чтобы они отображали комбинированное окно, которое ищет значения из связанной таблицы. Это поле со списком имеет источник строк, так что, возможно, это то, что вы имеете в виду, но это просто ужасная идея.

Это поле со списком, которое вы определяете в дизайне таблицы, является объектом пользовательского интерфейса, и пользовательский интерфейс не входит в определения вашей таблицы. Это не только приводит к всевозможным проблемам, но и означает, что ваши таблицы могут быть повреждены из-за изменений в других таблицах, которые делают недействительным определение полей поиска.

Элементы управления пользовательского интерфейса принадлежат объектам пользовательского интерфейса, что означает, что вы должны помещать их только в формы (или, на самом низком уровне, в сохраненных запросах).

Фильтрация для пользователя, опять же, проблема пользовательского интерфейса, а не та, которая имеет какое-либо отношение к дизайну таблицы.

...