问题:在执行到rst6.Fields(i1) = Trim(DatGr1.TextMatrix(i, i1))时,只要DatGr1.TextMatrix(i, i1))字符超过10个就产生如下错误:实时错误-2147217864(80040e21),字段的大小改到多大都没用
多步OLE DB操作产生错误。
Dim cnn As ADODB.Connection
Dim rst6 As ADODB.Recordset
Set cnn = New ADODB.Connection
Set rst6 = New ADODB.Recordset
Set DatGr1 = MSFGr1
sql = "SELECT * FROM zlbSub"
cnn.Open ConnectString
rst6.Open Trim(sql), cnn, adOpenDynamic, adLockOptimistic
rst6.AddNew
For i1 = 0 To rst6.Fields.Count - 1
rst6.Fields(i1) = Trim(DatGr1.TextMatrix(i, i1)) '值一超过10个汉字就出错,改字段大小没有用
Next i1
rst6.Update

解决方案 »

  1.   

    在写入数据库时,肯定有哪个字段为NULL或者数值型字段赋了不为数字的值,前几天我刚碰到这个问题你一步步的检查一下吧!
      

  2.   

    我也认为是字段长度,字段类型不符造成的
    Set DatGr1 = MSFGr1你这句是什么意思啊!
      

  3.   

    仔细检查相关字段的设置,,,是否为必填字段  长度 和类型  索引,应该是这里的问题。楼主的题目标题是:
        
       ADO连接 多步操作产生错误 错误代码-2147217887 这是由于有字段设置了[索引/无重复] ,输入值与该字段中现有记录值相同引起的。