我在保存记录时出错了,请高手看看。
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=sqloledb;Data rce=zhangqiang;Initial_ Catalog=TE;User Id=sa;Password=;"
    cn.Open
     Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open "select * from manrecord ", cn, adOpenDynamic, adLockBatchOptimistic
    rs.AddNew
        rs.Fields(0) = Trim(Text1(0))
        rs.Fields(1) = Trim(Text1(1))
        rs.Fields(2) = Trim(Text1(2))
    
       With rs
           .Fields(4) = Trim(Text1(3).Text)
           .Fields(5) = Trim(Text1(4).Text)
           .Fields(6) = Trim(Text1(5).Text)
           .Fields(7) = Trim(Text1(6).Text)
           .Fields(8) = Trim(Text1(7).Text)
           .Fields(17) = Trim(Text1(10).Text)
           .Fields(16) = Trim(Text1(9).Text)
           .Fields(15) = Trim(Text1(8).Text)
           .Fields(10) = Trim(Text1(11).Text)
           .Fields(9) = Trim(Text1(12).Text)
           .Fields(11) = Trim(Text1(13).Text)
           .Fields(18) = Trim(Text(14).Text)
           .Fields(12) = Trim(Text1(15).Text)
           .Fields(14) = Trim(Text1(16).Text)
           .Fields(13) = Trim(Text1(17).Text)
           .Fields(19) = Trim(Text1(18).Text)
           
      End With
      rs.UpdateBatch adAffectCurrent
  为什么fields(18)那一条语句有错!

解决方案 »

  1.   

    fields(18)是什么类型的数据????
      

  2.   

    是日期型的数据。
       系统提示Text1(14)的值为Null.
      

  3.   

    .Fields(18) = Trim(Text(14).Text)
    少了一个1,应该是"Trim(Text1(14).Text)"或者是Isdate(Trim(Text1(14).Text))=false
      

  4.   

    .fields(18)='" & Format(Trim(Textl(14).Text), "yyyy-mm-dd") & "'还有楼上的说的。。
      

  5.   

    在写入日期型字段的时候要用“#”
    .fields(18)=#" & Format(Trim(Textl(14).Text), "yyyy/mm/dd") & "#'
    建议不用批量更新
    rs.Open "select * from manrecord ", cn, adOpenDynamic, adLockOptimistic
    rs.update