Private Sub Combo1_Click() MsgBox Combo1.ItemData(Combo1.ListIndex)'这就是你想要的ID了 End SubPrivate Sub Form_Load() Dim i As LongFor i = 1 To 40 Combo1.AddItem "这是第.." Combo1.ItemData(Combo1.NewIndex) = Str(i)'你的ID添加到这里 Next i End Sub
其实我有另外的一个方法呵呵,很好用! 比如你从数据库中取出的记录集为rs 你可以用2个combo,一个显示,一个隐藏(属性visible=false)!显示的那个用A名称填入,不显示的那个用A名称填入.然后在两个combo的click事件中写如下的代码,当然在前面应该先取得表一记录集(rs) Private Sub Form_Load() ....if rs.recordset>0 then rs.movefirstdo whilt not rs.eof combo1.additem rs!Name '(显示) combo2.additem rs!ID '(隐藏) rs.movenext loopEnd Sub下面两个事件可以确保你每次选中name后对应到对应的id Private Sub Combo1_Click() Combo2.ListIndex = Combo1.ListIndex End Sub Private Sub Combo2_Click() Combo1.ListIndex = Combo2.ListIndex End Sub 然后你可以从Combo2.text里面读到对应的id编号了.^_^
MsgBox Combo1.ItemData(Combo1.ListIndex)'这就是你想要的ID了
End SubPrivate Sub Form_Load()
Dim i As LongFor i = 1 To 40
Combo1.AddItem "这是第.."
Combo1.ItemData(Combo1.NewIndex) = Str(i)'你的ID添加到这里
Next i
End Sub
一般需要这样的效果大家都是用其他方法来实现的
比如:自己写一个这样的控件
或者在界面上用 textbox command 再加一人隐藏的表格控件组成
点击 command 将表格变为可视,接收 click 事件,然后置 textbox.text 并将表格再隐藏起来
比如你从数据库中取出的记录集为rs
你可以用2个combo,一个显示,一个隐藏(属性visible=false)!显示的那个用A名称填入,不显示的那个用A名称填入.然后在两个combo的click事件中写如下的代码,当然在前面应该先取得表一记录集(rs)
Private Sub Form_Load()
....if rs.recordset>0 then rs.movefirstdo whilt not rs.eof
combo1.additem rs!Name '(显示)
combo2.additem rs!ID '(隐藏)
rs.movenext
loopEnd Sub下面两个事件可以确保你每次选中name后对应到对应的id
Private Sub Combo1_Click()
Combo2.ListIndex = Combo1.ListIndex
End Sub
Private Sub Combo2_Click()
Combo1.ListIndex = Combo2.ListIndex
End Sub
然后你可以从Combo2.text里面读到对应的id编号了.^_^