ADO连接 多步操作产生错误 错误代码-2147217887

chengbhz 2005-10-06 08:11:39
问题:在执行到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
...全文
235 点赞 收藏 8
写回复
8 条回复
wwh999 2005年10月07日
仔细检查相关字段的设置,,,是否为必填字段 长度 和类型 索引,应该是这里的问题。

楼主的题目标题是:

ADO连接 多步操作产生错误 错误代码-2147217887

这是由于有字段设置了[索引/无重复] ,输入值与该字段中现有记录值相同引起的。
回复 点赞
wangdeshui 2005年10月06日
字段长度或类型
回复 点赞
zlt982001 2005年10月06日
是数据库字段长度不够的问题
回复 点赞
ghxnet 2005年10月06日
是不是有数值字段?
回复 点赞
ghxnet 2005年10月06日
同上
回复 点赞
hr88rong 2005年10月06日
我也认为是字段长度,字段类型不符造成的
Set DatGr1 = MSFGr1你这句是什么意思啊!
回复 点赞
faysky2 2005年10月06日
改字段大小没有用,那应该是类型不符吧
回复 点赞
ChumpKlutz 2005年10月06日
在写入数据库时,肯定有哪个字段为NULL或者数值型字段赋了不为数字的值,前几天我刚碰到这个问题你一步步的检查一下吧!
回复 点赞
发动态
发帖子

863

社区成员

5.5w+

社区内容

VB 数据库(包含打印,安装,报表)
社区公告
暂无公告