在Access中动态构建SQL字符串

时间:2019-02-21 19:12:14

标签: sql ms-access access-vba

我在MS Access中有一个名为FilingHeaderQry的查询。

由于一些交叉表联接,列数根据交叉表而不断变化,并且有很多重复项。

我想使用一些VBA动态构建select语句,该语句仅调用'ELIM'结尾的列。

例如,FilingHeaderQry将包含以下列:

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

我希望select语句为:

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

1 个答案:

答案 0 :(得分:1)

与其尝试使用VBA动态构建select语句,还不如尝试更简单的解决方案,那就是修改交叉表查询的选择条件,以使以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