[英]Recordset Not Iterating
我確信這完全是用戶錯誤,但是對於我來說,我無法發現如何迭代表並將記錄寫入Excel。 我有下面的代碼,但是它掛在第一個Manager ID
,只是不斷地循環重復對該代碼的寫入。 我想遍歷表中的所有Manager ID
並將它們寫入同一工作簿。
我應該如何調整此代碼才能做到這一點?
Set xlR = xlWb.Worksheets(1).Range("$R$2")
i=0
Set rs2 = Db.OpenRecordset("SELECT * FROM TestTable ORDER BY [Manager ID] ASC", dbOpenDynaset)
managerName = CLng(rs2.Fields(3).Value)
Debug.Print managerName
With rs2
.MoveLast
.MoveFirst
Do While Not .EOF
xlR.Value = .Fields(0).Value
xlR.Offset(ColumnOffset:=1 + (i * 2)).Value = .Fields(2).Value
xlR.Offset(ColumnOffset:=2 + (i * 2)).Value = "ENTATH01"
i = i + 1
.MoveNext
Loop
.Close
End With
xlWb.SaveAs FileName:=sPath & sFile, FileFormat:=xlOpenXMLWorkbook
xlWb.Close SaveChanges:=True
rs2.MoveNext
您無需更改偏移量,因此可以連續分配相同的單元格。
請嘗試以下操作:
xlR.Offset(ColumnOffset:=i * 3).Value
xlR.Offset(ColumnOffset:=1+(i*3)).Value = .Fields(2).Value
xlR.Offset(ColumnOffset:=2+(i*3)).Value = "ENTATH01"
我假設您正在將我初始化為0
更改
i = i + 1
.MoveNext
至
i = i + 2
.MoveNext
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.