【问题标题】:How to display concatenated value in MS Access Combobox如何在 MS Access 组合框中显示串联值
【发布时间】:2016-04-07 20:12:22
【问题描述】:

我正在尝试使用 MS Access 查询中连接字段中的值填充组合框。嵌入的图像是下拉框中当前显示的内容,以及选择值时框中显示的内容。

问题是我不希望下拉框中的值显示为列,而是显示为连接字符串。所以,而不是...... AVICHAI……应该是TAYLOR,AVICHAI。 And additionally, when the value is selected, then instead of showing just TAYLOR it would show TAYLOR, AVICHAI.

我已经尝试了所有我能想到的属性,并尝试在从数据库中获取两个字段之后在原始表、查询甚至 vba 代码中进行连接。

有什么帮助吗? Concatenated View

【问题讨论】:

    标签: vba ms-access combobox concatenation


    【解决方案1】:

    您需要将查询中的值连接在一起,并在组合框中显示该字段。

    SELECT peopleID, lastName & ", " & firstName AS name FROM tblPeople
    

    然后在组合框集的格式选项卡中:

    • 列数到2
    • 列宽为0";1"

    这将导致只有宽度(组合名称)的列显示在下拉列表中并在被选中时显示。

    【讨论】:

    • 谢谢。这并没有完全解决问题。我的代码通过循环填充组合框... Do Until rs.EOF me.combobox.value = rs!FullName ... rs.movenext ... 其中 FullName 是 qry rs 中的连接字段。我认为这是问题所在......我将不得不使用表格来填写列表。
    • 能否请您发布填充列表框的完整代码?
    【解决方案2】:

    文档说:“In a combo box, the first visible column is displayed in the text box portion of the control.

    更准确地说,显示的值是宽度非零的第一列的值

    因此,为了实现您的目标,请修改您的查询,使其返回以下内容:

    Taylor, Avichai  | Taylor | Avichai
    Raines, Patricia | Raines | Patricia
    ...
    

    然后,在组合框属性中,设置

    • 列数为 3 和
    • 列宽使得第一列非常小(但不为零)。

    【讨论】:

    • 谢谢。这很有意义,但在我的情况下似乎不起作用...我的代码通过循环填充组合框... Do Until rs.EOF me.combobox.value = rs!FullName ... rs.movenext ... 其中 FullName 是 qry rs 中的串联字段。我认为这是问题所在......我将不得不使用表格来填写列表。
    猜你喜欢
    • 2012-07-30
    • 2020-12-14
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多