======来者有分,代码错误,请帮忙看看!谢谢=======

boywdj 2003-03-30 09:30:54
代码如下:
1 Adodc2.ConnectionString = strconn
2 Adodc2.CommandType = adCmdText
3 Adodc2.RecordSource = "select * from Deptartment order by DeptNum"
4 Set FindtxtName.DataSource = Adodc2
5 FindtxtName.DataField = "DeptName"
6 Adodc2.Recordset.MoveFirst
7 While Not Adodc2.Recordset.EOF
8 CmbDeptName.AddItem (Adodc2.Recordset("DeptName"))
9 Adodc2.Recordset.MoveNext
10 Wend

如果有5、6两行,程序没有问题。但是如果去掉程序就报错,
错误原因:实时错误“91”对象变量或WITH块变量未设置。
请问:我该如何做呢?
...全文
30 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ksmark 2003-04-02
  • 打赏
  • 举报
回复
最好用代码写啊。
FindtxtName=rs.fields(Column_No.)
CmbDeptName =rs.fields(Column.No.)
TNT1900 2003-04-02
  • 打赏
  • 举报
回复
事实上将“Adodc2.Recordset.EOF”作为判断有无记录的作法在有些情况下是不可靠的,比如说只有一条记录的时候,或者某些属性设置不准确的情况下。
TNT1900 2003-04-02
  • 打赏
  • 举报
回复
5 的作用是告诉 TXT 控件从哪个表取数据,否则它不知道该从哪里取数据;
6 的作用是将记录集指针移动到第一个的位置,以避免已经到最后一个而取不到数据(不是必须的)。

--事实上你的程序没有处理“没有检索到任何记录即空记录集”的情况,这不应该。
juzi110 2003-04-02
  • 打赏
  • 举报
回复
错误原因:实时错误“91”对象变量或WITH块变量未设置。
能出现这个错误的原因应该不是你语句的问题
而是你窗体中窗一涉及了adodc2的控件缺少数据绑定
因为我最开始学vb的时候总是能碰到这样的错误
建议你打开数据库打开数据表等用代码直接打开
而不用adodc或data等控件
TNT1900 2003-04-02
  • 打赏
  • 举报
回复
To boywdj(Zeus军) :
如果你想正确实现绑定功能,语法知识就是必须两个都绑定。用你的问题来说是“将CmbDeptName与ADODC2绑定,FindtxtName与ADODC2绑定”,而不是什么“FindtxtName与ADODC1绑定”。
关于此方面知识,你可以在 MSDN 上搜索“RecordSet”,然后看相关报道即可。
boywdj 2003-04-01
  • 打赏
  • 举报
回复
FindtxtName 是 文本框
CmbDeptName 是 下拉框
我是想将CmbDeptName与ADODC2绑定,FindtxtName与ADODC1绑定,
但是: 我是想将CmbDeptName仅仅与ADODC2绑定时候久会出错了。
chenyu5188 2003-03-31
  • 打赏
  • 举报
回复
要去掉的话,去掉4,5两行。
cbr7619 2003-03-31
  • 打赏
  • 举报
回复
FindtxtName是什么控件呀?
Set FindtxtName.DataSource = Adodc2 是指定数据原
FindtxtName.DataField = "DeptName" 是指定字段名
去掉 当然会出错的啊
boywdj 2003-03-31
  • 打赏
  • 举报
回复
4 Set FindtxtName.DataSource = Adodc2
5 FindtxtName.DataField = "DeptName"
去掉就出错了。不去掉不出错。
蒋宏伟 2003-03-30
  • 打赏
  • 举报
回复
肯定是其它地方有问题,你出错的那句在哪里呀
syl5005 2003-03-30
  • 打赏
  • 举报
回复
是呀
liuyan4794 2003-03-30
  • 打赏
  • 举报
回复
同意
liangfang 2003-03-30
  • 打赏
  • 举报
回复
楼上那个这样做不可以吗,不用这两个,你用这个有什么用的
4 Set FindtxtName.DataSource = Adodc2
5 FindtxtName.DataField = "DeptName"这个是打开表的 "字段名称"

allangoing 2003-03-30
  • 打赏
  • 举报
回复
你想要干什么呀??FindtxtName是什么控件??如果是想把findtxtname去掉的话,把4,5行去掉就行了~

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧