如何从 ComboBox ItemData 中检索 ID
How to retrieve ID from ComboBox ItemData
我有 table 个客户。每个客户都有一个 ID。我正在从 SQL 服务器加载一个组合框,并且只显示名字和姓氏。我创建了这个简单的 select 语句。
sql= Select ID, FirstName, LastName
sql =From dbo.tblClients order by LastName
g_rs.open, sql, g_Database
cboNames.AddItem vbNullString
cboNames.ItemData(cboNames.NewIndex) = 0
While Not g_RS.EOF
cboNames.AddItem g_RS("LastName") & ", " & g_RS("FirstName") &
g_RS.MoveNext
Wend
我的问题是关于何时从组合框中实际选择名称。我如何知道分配给该客户的 ID。
您没有在循环中分配 ItemData
。您的代码应如下所示:
While Not g_RS.EOF
cboNames.AddItem g_RS("LastName") & ", " & g_RS("FirstName")
cboNames.ItemData(cboNames.NewIndex) = g_RS("ID")
g_RS.MoveNext
Wend
然后,在其他代码中,您可以从所选项目的 ItemData
:
中检索 ID
Private Sub cboNames_Click()
Dim selectedID as Integer
If cboNames.ListIndex > 0 Then
selectedID = cboNames.ItemData(cboNames.ListIndex)
End If
End Sub
我有 table 个客户。每个客户都有一个 ID。我正在从 SQL 服务器加载一个组合框,并且只显示名字和姓氏。我创建了这个简单的 select 语句。
sql= Select ID, FirstName, LastName
sql =From dbo.tblClients order by LastName
g_rs.open, sql, g_Database
cboNames.AddItem vbNullString
cboNames.ItemData(cboNames.NewIndex) = 0
While Not g_RS.EOF
cboNames.AddItem g_RS("LastName") & ", " & g_RS("FirstName") &
g_RS.MoveNext
Wend
我的问题是关于何时从组合框中实际选择名称。我如何知道分配给该客户的 ID。
您没有在循环中分配 ItemData
。您的代码应如下所示:
While Not g_RS.EOF
cboNames.AddItem g_RS("LastName") & ", " & g_RS("FirstName")
cboNames.ItemData(cboNames.NewIndex) = g_RS("ID")
g_RS.MoveNext
Wend
然后,在其他代码中,您可以从所选项目的 ItemData
:
Private Sub cboNames_Click()
Dim selectedID as Integer
If cboNames.ListIndex > 0 Then
selectedID = cboNames.ItemData(cboNames.ListIndex)
End If
End Sub