如何轻松获取SQL查询结果

如何轻松获取SQL查询结果,sql,excel,vba,rpa,Sql,Excel,Vba,Rpa,这是我在这里的第一篇帖子,请原谅:) 刚开始时,我对任何编程语言都不熟练,但我主要使用SQL,很少使用VBA。我主要是Kofax Kapow RPA软件的RPA开发人员 所以我有一个SQL查询,我需要运行它来获得一些结果,这些结果将在以后的RPABot中使用。RPA软件中有一个内置的运行SQL的功能,但是这个功能非常差,不允许我使用SQL查询中嵌入的许多功能(如regex、listagg、exc) 所以我想做的是在不打开任何SQL软件的情况下快速运行VBA代码。对我来说,最好的选择是从MS SQ

这是我在这里的第一篇帖子,请原谅:)

刚开始时,我对任何编程语言都不熟练,但我主要使用SQL,很少使用VBA。我主要是Kofax Kapow RPA软件的RPA开发人员

所以我有一个SQL查询,我需要运行它来获得一些结果,这些结果将在以后的RPABot中使用。RPA软件中有一个内置的运行SQL的功能,但是这个功能非常差,不允许我使用SQL查询中嵌入的许多功能(如regex、listagg、exc)

所以我想做的是在不打开任何SQL软件的情况下快速运行VBA代码。对我来说,最好的选择是从MS SQL Server或Oracle SQL创建一种.exe文件,在这种情况下,此exe文件将导致创建一个单独的文件(xls、XML、csv或任何其他)并包含结果

我知道在Excel VBA宏中有时可能出现这种情况,但我在RPA软件中使用Excel宏时遇到一些问题,因为有时文件顶部会弹出一个黄色条,您需要“启用内容”来运行宏。当我切换它时,这个条没有出现,宏也不起作用。这个条和类似的东西使RPA机器人不太稳定

所以,希望我在这里已经很好地描述了这个问题:)


你知道我是如何让这件事(这个文件)发生的吗?

不幸的是,你对问题的描述不是很清楚,但我从我能理解的角度出发

所以您必须运行SQL查询,并且必须首先构造此查询

可以使用VBA构造查询字符串,在其中使用VBA将参数嵌入字符串。例如,参数在Excel工作表中,您可以从每行创建一个查询字符串

然后,您可以将这些字符串打印到一个文本文件中,然后在SQL环境中使用,或者使用Excel VBA中的ODBC连接到数据库,运行每个查询,检索每个查询的结果并打印它们,或者将它们放在Excel工作表中

这些可能性对你有帮助吗

例如:

Function makeQuery(myTable, myCol, myVal) As String
    Dim sSQL As String
    
    sSQL = "SELECT * FROM " & myTable & " WHERE " & myCol & "='" & myVal & "';"
    makeQuery = sSQL

End Function

Sub example()
    Open "myQueries.txt" For Output As #1
    Print #1, makeQuery("table1", "memberName", "Johnson")
    Print #1, makeQuery("table1", "memberName", "Adams")
    Close #1
End Sub

很好的回答,谢谢。然而,当我打开Excel时,它仍然不能解决黄色条的问题。我们需要点击工具栏上的“启用内容”,当机器人做这件事时,它并不总是那么容易。我们能否在一开始就避免这个黄条?可能在Excel选项、信任中心、宏设置中启用所有宏或使用信任中心的更高级选项。