2015-04-01 1 views
1

Я использую excel 2007. Я успешно обновил наборы записей в прошлом, используя этот код, но не знаю, почему я начал получать «ошибку времени выполнения 3251» на этом. Может кто-то помочь мне узнать. Пожалуйста.ошибка времени выполнения 3251 текущий набор записей не поддерживает обновление

для получения информации, я получаю данные от доступа к пользовательской форме excel vba &, после чего делает некоторое обновление & удаление по требованию.

Private Sub Update_Finance_return_details_Click() 

Dim rs As ADODB.Recordset 
Dim strSQL As String 
Dim myDB As String 
Dim cn As Object 

On Error GoTo ErrorHandler 

    Set cn = CreateObject("ADODB.Connection") 

    myDB = "X:\COMMERCIAL\New Automated Invioce 
    Tracker\Commercial_Invoice_Tracker.accdb" 

    cn.CursorLocation = adUseServer 

    With cn 
    .Provider = "Microsoft.ACE.OLEDB.12.0" 'For *.ACCDB Databases 
    .ConnectionString = myDB 
    .Open 
    End With 

    Set rs = New ADODB.Recordset 
    If rs.State <> adStateClosed Then rs.Close 

    strSQL = "SELECT * FROM [CT] WHERE [Invoice_ID] = " & Me.ID.Value & "" 

    rs.CursorLocation = adUseServer 
    rs.Open strSQL, cn, adOpenKeyset, adLockOptimistic 

    With rs 
    If (Me.Clarification_Rec_Date_return.Visible = True) Then 
     !Fin_Query_Dt = Me.Clarification_Rec_Date_return.Value 
    Else 
     !Fin_Query_Dt = Null 
    End If 

    !Fin_Query = Me.Clarification_Received_Finance_return.Value 

    If (Me.Clarification_Resolve_date_return.Visible = True) Then 
     !Fin_Query_Resolve_Dt = Me.Clarification_Resolve_date_return.Value 
    Else 
     !Fin_Query_Resolve_Dt = Null 
    End If 
    !Last_Updated_by = Environ("Username") 
    !Last_Updated_on = Now 

    .Update 
    .Close 
End With 

MsgBox ("Record Updated Successfully") 

CleanExit: 
    cn.Close 
    Set rs = Nothing 
    Set cn = Nothing 
    Application.ScreenUpdating = True 

    Exit Sub 
ErrorHandler: 
    MsgBox Err.Description 
    Resume CleanExit 
End Sub 
+0

Может ли кто-нибудь помочь мне в руководстве, где я делаю ошибку –

ответ

0

Я знаю, что это старый нить, но у меня был тот же вопрос некоторое время назад, и чувствовал, что стоит обновление всех с тем, что решить это для меня.

Похожая ситуация с вами, все работает нормально, и внезапно он не смог написать Access DB. Эта проблема для меня сводилась к миграции ИТ, которая недавно произошла, и все пользователи только имели доступ к NTFS доступа к БД доступа. Предоставление пользователям доступа к NTFS разрешает проблему.