关于VB下拉菜单绑定数据库字段 50

PrivateSubForm_Load()DimstrsqlAsStringSetcn=CreateObject("adodb.connection")Setrs=Cre... Private Sub Form_Load()
Dim strsql As String
Set cn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
cn.Open conn_string
strsql = "select * from productnew"
rs.Open strsql, cn, 1, 1
Do Until rs.EOF
Combo1.AddItem rs("产品名称") '产品名称
rs.MoveNext
Loop
If Combo1.ListCount > 0 Then
Combo1.ListIndex = 0
End If
End Sub

请看这代码有什么问题。数据库是Access的。
展开
 我来答
ouaizhanzhan
2008-11-04 · 超过24用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:0
展开全部
您好,我来帮你搞定:
1 新建工程;在窗体上加入一个按钮command1,一个下拉框combo1,
2 添加引用;工程-引用-Microsoft ActiveX Data Objects 2.7 Library;
3 将工程保存在d:\MY_project文件夹
4 假设数据库是access数据库,哈哈。
代码如下:
private sub Command1_Click()
on error goto errmsg '遇到错误,转到errmsg
dim MyConStr as string '连数据库字符串
dim sqlstr as string '查询语句
dim a as string '定义变量a
combo1.Clear '先清除列表框里的内容
dim conn2 as New ADODB.connection ’连接对象
MyConStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb" ’语句1
conn2.open MyConStr '建立数据库连接
dim rs as New ADODB.Recordset ’创建数据集对象
sqlstr="select * from productnew" '语句

rs.open sqlstr,conn2,1,1 '读取数据到记录集
’循环取值到ListBox1
Do while Not rs.Eof
a = RTrim(LTrim(rs("产品名称")))
Combo1.AddItem a '将记录加载到列表框内
rs.move next
Loop

rs.close
set rs=nothing
set conn2=nothing

errmsg:
if err.number<>0 then
MsgBox CStr(Err.Number) + CStr(Err.Description), vbExclamation, "错误!"
exit sub
end if

end sub

祝你成功!!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式