如何从ComboBox ItemData中检索ID

时间:2015-11-05 21:01:27

标签: combobox vb6

我有一张客户表。每个客户都有一个ID。我正在从SQL Server加载一个组合框,只显示Firstname和LastName。我创建了这个简单的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。

1 个答案:

答案 0 :(得分:1)

您没有在循环中指定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