永发信息网

vb ComboBox 的两级联动

答案:2  悬赏:50  手机版
解决时间 2021-03-13 03:34
  • 提问者网友:骑士
  • 2021-03-12 05:42
工号 姓名
10001 小王
10002 小张
以上是SQL中一个数据表,实现一一对应吗,如我选了10001,combobox2自动选小王,就是combobox1选择一项后 ,
combobox2中对应出现相应的项

求代码

用vb6或VBA来实现,答案被采用的,再加50分
最佳答案
  • 五星知识达人网友:等灯
  • 2021-03-12 06:14
在Combo1中的onclick事件中设置如下代码(假设两个控件名为Combo1,Combo2,数据库连接为conn,工号字段类型为为字符型,假设combo控件中已存放有姓名的数据,本功能实现的是联动选择):
Private Sub Combo1_Change()
dim llp as long
dim strName as string
dim objr as ADODB.RECORDSET
SET objr = new ADODB.RECORDSET
objr.open "SELECt * FROM 数据表 WHERe 工号='" & Combo1.List(Combo1.ListIndex) & "'",conn,1,1
if objr.recordcount<>0 then
strName=objr("姓名")
for llp=0 to Combo2.ListCount-1
if strName= Combo2.List(Combo2.ListIndex) then
Combo2.ListIndex=llp
exit for
end if
next
end if
objr.close
set objr=nothing
End Sub
全部回答
  • 1楼网友:爱难随人意
  • 2021-03-12 06:51
combo1控件的click事件 private sub combo1_click() combo2.clear select case combo1.listindex case 0 combo2.additem "ab" case 1 combo2.additem "cd" case 2 combo2.additem "ef" end select combo2.listindex = 0 end sub 窗体load事件 private sub form_load() combo1.clear dim i as integer for i = 1 to 3 combo1.additem i next combo1.listindex = 0 combo2.clear combo2.additem "ab" combo2.listindex = 0 end sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯