簡體   English   中英

記錄集未迭代

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM