【发布时间】:2014-04-15 02:44:20
【问题描述】:
我正在使用 VBA 宏来制作表格。首先,我输入一个日期“PeriodEnd”,该日期使用查询过滤基表。然后,我正在制作第二个表并使用 (a) 查询结果和 (b) 基于查询记录和其他相关表的大约 30 个计算字段填充该表。
我的问题是我试图将 PeriodEnd 日期放在表名中,但我似乎无法获得正确的语法。我是 VBA 初学者,非常感谢您的帮助。我的 VBA 如下所示:
....
Dim db as DAO.Database
Dim PeriodEnd as Date
Dim PerStr as String
Set db = CurrentDb()
PeriodEnd = #12/31/2013#
PerStr = Format(PeriodEnd, "yyyy-mm-dd")
db.Execute "CREATE TABLE TblName_" & PerStr _
& " (Field1 as LONG)
我已经用表名是静态的语法运行了它,我没有得到任何错误。当我使用变量表名运行时,我得到“运行时错误'3290':CREATE TABLE 语句中的语法错误。”
另外,有没有更好的方法来构建它?这些表中的唯一区别是期间结束日期——以及不同的期间结束日期对我在 VBA 中形成的基础计算的影响(SQL 中不支持的函数)。
关于是否应该将其结构化为查询或报告的任何建议(还没有报告经验)?
【问题讨论】:
-
这可能会更好,因为只有一个表有 2 个字段: period_end;和Field1?在我看来,您建议的每个表名都可以作为一个主表中的一个字段来处理。
标签: ms-access vba ms-access-2013