Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Database 使用VBA查询SQL数据库_Database_Excel_Vba_Where Clause - Fatal编程技术网

Database 使用VBA查询SQL数据库

Database 使用VBA查询SQL数据库,database,excel,vba,where-clause,Database,Excel,Vba,Where Clause,我想创建一个VBA程序,它连接到您提供的数据库(硬编码)。从这里开始,您将对单元格进行编程,以获取查询中WHERE子句的输入,然后在单独的工作表中输出查询的数据。我不想筛选此数据,我需要查询它。有人能帮忙吗?您可以使用Microsoft Query进行此操作。基本步骤是: 1-使用数据>其他来源>Microsoft查询连接到数据库 2-通过右键点击结果表并选择table>External Data Properties并单击上角的小图标来修改结果查询。然后选择“定义”选项卡: 3-在表格上单击

我想创建一个VBA程序,它连接到您提供的数据库(硬编码)。从这里开始,您将对单元格进行编程,以获取查询中WHERE子句的输入,然后在单独的工作表中输出查询的数据。我不想筛选此数据,我需要查询它。有人能帮忙吗?

您可以使用Microsoft Query进行此操作。基本步骤是:

1-使用数据>其他来源>Microsoft查询连接到数据库

2-通过右键点击结果表并选择table>External Data Properties并单击上角的小图标来修改结果查询。然后选择“定义”选项卡:

3-在表格上单击鼠标右键,然后选择“参数”。在该对话框中,可以设置单元格以保存Where子句的参数


有关此项的更多信息,请参阅本页和本页。

什么样的数据库?Excel在
Data>>下有工具可以获取外部数据,因此请尝试录制宏,看看是否可以修改它以满足需要。步骤1防止SQL注入-请参阅步骤2告诉我们您试图连接到哪种类型的数据库。我按照您在那里说的做了,并使其正常工作。我同时运行了一个宏,因为我想获取VBA代码,以便在需要时对其进行更改。当我稍后尝试运行宏时,我不断收到一个错误,表示下标超出范围时出现运行时错误。当我单击“调试”以显示错误时,它会指向以下内容:使用ActiveWorkbook.Connections(“从ProductId查询”).ODBCConnection。这意味着您的连接名称不是“从ProductId查询”。我猜现在可能是“从ProductId2查询”。这种编程不是琐碎的,所以你必须弄明白一大堆类似的事情。基于这一点信息,我建议您将其编程为每次使用相同的连接,这意味着不添加新的连接。这听起来很明显,如果帮不了什么忙,我很抱歉。