'与《使用listbox,在additem时可不可以显示一个名称,再给他付一个值,有没有什么办法?也就是我一点击其中一个项就得到相关付给他的ID》此题类似!
'引用 Microsoft Scripting Runtime (SCRRUN.Dll):
'在 Form 上放 List1、Combo1,并编写如下代码:
'其中 DicX.Item(Combo1.ListIndex) 相当于你的 "name_ID" 变量
Dim DicX As New Scripting.Dictionary '窗体模块级
Private Sub Form_Load()
Dim RecordsetX As New ADODB.recordset
Dim i As Long
RecordsetX.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=..\..\XXX.mdb"
RecordsetX.Open "SELECT ID,Name FROM YourTableName"
DicX.RemoveAll
RecordsetX.MoveFirst
Do Until RecordsetX.EOF
   DicX.Add i, RecordsetX.Fields("ID").Value
   List1.AddItem RecordsetX.Fields("Name").Value, i
   Combo1.AddItem RecordsetX.Fields("Name").Value, i
   RecordsetX.MoveNext
   i = i + 1
Loop
End Sub
Private Sub Combo1_Click()
'其中 DicX.Item(Combo1.ListIndex) 相当于你的 "name_ID" 变量
MsgBox DicX.Item(Combo1.ListIndex)
End Sub
Private Sub List1_DblClick()
'其中 DicX.Item(Combo1.ListIndex) 相当于你的 "name_ID" 变量
MsgBox DicX.Item(List1.ListIndex)
End Sub