vb ComboBox 的两级联动
工号姓名10001小王10002小张以上是SQL中一个数据表,实现一一对应吗,如我选了10001,combobox2自动选小王,就是combobox1选择一项后,comb...
工号 姓名
10001 小王
10002 小张
以上是SQL中一个数据表,实现一一对应吗,如我选了10001,combobox2自动选小王,就是combobox1选择一项后 ,
combobox2中对应出现相应的项
求代码
用vb6或VBA来实现,答案被采用的,再加50分 展开
10001 小王
10002 小张
以上是SQL中一个数据表,实现一一对应吗,如我选了10001,combobox2自动选小王,就是combobox1选择一项后 ,
combobox2中对应出现相应的项
求代码
用vb6或VBA来实现,答案被采用的,再加50分 展开
展开全部
在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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询