使用Excel VBA返回多个DB2行

时间:2018-08-09 07:23:33

标签: excel vba excel-vba db2

我正在用Excel编写SQL查询以获取DB2表行。

即使DB2中有多个记录,我的查询也只提取满足WHERE子句的一行。

这是我现有的代码:

strSQL = "SELECT * FROM XXX WHERE CONTRACT_NUM='ABCD';"
Set rs = conn.Execute(strSQL)
    
Dim fldCount As Integer
Dim iCol As Integer

fldCount = rs.Fields.Count
    
For iCol = 1 To fldCount
  Sheets("Sheet1").Range("A" & iCol).Value = rs.Fields(iCol - 1).Name & ":" &     rs.Fields(iCol - 1).Value
Next

有什么可以解决我问题的东西。

1 个答案:

答案 0 :(得分:0)

您需要遍历记录集列表以获取下一个下一个记录。

Do While rs.EOF = False
For iCol = 1 To fldCount
  Sheets("Sheet1").Range("A" & iCol).Value = rs.Fields(iCol - 1).Name & ":" & rs.Fields(iCol - 1).Value
Next
rs.MoveNext
Loop

上面的代码逐行获取所有记录。您还需要确保每个记录都存储在不同的列中。在这里,您提到了第一个记录的列。类似地,您需要增加或更改下一个可用记录的列。

希望它对您有用。