首加入这个    
If cnn.State = adStateOpen Then
    cnn.Close
    End If
++++++++++++
还有,你写的代码中
rs1.Open strConn1, cnn,3,1

解决方案 »

  1.   

    注意,我写的
    rs1.Open strConn1, cnn,3,1
    中有一个逗号是汉字状态下的
    +++++++++++
    也许应该还原
    rs1.Open strConn1,conn
      

  2.   

    怎么不用
    cm.commandtext="insert into 维护表 values('" & …… & "')"
    cm.execute
      

  3.   

    cnn.CursorLocation = adUseClient
    cnn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\数据库.mdb;Persist Security Info=False"  Set rs1 = New ADODB.Recordset
      strConn1 = "select 来电日期,故障描述,维护日期,维护结果 from 维护表 "
      rs1.CursorLocation = adUseClient
      rs1.Open strConn1, cnn
      
      With rs1
        .AddNew
        '如果数据表中的来电日期、维护日期字段为日期型则要转换
        .Fields("来电日期") = CDate(txtldrq.Text)
        .Fields("故障描述") = txtgzms.Text
        .Fields("维护日期") = CDate(txtwhrq.Text)
        .Fields("维护结果") = txtjg.Text
        
        .Update
      End With
      

  4.   

    补充一点:rs1.Open strConn1,cnn, adOpenStatic,adLockOptimistic