Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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
Vba 设置参数后查看参数化查询的SQL_Vba_Ms Access_Ms Access 2010 - Fatal编程技术网

Vba 设置参数后查看参数化查询的SQL

Vba 设置参数后查看参数化查询的SQL,vba,ms-access,ms-access-2010,Vba,Ms Access,Ms Access 2010,问题是:我正在寻找一种在VBA中设置参数后查看参数化查询SQL的方法 我所尝试的: 公共功能测试 Dim数据库作为DAO.Database 将qd变暗为DAO.QueryDef Set db=CurrentDb 设置qd=db.querydfs![1Para] qd.ParametersID.Value=5 Debug.Print qd.SQL 打电话给qd,结束 端函数 实际产量: 从table1中选择*其中table1.ID=[ID] 期望输出: 从table1中选择*,其中table1.I

问题是:我正在寻找一种在VBA中设置参数后查看参数化查询SQL的方法

我所尝试的:

公共功能测试 Dim数据库作为DAO.Database 将qd变暗为DAO.QueryDef Set db=CurrentDb 设置qd=db.querydfs![1Para] qd.ParametersID.Value=5 Debug.Print qd.SQL 打电话给qd,结束 端函数 实际产量:

从table1中选择*其中table1.ID=[ID] 期望输出:

从table1中选择*,其中table1.ID=5
我在网上寻找这个答案已经有一段时间了,但什么也没找到。这可能表明这是不可能的,但我想我会在这里问一下,以防我遗漏了什么

答案似乎并非如此

如果您修改查询的SQL以从table1中选择*,其中table1.ID=[pID],那么您就可以进行调试。Print Replaceqd.SQL,[pID],qd.ParameterspID.Value我不知道任何其他方法来获得您想要的结果。这是一个非常简洁的解决方案,尽管除了简单的单参数查询之外,我认为它不会起作用。我觉得我想要的并不容易,我想这是一厢情愿的想法。基本上,这里遇到的问题是,提供参数值不会更新查询SQL以包含这些值。您可能会查看ODBC日志记录或ShowPlan,但我不确定它们是否会向您显示带有插入SQL中的参数值的SQL。@HansUp我想是这样的,我只是认为QueryDefs对象中会实现一些如此简单的东西。这并不是我真正需要的答案,更重要的是,它激起了我对另一个问题的兴趣。无论如何谢谢你!