MS Access, пройти через запрос со сложными критериями. Критерии включают Выбор статистики и функции VBA - PullRequest
0 голосов
/ 10 ноября 2009

В настоящее время у меня есть несколько запросов, которые запрашивают данные из нескольких таблиц, связанных через ODBC, и некоторые временные таблицы, которые редактируются через пользовательский интерфейс. У меня есть сложные критерии в моих запросах, такие как:
SELECT * from ThingsData<br> WHERE (Thing In(SELECT Thing from ListOfThings) AND getThingFlag() = True); В этом случае Thing - это поле, а ListOfThings - временная таблица, которую пользователь определяет из пользовательского интерфейса. По сути, пользователь составляет список поля Thing, по которому он / она хочет фильтровать данные, и я хочу запрашивать только те данные, которые соответствуют значениям Thing, которые пользователь добавляет в свой список. В настоящее время данные, которые я запрашиваю, находятся в связанной таблице ODBC, а временная таблица ListOfThings представляет собой обычную локальную таблицу, и все работает отлично. Я хочу избавиться от связанной таблицы и использовать вместо этого сквозной запрос. Однако, когда я делаю это, если критерии не являются невероятно упрощенными, я получаю ошибку:

"ODBC - Ошибка вызова. Неверное имя объекта ListOfThings."

Если у меня нет каких-либо критериев, это прекрасно работает.

Короче говоря: как в сквозном запросе как применить критерии, которые включают SELECT и функции из моих модулей, и просто в основном фильтровать проходную таблицу на основе данных из моих локальных таблиц?

1 Ответ

0 голосов
/ 10 ноября 2009

Что находится на другом конце этой ссылки ODBC? В сквозном запросе вы должны учитывать синтаксис, требуемый сервером базы данных, а не синтаксис Access. Сначала я бы заподозрил, что у вас не может быть смешанных имен таблиц, и я бы попробовал listofthings в качестве имени.

Если у вас есть инструмент, который можно использовать для тестирования запросов непосредственно к серверу базы данных, настройте запрос там, а затем просто вырезайте и вставьте его в сквозной запрос Access.

...