Ms access 格式化链接到查询的组合框中的数据

Ms access 格式化链接到查询的组合框中的数据,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我使用查询构建了一个组合框,目的是从联系人列表中提取联系人列表。不幸的是,返回的是每个联系人的唯一ID号,而不是他们姓名的文本。组合框可以有多个列,默认情况下只有一列。如果您分配ID;名称您还需要将列编号设置为2,否则combobox将永远不会知道/显示第二列(名称) 在您的设计环境中 选择您的组合框 在属性页中选择“格式”部分 将[column count]值设置为2(根据查询的列数) 将[Column widths]值设置为0(要隐藏第一列[ID]宽度,对于更多列,请使用0;secondco

我使用查询构建了一个组合框,目的是从联系人列表中提取联系人列表。不幸的是,返回的是每个联系人的唯一ID号,而不是他们姓名的文本。

组合框可以有多个列,默认情况下只有一列。如果您分配ID;名称您还需要将列编号设置为2,否则combobox将永远不会知道/显示第二列(名称)

在您的设计环境中

  • 选择您的组合框
  • 在属性页中选择“格式”部分
  • 将[column count]值设置为2(根据查询的列数)
  • 将[Column widths]值设置为0(要隐藏第一列[ID]宽度,对于更多列,请使用0;secondcolWidth;ThirdcolWidth)
  • 这会解决你的问题

    编辑:
    默认情况下,组合框默认值绑定到列0,您可以通过更改属性表(数据选项卡)中的属性[bound column]属性来更改该值。

    检查列分配。如果查询本身包含“name”,则只要“columns”足够且该字段的column width属性不为零,它就在组合框中。Wayne,我不明白,但它不起作用。我已经查询了名称和数字ID。我还确保属性中存在两列。它返回两组数字。请自行运行您的查询,看看是否得到“名称”。Wayne,我不确定您的确切意思,但我自己创建了一个带有表和字段的查询,它返回正确的值。您能否更具体地说明“它返回两组数字”?你是说你的组合框有两列,但都是数字,但其中一列应该是名字?或者你是说你正在运行一个报告,或者有一个表单显示两组数字,其中一组应该是一个名称?在您最初的问题中,大多数人会认为您的意思是您的组合框返回的是数字而不是名称。如果是这种情况,则需要手动运行SQL以确定这是否是问题的原因。如果没有,那么您需要查看框定义和列引用。先生们,我已经尝试了几乎所有的方法,但都不起作用。当我创建组合框时,我转到数据源屏幕并构建查询。查看查询时,名称列表显示的内容与我希望从下拉菜单中看到的内容完全相同。在“格式”选项卡上,我确保列计数为2,并且第一列的宽度设置为零。我的查询如下:选择tblProjectGovernanceResources。从tblProjectGovernanceResources内部的联系人加入tblProjectGovernanceResources上的tblHoldingProjectID。[ID Project]=tblHoldingProjectID.ID\u Project;另外,我使用源表从头开始构建了一个查询,并且正确显示了名称。在使用查询构建组合框时,同样的问题也存在。是否可能是用户输入名称的原始源表设置不正确?您的查询应该有两列,选择tblProjectGovernanceResources。联系人id,tblProjectGovernanceResources。联系人来自。。。