Моей целью было экспортировать текущую запись набора записей в файл Excel.Как пишет Эрик, невозможно установить текущую запись для другого набора записей.
Но copyFromRecordset имеет очень интересные свойства для решения моей проблемы, как вы можете видеть ниже CopyFromRecordset RecordSet, MaxRows, MaxColumns Полное описание здесь
Итак, я протестировал этот код, и он прекрасно работает
Dim oRecSet As Recordset, oRecSetClone As Recordset
Dim varBookmark As Variant
Set objExcelApp = New Excel.Application
objExcelApp.Visible = True
Set wb = objExcelApp.Workbooks.Open("G:\Access\test.xlsx")
Set ws = wb.Sheets(1)
sSQL = "SELECT * FROM tbl"
Set oRecSet = CurrentDb.OpenRecordset(sSQL)
Set oRecSetClone = oRecSet.Clone
Do While Not oRecSet.EOF
Debug.Print i
oRecSetClone.Bookmark = oRecSet.Bookmark
ws.Range("A" & i).CopyFromRecordset oRecSetClone, 1
oRecSet.MoveNext
Loop
End Sub
Только один комментарий
Я использую закладку, потому что заметил странное поведение, когда применяю rec copyFromRecordSet,1.После этой команды rec.movenext генерирует сообщение об ошибке: Nbr 3021 - нет текущей записи