您的位置:程序门 -> vb -> vba



vba中如何将combobox的值与sql表中的某列值进行绑定?在线等,如解决,立刻结帖


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vba中如何将combobox的值与sql表中的某列值进行绑定?在线等,如解决,立刻结帖[已结贴,结贴人:whiteseal]
发表于:2007-01-18 11:27:14 楼主
如题
发表于:2007-01-18 11:36:141楼 得分:0
private   sub   combobox1_dropbuttonclick()
if   combobox1.listcount   =   0   then

dim   connobj   as   new   adodb.connection
dim   getrecord   as   new   adodb.recordset


set   connobj   =   new   adodb.connection
connobj.connectionstring   =   "driver={sql   server};server=*****;uid=sa;pwd=******;database=****** "
connobj.open

set   getrecord   =   new   adodb.recordset
sql   =   "select   name_cn   from   empl "
getrecord.open   sql,   connobj

        if   getrecord.eof   then
              msgbox   ( "haven 't   found   the   employee   record ")
              userform2.hide
             
              exit   sub
        end   if
       

set   record   =   getrecord.fields

for   each   record   in   getrecord.fields
       
        combobox1.additem   record.name
next


getrecord.close
set   getrecord   =   nothing
connobj.close
set   connobj   =   nothing


end   if

end   sub


以上这段代码只可以将“name_cn”的字段名显示在combobox的下拉框里,而我需要的是将“name_cn“里的记录显示在combobox的下拉框里,请知道的大虾帮忙。
发表于:2007-01-18 12:16:532楼 得分:50
for   each   record   in   getrecord.fields
       
        combobox1.additem   record.name
next
改为:
getrecord.movefirst
do   while   not   getrecord.eof
    combobox1.additem   getrecord.name
    getrecord.movenext
loop
发表于:2007-01-18 12:18:003楼 得分:0
错了
for   each   record   in   getrecord.fields
       
        combobox1.additem   record.name
next
改为:
getrecord.movefirst
do   while   not   getrecord.eof
    combobox1.additem   getrecord!name
    getrecord.movenext
loop
不好意思,是!不是.
发表于:2007-01-18 13:10:384楼 得分:0
好的,我试下
发表于:2007-01-18 13:29:185楼 得分:0
run-time   error   '3265 ':item   cannot   be   found   in   the   collection   corresponding   to   the   requested   name   or   ordinal.

似乎是说getrecord没有这种方法的
发表于:2007-01-19 10:29:036楼 得分:0
呵呵,我自己找到方法解决了,给分结贴了。


快速检索

最新资讯
热门点击