【发布时间】:2015-10-07 01:22:28
【问题描述】:
我正在尝试运行以下查询:
SELECT Project.* FROM Project WHERE (((Projects.[End Date (PPL)])>=DateAdd('m',-6,Date())));
它在 Access (2007) 中运行良好,但是当我将其移至 VBA 时:
strQry = "SELECT Project.* FROM Project WHERE (((Projects.[End Date (PPL)])>=DateAdd('m',-6,Date())));"
我收到一条错误消息,提示“没有为一个或多个必需参数指定值”
我可以使用以下代码运行它,但它没有提供正确的信息:
strQry = "SELECT Project.* FROM Project WHERE Project.[End Date (PPL)] >= DateAdd('m',-6,Date());"
任何帮助都会很棒。
【问题讨论】:
-
这个表叫Project还是Projects?
-
您是在 Excel 中运行它吗?
DateAdd函数在 Excel 中的工作方式与在 Access 中的工作方式相同吗?当您说它没有提供正确的信息时,该信息有什么不正确之处?这将为您提供需要调整的线索。 -
@ScottHoltzman,
DateAdd()是 Access SQL 中的一个函数,只要 Excel 通过 ODBC 连接到 Access,查询就可以使用任何 Access SQL 函数/语法,而不管 Excel,就像 Access 连接到SQL Server 通过 ODBC,查询可以在 Access 之外使用 MSSQL 中的任何语法,因为处理发生在外部数据库引擎中,并且只有数据被发送回客户端(这里是 Excel)。 -
请提供更多代码,例如 Excel/Access 之间的 ODBC 连接、可用表和架构:项目和/或项目。
-
@Parfait 我认为这不对。我无法通过 ODBC 或 OLEDB 使用
Nz()函数。只有 JET* 功能可用,而 Access 特定功能不可用。