如何轻松获取 SQL 查询结果

How to get SQL query results easy

这是我第一次post来这里所以请原谅:)

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

所以我有一个 SQL 查询,我需要 运行 获得一些稍后将在 RPA 机器人中使用的结果。 RPA 软件中有 运行 SQL 的内置功能,但此功能非常差,不允许我使用 SQL 查询中嵌入的许多功能(如正则表达式,listagg, exc.)

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

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

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

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

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

所以你必须运行一个SQL查询并且你必须首先构造这个查询?

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

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

这些可能性对您有帮助吗?

示例:

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