【问题标题】:MS Access: Display two columns in combo-boxMS Access:在组合框中显示两列
【发布时间】:2012-07-30 12:50:22
【问题描述】:

令人尴尬的简单问题,但我无法解决或通过谷歌找到答案。

用两列得到类似的东西

但选择时它只显示一列,使信息更难读/理解。

尝试更改属性表中的属性(例如列号),但没有明显效果。

【问题讨论】:

    标签: combobox ms-access-2010


    【解决方案1】:

    这在一定程度上取决于你在做什么,通常像这样适合:

    SELECT Id, Surname & ", " & Forename from Table
    

    换句话说,绑定列是唯一的 ID,选择列在单个列中包含姓氏和名字。

    根据其他信息进行编辑:

    SELECT [Contact].[CID], [Contact].[Csname] & ", " & [Contact].[Cfname] 
    FROM [Contact] ORDER BY [CID], [Csname], [Cfname];
    

    【讨论】:

    • 谢谢,但是 SQL 已经是 .... SELECT [Contact].[CID], [Contact].[Csname], [Contact].[Cfname] FROM [Contact] ORDER BY [ CID]、[Csname]、[Cfname];它会自动扩展(单击时)以包括两列(ID 列被隐藏)-但不幸的是,否则会折叠。可能只需要将名字和姓氏捆绑到一个列中!
    • 这就是我的建议。另一种方法是包含文本框以将列写入其中,但将姓氏与名字连接通常是一种更令人满意的解决方案。
    【解决方案2】:

    由于我的第一列用于在第二列中对项目进行分组,因此仅使用将它们分开看起来不太好

    SELECT ID, [Type] & ": " & [Title] AS BothValues
    

    按照建议。有很多项目,下拉列表看起来很混乱like in this example

    我发现在进行选择后,Access 似乎会在组合框中显示第一个 (技术上)可见 列。因此我最终使用了

    SELECT ID, [Type] & ": " & [Title] AS BothValues, Type, Title
    

    并将第二列的宽度设置为尽可能小的、事实上不可见的值 (0";0.007";1",1")。不要忘记增加列数 (4)。现在是dropdown appears grouped,但选择后我仍然得到这两个信息。

    【讨论】:

    • 哦,我喜欢这个解决方案。对我来说效果很好
    【解决方案3】:

    您还可以针对此访问限制使用视觉解决方法,使用组合框右侧的文本框,并将文本框值设置为等于组合框的第三列。

    如果组合框基于

    SELECT [Contact].[CID], [Contact].[Csname], [Contact].[Cfname] 
    FROM [Contact] ORDER BY [CID], [Csname], [Cfname];
    

    将列宽设置为 0cm;5cm;6cm(或您可能需要的任何值)并将组合框宽度设置为第二列 (5cm)。 然后在组合框的右边新建一个文本框,中间没有空格,设置它的宽度等于第三列(6cm),设置文本框controlsource等于:

    =[combobox_name].[Column](2)
    

    用户无法修改文本框,因为它与控制源相关联。

    【讨论】:

      猜你喜欢
      • 2019-04-13
      • 1970-01-01
      • 2020-12-14
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多