运行时错误3251当前记录集不支持更新

运行时错误3251当前记录集不支持更新

问题描述:

我正在使用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

任何人都可以帮助我指导我犯错的地方 – 2015-04-02 03:21:52

我知道这是一个古老的线程,但我较早前有同样的问题,并认为这是值得大家更新什么解决对我来说。

与你自己类似的情况,一切正常,然后突然间无法写入Access数据库。这个问题对我来说最近发生了一次IT迁移,所有用户只能通过NTFS访问Access数据库。给用户写入NTFS访问解决了这个问题。