Я написал следующий код для импорта данных из таблицы Access в Excel, но получаю сообщение об ошибке rs.MoveFirst
:Сообщение об ошибке «Либо EOF или BOF истинно, либо текущая запись была удалена»
либо EOF или BOF истинно, или текущая запись была удалена
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim ws As Excel.Application
Dim strSQL As String
Dim i As Long
strSQL = "SELECT * FROM salebill where date >= " & _
sale.fromdate.Value & " And date <= " & sale.todate.Value & ""
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=D:\Payroll Soft\Acess\Mobile Shop.mdb;"
.Open
End With
Set rs = New ADODB.Recordset
rs.Open strSQL, cn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
rs.MoveFirst
MsgBox (rs.RecordCount & " Rows Generated")
''Code to Export Data to Export''
Set ws = CreateObject("Excel.Application")
ws.Workbooks.Add
ws.range("a3").Select
ws.Selection.NumberFormat = "0"
For i = 0 To rs.Fields.Count - 1
ws.ActiveCell.Offset(0, i).Value = rs.Fields(i).Name
Next
ws.range("a4").Select
Do Until rs.EOF
For i = 0 To`enter code here` rs.Fields.Count - 1
ws.ActiveCell.Offset(0, i).Value = rs.Fields(i).Value
Next
ws.ActiveCell.Offset(1, 0).Select
rs.MoveNext`enter code here`
Loop
rs.Close
Какая линия выдает эту ошибку? – Fred
rs.moveFirst ....................... Ошибка здесь – Nilesh
, тогда набор записей либо пуст, либо уже на 'BOF'. Перед попыткой доступа к набору записей вы должны проверить «EOF» и «BOF». – Fred