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

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

  1. 身份证
  2. 名字
  3. 姓氏

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

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

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

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

text=combo.value

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

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

【问题讨论】:

    标签: vba combobox


    【解决方案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)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-27
        • 1970-01-01
        • 1970-01-01
        • 2013-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多