Динамически построить строку SQL в Access - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть запрос с именем FilingHeaderQry в MS Access.

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

Я хотел бы использовать некоторые VBA для динамического построения оператора select, который будет вызывать только столбцы, которые не заканчиваются на 'ELIM'.

ДляНапример, FilingHeaderQry будет иметь следующие столбцы:

State, Product, Date, Count, StateElim, ProductElim, DateElim, Sum

Я бы хотел, чтобы оператор select был:

Select State, Product, Date, Count, Sum
from FilingHeaderQry

1 Ответ

0 голосов
/ 21 февраля 2019

Вместо того, чтобы пытаться динамически построить оператор select с использованием VBA, гораздо более простым решением было бы пересмотреть критерии выбора вашего кросс-таблицы, чтобы столбцы, заканчивающиеся на Elim, не включались в выходные данные.

Например, что-то вроде:

TRANSFORM <AggregateFunction>(YourTable.ValueField) AS CrossTabValue
SELECT YourTable.RowField
FROM YourTable
WHERE YourTable.ColumnField NOT LIKE '*Elim'
GROUP BY YourTable.RowField
PIVOT YourTable.ColumnField
...