我有一张客户表。每个客户都有一个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。
答案 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
:
Private Sub cboNames_Click()
Dim selectedID as Integer
If cboNames.ListIndex > 0 Then
selectedID = cboNames.ItemData(cboNames.ListIndex)
End If
End Sub