Set cn = New ADODB.Connection
    CnStr = " Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\info97.mdb;Persist Security Info=False"
    
    cn.Open CnStr
    
    Set rs = New ADODB.Recordset
    
    If rs.State = adStateOpen Then rs.Close
    
    rs.AddNew
    
    rs.Fields("姓名") = Text1(0).Text
    
    rs.Update    MsgBox ("添加完成!")

解决方案 »

  1.   


        Set rs = New ADODB.Recordset
        
        If rs.State = adStateOpen Then rs.Close   
        
        rs.AddNew在if語句時﹐你已經將記錄集關閉了﹐當然不允許操作了
      

  2.   

    Set cn = New ADODB.Connection
        CnStr = " Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\info97.mdb;Persist Security Info=False"
        
        cn.Open CnStr
        
        Set rs = New ADODB.Recordset
        
        If rs.State = adStateOpen Then rs.Close
        
        rs.open ......  <-------------    rs.AddNew
        
        rs.Fields("姓名") = Text1(0).Text
        
        rs.Update    MsgBox ("添加完成!")
      

  3.   

    楼上那位说得很对啊试试看啊
    记得Rs.open后面还有参数呢。你自己看看Msdn上哦!
      

  4.   

    为何要close呢,Set New 后可以直接用啊
      

  5.   

    朋友们辛苦了,我换个方法,呵呵,成功.代码如下:    Set cn = New ADODB.Connection
        CnStr = " Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\info97.mdb;Persist Security Info=False"
        
        cn.Open CnStr
        
        Set rs = New ADODB.Recordset
        
        SQL = "insert into info(卫字) values ('" & Text1(0).Text & "')"    rs.Open SQL, cn    MsgBox ("添加完成!")