Выбор таблицы источника для запроса

Sysghost
Дата: 08.02.2016 14:19:26
Приветствую
Подскажите пожалуйста решение такой задачи
Имеется несколько таблиц с одинаковыми полями
На их основании нужно создать запрос, который будет подготавливать эти данные для отчета
Так же имеется возможность фильтровать результат по значению первого поля

Как используя один запрос менять в нем источник данных (таблицу) по выпадающему списку в форме?

Пример: http://my-files.ru/s85nsd
Шыфл
Дата: 08.02.2016 14:39:21
Sysghost,

Если у тебя таблицы типовые, то можешь менять запрос-источник данных

    q="Select * from " & ПолеСоСписком.Value

    If DCount("*", "MSysObjects", "Type = 5 AND Name = 'МойЗапросИсточникДанных'") = 1 Then
        'CurrentDb.QueryDefs.Delete "МойЗапросИсточникДанных"
        CurrentDb.QueryDefs("МойЗапросИсточникДанных").SQL = q
    End If


Только нужно, чтобы поля совпадали и по именам, а то форма не будет работать
Sysghost
Дата: 08.02.2016 14:46:32
А как насчет того, что в запросе имеется связанная таблица по которой идет отбор данных?
Разве эта связь не пропадет после первого же обращения?
Sysghost
Дата: 08.02.2016 14:54:41
Подобный пример я уже проверял ранее, после обращения рушатся все вычисляемые поля и связи.
Тут бы задать переменные для каждого поля и подставить их в запрос вместо названий таблиц, а в форме присваивать им значения из поля со списком формы, но как это сделать, я не знаю.
Шыфл
Дата: 08.02.2016 16:15:42
Sysghost
Подобный пример я уже проверял ранее, после обращения рушатся все вычисляемые поля и связи.


Ну так дайте своим полям аллиасы, чтобы вычисляемые поля не заметили подмену.

И конечно вместо
q="Select * from " & ПолеСоСписком.Value


нужно прописать полный текст сложного запроса со всеми связанными таблицами