【发布时间】:2019-12-06 19:47:24
【问题描述】:
我正在尝试通过 VBA 中的 ADODB 记录集从 SQL 中提取数据。当 SQL 查询包含分号时,我正在努力从 SQL 查询的每个部分获取结果。想知道是否有任何方法可以做到这一点,而无需将我的查询拆分为单独的查询(以消除分号问题)并为每个查询使用单独的记录集。
请参阅下面的简单示例。当我运行它时,F2=1,G2=Failed - 我想要 F2=1,G2=2。
' Sub to test using semi-colons in SQL queries
Sub getDataSimple0(server As String, database As String)
' Initialise variables
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
' Open Connection using Windows Authentication
con.ConnectionString = "Provider=SQLOLEDB;Data Source=" & server & ";Initial Catalog=" & database & ";Trusted_connection=Yes;Integrated Security=SSPI;Persist Security Info=True;"
con.Open
' Open recordset
rs.Open "SELECT 1; SELECT 2", con
' Add data to worksheet
Range("F2").CopyFromRecordset rs
rs.NextRecordset
If rs.State > adStateClosed Then
Range("G2").CopyFromRecordset rs
Else
Range("G2").Value = "Failed"
End If
' Close connection
con.Close
End Sub
【问题讨论】: