Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access VBA无法从查询中找到日期字段_Ms Access_Vba - Fatal编程技术网

Ms access VBA无法从查询中找到日期字段

Ms access VBA无法从查询中找到日期字段,ms-access,vba,Ms Access,Vba,我已经从3个相关表中创建了一个查询OrderAllQuery。其中一个字段是日期字段,该字段在原始表和名为OrdDate的查询中具有相同的名称 我有一个简单的子程序来运行查询,然后运行特定日期范围的报告OrdDate必须在范围内。sub(见下文)在Odate=行上显示了一个2465 我看不出有什么问题。欢迎提供任何建议 Private Sub-cmdOrders\u Click() DoCmd.OpenQuery“OrderAllQuery” 标注日期 Odate=[OrderAllQuery.

我已经从3个相关表中创建了一个查询
OrderAllQuery
。其中一个字段是日期字段,该字段在原始表和名为
OrdDate
的查询中具有相同的名称

我有一个简单的子程序来运行查询,然后运行特定日期范围的报告
OrdDate
必须在范围内。sub(见下文)在
Odate=
行上显示了一个2465

我看不出有什么问题。欢迎提供任何建议

Private Sub-cmdOrders\u Click()
DoCmd.OpenQuery“OrderAllQuery”
标注日期
Odate=[OrderAllQuery.OrdDate]
DoCmd.关闭acQuery,“OrderAllQuery”
调用RunReport(“订单报告”,Odate,Me.txtDateFrom,Me.txtDateTo)
端接头
注意,对象的方法只会在数据表视图中打开给定名称的查询(假设该查询不是操作查询,并且未指定视图参数);然后不能通过代码直接从数据表视图中获取数据

要从查询中获取值,可以将查询作为DAO或ADO记录集打开,例如:(使用DAO):

Private Sub-cmdOrders\u Click()
使用CurrentDb.OpenRecordset(“OrderAllQuery”)
如果不是,那么EOF
.先走一步
调用RunReport(“订单报告”!OrdDate,Me.txtDateFrom,Me.txtDateTo)
如果结束
.结束
以
端接头
或者使用域聚合函数,如
DLookup
DFirst
,如果您对返回的记录不感兴趣:

Private Sub-cmdOrders\u Click()
标注日期
odate=DFirst(“OrdDate”、“OrderAllQuery”)
如果不是IsNull(odate),则
调用RunReport(“订单报告”,odate,Me.txtDateFrom,Me.txtDateTo)
如果结束
端接头

这是否为您提供了所需的值
Odate=DLookup(“[OrdDate]”,即“OrderAllQuery”)