访问表单文本框作为对ODBC源的输入查询返回空数据集

时间:2013-05-29 19:54:12

标签: sql vba ms-access odbc

我有一个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

0 个答案:

没有答案