Vba代码显示来自组合框的选定数据

时间:2015-04-29 10:02:52

标签: vba combobox

我有一个Access 2010表单,其中有一个列出三列的组合框:

  1. ID
  2. 名字
  3. 姓氏
  4. 组合框绑定到包含此数据的表。组合框中的ID列是隐藏的,它只显示名字和姓氏。

    当用户仅选择一行时,将显示第一个名称。在财产部分,我选择了:

    • 列数:3
    • 列宽:0; 3,3
    • 装订栏:1

    我创建了另一个文本字段,在组合框中我编写了以下vbcode:

    text=combo.value
    

    在文本字段中显示所选的ID。

    我想在另一个字段(text \ combo?)中显示姓氏。 我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

我用记录集做了。 如果有人知道一个更简单的解决方案,我会很高兴。 这是我的代码:

Dim dbs As ADODB.Connection
Dim id As String    

Set dbs = CurrentProject.AccessConnection 
Set rsRep = New ADODB.Recordset 
Set rsRep.ActiveConnection = dbs 

rsRep.Open "tblRep" 

id = Me.cbPrvFirstName
rsRep.MoveFirst
rsRep.Find "RepId=" & id

Me.txtPrvLastName = rsRep.Fields(2)
rsRep.Close      

答案 1 :(得分:0)

您可以使用以下代码从组合框中的其他列中提取值。默认情况下,combo.value将始终从第一列中提供值,即使已隐藏。

text=combo.column(x)

在您的情况下,

将检索last name text=combo.column(2)

  

其中x是要检索的列的数字0是第一列

您还可以尝试替代 - 如果您熟悉它,这就像excel中的VLookup一样。 (不像第一个选项那么简单;))

text=Dlookup("[last name]","tblRep","RepId=" & combo.value)