工号 姓名
10001 小王
10002 小张
以上是SQL中一个数据表,实现一一对应吗,如我选了10001,combobox2自动选小王,就是combobox1选择一项后 ,
combobox2中对应出现相应的项
求代码
用vb6或VBA来实现,答案被采用的,再加50分
vb ComboBox 的两级联动
答案:2 悬赏:50 手机版
解决时间 2021-03-13 03:34
- 提问者网友:骑士
- 2021-03-12 05:42
最佳答案
- 五星知识达人网友:等灯
- 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
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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |