2009-03-02 107 views
2

这应该可能很简单,但我的Google-Fu还没有找到答案。我只是想在Access中创建一个下拉列表,以便在选择时我可以根据选择的值执行一些操作。例如,我有一个人员列表,我想填充组合框,以便他们的名字出现在列表中,但“值”设置为他们的ID(主键)。MS Access下拉列表/组合框

回答

4

这听起来像你可能会问如何显示除ID以外的下拉列表中的某些内容,同时将ID保留为下拉菜单中的返回数据。如果是这种情况,将绑定列设置为ID字段(通常为1),并且(假设名称字段为下一个)将列计数设置为2并将列宽设置为0“; 1”或0“; [无论宽度你需要]

+0

啊,谢谢。在我看到你的答案之前,我刚才已经明白了这一点。我会删除我的答案并给你信用。 – 2009-03-02 16:14:55

1

您需要挂钩下拉列表的onchange事件。

MSDN

+0

对不起,我的问题是格式不正确。我的问题不是在编码方面,它是理解semanti组合框的cs。在其他语言/框架中,我只是将一堆键/值对绑定到某个列表控件,但我无法弄清楚如何使用Access'IDE'来完成它。 – 2009-03-02 16:07:06

0

你如何设置您的组合框的属性?

或许你可以尝试设置(假设你是从与领域ID字段1

  • 行源提取数据表1:选择[表1] [ID],[表1]。 [字段1] FROM表1;
  • 行来源类型:表/查询
  • 绑定列:1分
  • 列计数:2
  • 列宽:0" ,1"

,然后钩到平变化事件作为Chris Ballance暗示。组合框的值属性为ID; 文字将会在字段1

0

好的,我想到了它,即使它有点反直觉。一个Access Combobox可以有你想要的值(而不是只有一个键值)。默认情况下,所有的值显示在列表中,因此您需要通过将其宽度设置为0来隐藏某些列。这是通过属性窗格中的ColumnsWidths属性完成的。ColumnWidths采用逗号分隔的值列表,该列表值对应于列中的列顺序我希望这可以帮助别人。