你在过程中加入:
msgbox err.number & ":" & err.descriptionerr.number 是错误号  如:3704
err.description 是错误内容 如:对象关闭时,操作不被允许

解决方案 »

  1.   

    你在远程操作时,应使用事务
    Dim conn As New ADODB.Connectionconn.open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=[账号];Initial Catalog=[数据库名];Data Source=[服务器名];password=[密码];"
    conn.BeginTrans
    err.number=0
    conn.Execute "update ..........."
    conn.Execute "update ..........."
    conn.Execute "update ..........."
    conn.Execute "update ..........."
    conn.Execute "update ..........."
    if err.number=0 then
       conn.CommitTrans
       msgbox "操作成功" 
    else
       RollbackTrans
       msgbox "操作失败"
    end if就是说,只要有一条语句出错,其他成功的语句也一起撤消
      

  2.   

    修改一样if err.number=0 then
       conn.CommitTrans
       msgbox "操作成功" 
    else
       conn.RollbackTrans
       msgbox "操作失败"
    end if
      

  3.   

    '示例
    sub test()
    on error goto lb_err ''设置错误处理conn.open ... '打开数据源
    conn.execute .....  '进行你的数据处理
    conn.close '关闭数据源
    exist sub '退出lb_err: '错误处理
    msgbox "发生下列错误: " & vbcrlf & error()
    end sub
      

  4.   

    对象关闭时,操作不被允许
    这个问题一般是没有满足条件的记录返回
    而在使用之前没有判断有没有记录赵成的
    if not objRS.EOF THEN
         --THE ERROR RAISE CODE PLACR HERE
    END IF
      

  5.   

    on error resume next后面用err.number的值判断