我是这样添加记录的(可以的,我实验过)
    rc.Fields("编号").Value = Text1.Text
    rc.Fields("姓名").Value = Text2.Text
    rc.Fields("生日").Value = Text3.Text
    rc.Fields("性别").Value = Text4.Text
    rc.Fields("地址").Value = Text5.Text
    rc.Fields("学院").Value = Text6.Text
    rc.Fields("班别").Value = Text7.Text
    rc.Fields("宿舍").Value = Text8.Text
    rc.Fields("计机维护").Value = Text9.Text
    rc.Fields("vb").Value = Text10.Text
    rc.Fields("java").Value = Text11.Text
    rc.Fields("photoshop").Value = Text12.Text
    rc.Fields("flash").Value = Text13.Text
    rc.Fields("编号2").Value = Text1.Text
    rc.Fields("编号3").Value = Text1.Text
    rc.Update但是,我不知道怎样删除记录
我这样写不行     rc.Delete
                 rc.Update
怎样写才可以解决??

解决方案 »

  1.   

    直接执行Sql
    cnn.execute "DELETE From ......"
      

  2.   

    sql="delete from 表名  where 关键唯一字段="& 值
    call mcnn.excute(sql)就可以删除了
      

  3.   

    删除记录的例子
    1、
    Public Sub DeleteX()
       Dim rstRoySched As ADODB.Recordset
       Dim strCnn As String   strCnn = "Provider=sqloledb;" & _
          "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "   Set rstRoySched = New ADODB.Recordset
       rstRoySched.CursorLocation = adUseClient
       rstRoySched.CursorType = adOpenKeyset
       rstRoySched.LockType = adLockOptimistic   rstRoySched.Open "SELECT * FROM roysched " & _
          "WHERE royalty = 20", strCnn, , , adCmdText    ' Delete the record.
       rstRoySched.Delete
       rstRoySched.Update   rstRoySched.CloseEnd Sub
    2、
    Public Sub DeleteX()
       Dim cnn As ADODB.Connection
       cnn.open "Provider=sqloledb;" & _
          "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
       cnn.execute "delete form 表 where id=2"End Sub
      

  4.   

    我试过
        cnn.Execute "delete from 第一表 where 第一表.编号=text1.text"
        cnn.Execute "delete from 第二表 where 第二表.编号=text1.text"
        cnn.Execute "delete from 第三表 where 第三表.编号=text1.text"
    执行完后没有反应!至于( SoHo_Andy(冰))
    写的第一个例子,跟我开始写的那个一样,不行!!
    我不知道是什么问题我在form_load的时候的代码是
        Dim strsql As String
        Set cnn = New ADODB.Connection
        Set rc = New ADODB.Recordset
        
        strsql = "select all 第一表.编号,第一表.姓名,第一表.生日,第一表.性别,第一表.地址,第二表.编号 as 编号2,第二表.学院,第二表.班别,第二表.宿舍,第三表.编号 as 编号3,第三表.计机维护,第三表.vb,第三表.java,第三表.photoshop,第三表.flash from 第一表,第二表,第三表 where 第一表.编号=第二表.编号 and 第一表.编号=第三表.编号"
        cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\vb\database.mdb;Persist Security Info=False"
        cnn.Open
        rc.CursorLocation = adUseClient
        rc.Open strsql, cnn, adOpenKeyset, adLockOptimistic
      

  5.   

    你这个语句的问题是
    cnn.Execute "delete from 第一表 where 第一表.编号=text1.text"改为试试
    cnn.Execute "delete from 第一表 where 第一表.编号='"& text1.text & "'"
      

  6.   

    如果编号为数字类型字段则改为试试
    cnn.Execute "delete from 第一表 where 第一表.编号="& text1.text & ""
      

  7.   

    原来要等我关了程序,再次开过的时候才删除,如果不重新打开程序就还在这里
    那么应该是更新的问题啦,我在下面加了rc.update也不行(一条一条按下去的时候,那条记录还是在那里)只有关了程序再次打开才没有那条记录
    现在应该怎样更新呢???
    请指点下
      

  8.   

    rc.recordsource= "delete from yourtable where yourfield = yourCondition"
      

  9.   

    我不会关闭记录重新再打开啊
    我就这样写的
    rc.close
    rc.Open strsql, cnn, adOpenKeyset, adLockOptimistic
    这样写会发生错误的
    于是我在rc.close后面加上On Error Resume Next
    虽然没有错误,但是还是不能更新