代码如下:
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块变量未设置。
请问:我该如何做呢?
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块变量未设置。
请问:我该如何做呢?
4 Set FindtxtName.DataSource = Adodc2
5 FindtxtName.DataField = "DeptName"这个是打开表的 "字段名称"
5 FindtxtName.DataField = "DeptName"
去掉就出错了。不去掉不出错。
Set FindtxtName.DataSource = Adodc2 是指定数据原
FindtxtName.DataField = "DeptName" 是指定字段名
去掉 当然会出错的啊
CmbDeptName 是 下拉框
我是想将CmbDeptName与ADODC2绑定,FindtxtName与ADODC1绑定,
但是: 我是想将CmbDeptName仅仅与ADODC2绑定时候久会出错了。
如果你想正确实现绑定功能,语法知识就是必须两个都绑定。用你的问题来说是“将CmbDeptName与ADODC2绑定,FindtxtName与ADODC2绑定”,而不是什么“FindtxtName与ADODC1绑定”。
关于此方面知识,你可以在 MSDN 上搜索“RecordSet”,然后看相关报道即可。
能出现这个错误的原因应该不是你语句的问题
而是你窗体中窗一涉及了adodc2的控件缺少数据绑定
因为我最开始学vb的时候总是能碰到这样的错误
建议你打开数据库打开数据表等用代码直接打开
而不用adodc或data等控件
6 的作用是将记录集指针移动到第一个的位置,以避免已经到最后一个而取不到数据(不是必须的)。--事实上你的程序没有处理“没有检索到任何记录即空记录集”的情况,这不应该。
FindtxtName=rs.fields(Column_No.)
CmbDeptName =rs.fields(Column.No.)