Ms access VBA无法从查询中找到日期字段
我已经从3个相关表中创建了一个查询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.
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”)