我正在用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
有什么可以解决我问题的东西。
答案 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
上面的代码逐行获取所有记录。您还需要确保每个记录都存储在不同的列中。在这里,您提到了第一个记录的列。类似地,您需要增加或更改下一个可用记录的列。
希望它对您有用。