источник данных для запроса

Само по себе решение иметь 5 одинаковых по структуре таблиц нереляционно. Лучше, причем значительно лучше, это сделать одну таблицу для всех. И в ней поле идентифицирующее признак по которому разделяются таблицы. А также справочник по идентифицирующему признаку. Вы же разбивали данные на 5 таблиц по признаку какой-то сущности? Вот значения этой сущности с ее кодом и поместить в справочник. А код в единую таблицу.

И, как минимум, ваша сегодняшняя проблема просто исчезнет. А также исчезнут немалые затраты времени по созданию/поддержанию интерфейса, связей, запросов. Все будет едино. И просто, и надежно. В форме просто укажете код или имя признака, а в запросе, во Where, отобрать только те значения, которые удовлетворяют условию. И все.

По сабжу. Желаемый результат в нынешней структуре таблиц можно получить только в динамически создаваемом коде запроса в ВБА. Создать строку запроса, считать поле и вклеить его в строку запроса. Фрагмент для From

Visual BasicВыделить код

| | |
| --- | --- |
| 1 | & " From [" & Me.[ПолеИмениТаблицы] & "] " _ |

Квадратные скобки вставлены на случай если имя таблицы содержит пробел