我有一个Access 2010实用程序,旨在将Oracle DB via ODBC
连接作为链接表进行查询。我用两个文本框和一个命令按钮创建了一个简单的表单。命令按钮启动VBA代码"DoCmd.OpenReport"
。
报告查询Where子句如下所示:
WHERE (((PRODLAW_ITEMLOC.LOCATION)=[Forms]![frm_Qry_ByItem&Loc]![txtLocation]) AND ((PRODLAW_ITEMMAST.ITEM)=[Forms]![frm_Qry_ByItem&Loc]![txtItem]));
txtItem和txtLocation的值是表单中用户提供的值。
这将返回现在的空数据集。如果我查询本地表(使用单个ODBC查询将所有可能的值提取到单个本地表中),除了刷新本地表所需的8-10分钟之外,此方法可以正常工作。如果我使用简单的直接值"[Forms]![frm_Qry_ByItem&Loc]![txtItem]"
替换查询条件"1234"
(假设1234是有效的项目编号),则它可以正常运行。
我试图明确转换文本框的值,如"Cstr([Forms]![frm_Qry_ByItem&Loc]![txtItem])"
,但它没有任何区别。由于这是一个查询,我不能简单地创建一个断点并检查变量的属性,所以我不得不挠头。我花了几个小时搜索SO和其他网站的线索,但没有发现任何相关内容。
请指教。谢谢!
MFC