该数据库中rsl中原有几列,但我用如下语句添加后,原有的数据变成了0.
请问如何解决
谢谢    Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=database.mdb"
    Rs.Open "delete from rsl", Connstr, 1, 3
    Set Rs = Nothing
    
    Rs.CursorType = adOpenStatic
    Rs.Open "select * from rsl", Connstr, 1, 3
    
    'Dim s As Integer
    
    For i = 0 To RecNm - 1
        
    Rs.AddNew
    Rs.Fields("CO").Value = CO2in(i)
    Rs.Update
    Next i    Rs.Requery
    Rs.Close

解决方案 »

  1.   

    Rs.Open "delete from rsl", Connstr, 1, 3 
    去掉这个。
      

  2.   

    你先delete,然后addnew,原有的数据都没有了阿
    Rs.Open "delete from rsl", Connstr, 1, 3 是不是笔误?
    Rs.Open "select * from rsl", Connstr, 1, 3 
      

  3.   

    你要去掉
        Rs.Open "delete from rsl", Connstr, 1, 3
        Set Rs = Nothing
        
      

  4.   

    2楼和3楼说的我试过了,不是我想要的结果。比如原来rsl里面有300行,我之后加的这些数据按照2楼和3楼说的,这些数据却是加在了从第301行开始。我想要我另加的数据从第1行开始,怎么修改这个程序
      

  5.   

    4楼,我的标题没有错。我的rsl里面有一列字段名字叫CO。
    thanks
      

  6.   

    没理解错的话,你应该用update语句:dim cn as  new connection
    cn.open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=database.mdb" 
    For i = 0 To RecNm - 1
        cn.execute "UPDATE rs1 SET CO ='"& CO2in(i) &"' WHERE id = "& i+1 
    next
    '以上语句的where条件你自己根据表中数据的实际情况自己改....
      

  7.   

    插入的行都在表尾。如果需要将行插入表的第一行,只能采取变通的方法。如:
    1、新建一个表,将新表与原表连接生成一个新表。
    2、字义一个特殊的排序字段SF,输入记录时,每条记录的该字段值不要连续。如第一条记录的SF=10,第二条记录的SF=20,等等。如果要新加一条记录放在第一行,则其SF=5。整个表按SF排序即可。
      

  8.   

    vbman2003明白我的意图了。
    不过你提供的那个语句,我运行后出现实时错误,至少有一个参数没有指定值
    不知道怎么修改。
    谢谢
      

  9.   


    你debug.print你的语句,贴上来看看...