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

Posted

技术标签:

【中文标题】Vba代码显示组合框中选定的数据【英文标题】:Vba code to show selected data from combobox 【发布时间】:2015-04-29 10:02:51 【问题描述】:

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

    身份证 名字 姓氏

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

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

列数:3 列宽:0;3,3 绑定列:1

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

text=combo.value

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

我想在另一个字段(文本\组合?)中显示姓氏。 我该怎么做?

【问题讨论】:

【参考方案1】:

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

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      

【讨论】:

【参考方案2】:

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

试试 text=combo.column(x)

在你的情况下检索last name 它将是 text=combo.column(2)

其中 x 是您要检索的列的编号,0 是第一列

您也可以尝试 alternative - 如果您熟悉的话,这就像 Excel 中的 VLookup。 (不像第一个选项那么简单;))

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

【讨论】:

以上是关于Vba代码显示组合框中选定的数据的主要内容,如果未能解决你的问题,请参考以下文章

使用表单中的组合框中的选定值访问更新表

根据数据绑定组合框中的选定项目从访问数据库中删除

wpf的组合框中显示新的选定项后如何显示对话框?

Excel VBA文本框以填充组合框

选定的前景色未显示在 Access 组合框中

从组合框中访问 VBA 随机值