我有一个交叉表查询,它使用动态日期函数来生成列标题,从而生成字段名称。例如: ForecastPeriod:DateAdd("m",[Period],[StartDate]) 这意味着每次运行交叉表查询时,我都可能得到不同的字段名称。我需要获取此交叉表的结果并将其与其他 3 个类似交叉表的结果结合起来以创建一个新表。现在我使用生成表查询和 3 个追加查询。我这样做的原因是在预测期间的范围内为每个材料项目包括 4 种不同类别的数据。
结果看起来像这样:
材料类别 Per1 值 ...Per2 值 ...... Per24 值
MatA 需求 0 ... 10 ....... 0
MatA 需求美元 $0 ... $10 ....... $0
MatA 预测 10 ... 20 .... 50
MatA 预测 美元 $10 ... $20 ....... $50
问题是已经针对当前交叉表查询的结果构建了生成表查询。当我下个月运行交叉表时,结果将具有不同的字段名称。因此,我被困在手动更改生成表查询设计中的句点,将不再出现在结果中的句点删除并添加新句点。
有没有办法在交叉表运行之前使用 VBA 创建新表而不知道字段名称?
或者有没有办法在运行后对字段名称进行编码或从交叉表中提取它们?
如果我使用如下代码: strSQL = "SELECT tblForecast.Material, tblForecast.Category, tblForecast.X " & _ "INTO tblTemp " & _ "FROM tblForecast;"
我真的不知道实际会调用什么 tblForecast.X 。可能是 11/1/08 或 12/1/08 等。
如果我声明一个变量来保存字段名称并使用日期代码来更改它,我如何将它添加到表中?我会使用 Alter Table 吗?
我相信这是可以做到的,我只是不知道该怎么做,所以任何帮助将不胜感激!谢谢!