1

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

4

0 回答 0