那就建议你在模块中定义RECORDSET! TRY IT with form1 .recordset.addnew .recordset("field1") = "a" .recordset("field2") = "b" .recordset("field3") = "c" end with
那就建议你在模块中定义RECORDSET! TRY IT with form1 .recordset.addnew .recordset("field1") = "a" .recordset("field2") = "b" .recordset("field3") = "c" end with
a,b,c与Field1,2,3属性是否兼容?
错误提示是:Wrong number of arguments or invalid property assignment 说明添加的数据类型不正确,“变量数值错误或指定无效属性”
不要直接用recordset ,先定义一公有变量 如:public res as new adodb recordset 再你原代码里用res 代recordset则可
with form1 错了 Form哪里来的Recordset对象?
各位高手,首先申明一下,肯定没有赋值与字段类型不兼容的问题,要是这么简单,那分数也太好赚了吧,呵呵dbcontrols(泰山__抛砖引玉)老兄,我在Form1中定义了Public recordset as ADODB.Recordset, 前一个recordset也就是我问题程序中的recordset一样,只是一个变量名而已,用来方便大家理解,为什么不能用with?!在我实际程序中的变量名当然不是这样的了。
建议你在模块中定义RECORDSET!
TRY IT
with form1
.recordset.addnew
.recordset("field1") = "a"
.recordset("field2") = "b"
.recordset("field3") = "c"
end with
TRY IT
with form1
.recordset.addnew
.recordset("field1") = "a"
.recordset("field2") = "b"
.recordset("field3") = "c"
end with
说明添加的数据类型不正确,“变量数值错误或指定无效属性”
如:public res as new adodb recordset
再你原代码里用res 代recordset则可
错了
Form哪里来的Recordset对象?
而是应该这样写:.recordset.Fields("field1")=a
或者:.recordset.Fields!field1=a
还有最好不要用跟类型名一样的变量名比如不要用recordset做为变量名,可以用rsXXXX来代替。
和recordset.Fields("field1")=a的效果是同样的,能解释一下他们区别吗?还有我都说在这里用recordset做变量名只是为了方便叙述,在实际应用中当然不是这样了。
最好是
dim rst=new adodb.recordset
rst.open sql,cnn,2,3
rst.addnew
rst.field("...")=...
rst.update
rst.close
set rst=nothing你的错误应该是类型不匹配,你要先确定数据库字段的类型与你的变量类型是否匹配,或字符串有没有超长