Объект недействителен или больше не установлен - PullRequest
0 голосов
/ 21 мая 2018

Я сталкиваюсь с ошибкой, пожалуйста, помогите, отладчик продолжает указывать на строку SaveToFile, кто-нибудь знает, что не так с моим кодом?

Private Sub Form_Timer()

Dim rst As DAO.Recordset2
Dim rsA As DAO.Recordset2
Dim fld As DAO.Field2

Dim db As DAO.Database
Set db = CurrentDb

If DCount("FileName", "Query1") > 0 Then
    Set rst = db.OpenRecordset("Query1")
    Set rsA = rst.Fields("Attachments").Value

    If Not (rst.EOF And rst.BOF) Then
        rst.MoveFirst
        Do Until rst.EOF = True
            rsA.Fields("FileData").SaveToFile "D:\" & rst.Fields("FileName").Value & rsA.Fields("FileType")
            rst.Edit
            rst!ExportedFlag = "Yes"
            rst.Update
            rst.MoveNext
        Loop
    Else
        MsgBox "There are no new records in the database."
    End If

    MsgBox "Finished looping through records."

    rst.Close
    Set rst = Nothing
    Set rsA = Nothing
    Set fld = Nothing
    Set db = Nothing
End If

Мое сообщение об ошибке:

My Error ScreenShot

1 Ответ

0 голосов
/ 21 мая 2018

После перехода в rst ваш rsA больше не действителен.

Вам необходимо установить rsA внутри цикла.

Do Until rst.EOF = True
    Set rsA = rst.Fields("Attachments").Value
    rsA.Fields("FileData").SaveToFile "D:\" & rst.Fields("FileName").Value & rsA.Fields("FileType")
...