求助datacombox控件

glq57324812 2011-03-11 05:10:34
我想将数据库中一个字段名下所有的内容添加到datacombox的下拉列表中。。。请问如何实现?
...全文
111 点赞 收藏 21
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
glq57324812 2011-03-11
求教。。。因为之前都是用ADODB的 突然要改就有点麻烦。。
回复
chinaboyzyq 2011-03-11
[Quote=引用 19 楼 glq57324812 的回复:]

能用ADODB实现么?
[/Quote]
回复
glq57324812 2011-03-11
非常感谢 。行了。。。。。。还小问下这个只能用ADODC控件的方式么? 能用ADODB实现么?
回复
chinaboyzyq 2011-03-11
把你conn连接部分发出来看看。
回复
chinaboyzyq 2011-03-11
[Quote=引用 14 楼 glq57324812 的回复:]

我用ADODC控件试过了 可是这样DataCombo里是表里的全部内容。。。我要怎么限定我想要的内容呢?
DATASource=ADODC的话。。SQl不是白查了么。。
[/Quote]
adodc也是可以写SQL语句的Adodc1.RecordSource = "select * from 表1 where..."
只要替换成你的SQL语句就行了。

好好看我三楼给你例子
回复
glq57324812 2011-03-11
sql = "select [设备名称] from [下拉表] where [设备名称] in ('Micron','CFV800-1','CFV800-2','CFV800-3','CFV800-4','C30U','VF3') "
rs.Open sql, conn, 1, 1
Set DataCombo1.DataSource = rs
Set DataCombo1.RowSource = rs
DataCombo1.DataField = rs.Fields(0).Name
DataCombo1.ListField = rs.Fields(0).Name
还是米有。。。~~~~~~~~~~~!
回复
chinaboyzyq 2011-03-11
删除这两句rs.Close: Set rs = Nothing,绑定时不可以关闭记录集。
回复
glq57324812 2011-03-11
我用ADODC控件试过了 可是这样DataCombo里是表里的全部内容。。。我要怎么限定我想要的内容呢?
DATASource=ADODC的话。。SQl不是白查了么。。
回复
glq57324812 2011-03-11
在DataCombo1.text中只有第一项的显示 但是下拉列表里还是什么都没有。
回复
glq57324812 2011-03-11
。。。。ADODC1控件有 然后方括号也加了。。再然后Fields(0).Name也改了。 可是。。还是没有 。蛋疼。
回复
chinaboyzyq 2011-03-11
[Quote=引用 9 楼 glq57324812 的回复:]

难道是控件加少了?我就是ADOdc控件的 我看百度搜的要加data控件么?
[/Quote]
不会连ADODB和ADODC都分不清吧,你的方式叫ADODB,要引用ADODB
我给你的方式要在窗体添加一个ADODC1控件,然后用我给你的程序方式测试。

与data无关
回复
chinaboyzyq 2011-03-11
[Quote=引用 4 楼 glq57324812 的回复:]

请解释下Adodc1.Recordset.Fields(0).Name
这个 ,,刚自学中。。很没方向
[/Quote]
Fields(0).Name即你出库的的字段的字段名,无需Fields("设备名称").Name。
你做为新手劝你建立数据时最好不要使用中文字段名,很多时候你可能会遇到不必要的麻烦。
别外把你中文字段名加方括号试试:
sql = "select [设备名称] from [下拉表] where [设备名称] in ('Micron','CFV800-1','CFV800-2','CFV800-3','CFV800-4','C30U','VF3')"
回复
glq57324812 2011-03-11
难道是控件加少了?我就是ADOdc控件的 我看百度搜的要加data控件么?
回复
glq57324812 2011-03-11
sql = "select 设备名称 from 下拉表 where 设备名称 in ('Micron','CFV800-1','CFV800-2','CFV800-3','CFV800-4','C30U','VF3') "
rs.Open sql, conn, 1, 1
Set MSHFlexGrid1.DataSource = rs
Set DataCombo1.DataSource = rs
Set DataCombo1.RowSource = rs
DataCombo1.DataField = rs.Fields("设备名称").Name
DataCombo1.ListField = rs.Fields("设备名称").Name
rs.Close: Set rs = Nothing
加了个MSHFlexGrid1表。。。能显示数据 应该不是RS的问题吧。。。
回复
chinaboyzyq 2011-03-11
看看rs中是否有记录,别的没问题。
回复
glq57324812 2011-03-11
各位 给点链接也行。。。。感觉就差那么一点了。。。求真相,无限刷新中。。
回复
glq57324812 2011-03-11
sql = "select 设备名称 from 下拉表 where 设备名称 in ('Micron','CFV800-1','CFV800-2','CFV800-3','CFV800-4','C30U','VF3') "
rs.Open sql, conn, 1, 1
Set DataCombo1.DataSource = rs
Set DataCombo1.RowSource = rs
DataCombo1.DataField = rs.Fields("设备名称").Name
DataCombo1.ListField = rs.Fields("设备名称").Name
这是我自己改的,,还是没显示出来 ,还有什么缺的么。。。
回复
glq57324812 2011-03-11
请解释下Adodc1.Recordset.Fields(0).Name
这个 ,,刚自学中。。很没方向
回复
chinaboyzyq 2011-03-11

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\My Documents\db2.mdb;Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 表1" '数据表中的记录为 张三 李四 王五
Adodc1.Refresh
Set DataCombo1.DataSource = Adodc1
Set DataCombo1.RowSource = Adodc1
DataCombo1.DataField = Adodc1.Recordset.Fields(0).Name
DataCombo1.ListField = Adodc1.Recordset.Fields(0).Name
DataCombo1.Text = DataCombo1.VisibleItems(1) '选择第二条,即 李四

回复
glq57324812 2011-03-11
。。。如何绑定呢???
回复
加载更多回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2011-03-11 05:10
社区公告
暂无公告