vb中出现“对象变量或with块变量未设置”
发布网友
发布时间:2023-05-12 10:57
我来回答
共5个回答
热心网友
时间:2024-12-05 03:48
请检查data1.recordset是否不存在,是否未打开,是否未执行查询。
——————————————————————————————
你好,我发现原因了,你的form_active事件里没有对data1.datasource赋值,就直接使用了recordset,这样的话,recordset里是不会有值的,我加入了Data1.RecordSource = "select * from 操作员 like" + Chr(34) + StatusBar1.Panels(3).Text + Chr(34) + ""和Data1.Refresh两句话,就可以了,但是我不了解你所要查询的表名,因此在取field时又抛出了错误,这个select查询就需要你去完成了,而且我不建议在form_active事件里写这些,因为form_active事件是在每次这个窗体处于活动时都会触发,这样的 话,查询就会进行多次,会影响效率,我建议将此代码移至form_load里,但如果你有“不关闭主窗体就更换操作员进行登录“的话,可以在此窗体里加入一个公开方法,将代码写入方法中,在form_load时进行调用,当更换操作员时,也调用一下这个方法,这样的话,就可以达到你“不同操作员的权限不同”的需求了。
热心网友
时间:2024-12-05 03:48
在使用
mrc
前加一句
Set
mrc
=
New
ADODB.Recordset
如还有问题,请检查打开数据库是否成功
热心网友
时间:2024-12-05 03:49
就是变量没有定义啊,或者有的变量没有设置新的实例(New) ,仔细检查一下
with 什么?
找一下哪个对象在你的程序里有没有,比如with adodc1.recordset
你就要找一下有没有adodc1
热心网友
时间:2024-12-05 03:49
with 好像没你这种用法吧,还是写完整吧。
If Data1.Recordset.BOF then
。。。
。。
end if
热心网友
时间:2024-12-05 03:50
定义过rs吗?如果定义过是否引用了adodb