2009-10-30 248 views
4

我在使用Access 2003中有一个应用程序。其中,我有一张员工表,它连接到另外两张表。两个连接的表格是包含几个固定关键字的表格。在我的主要员工表中,我只有另一张表中的ID,而不是整个字。在Access窗体组合框中没有显示的值

我想制作一个表格用于将数据输入到这些表格中,所以我从三个表格中进行查询,显示了员工表格的所有常规字段,除了这两个ID之外,我自己也显示了这些字词。

然后我做了表单并将查询设置为RecordSource。包含关键字的字段是表单上的组合框,它们的ControlSource是查询中的关键字字段(就像我之前提到的,该值只能是列表中的一个关键字)。现在,我面对的问题是:当我想看到一条记录时,它显示ComboBox中的正确值,但是当下拉菜单时,它不显示任何其他值。

这样做的最好方法是什么?我是否以错误的方式做这件事?

谢谢

+0

听起来像你的组合框的行源是wro ng并且您将LimitToList属性设置为NO。在这种情况下,将显示组合框中绑定的字段中的数据,但下拉列表中将没有适当的数据。发布下拉列表的SQL和这些属性的值:列数,绑定列,列宽。 – 2009-10-30 23:33:15

回答

3

我处理这个略有不同,设置组合框行来源同时包含ID和文本字段(如果需要的话通过设置它的宽度到零,你可以隐藏ID列)。现在将ID字段添加到员工查询中;您不需要在此查询中将其他表连接到Employee表,这些字段是外键,组合框应该自动为您显示文本。将表单记录源设置为此查询,现在将组合框控件源设置为表单记录源中适当的ID值。

如果你让该向导根据Employee表为你建立一个表单,你将会看到这个方法的实际应用。

0

您已将查询设置为表单的记录源。表单一次只显示(并且绑定)一条记录。

由于您希望组合框显示所有值,因此应该将ComboBox的RecordSource设置为您的查询。

0

ControlSource是任何用户条目将被保存的表的列名称。

RowSource是您键入保存的查询或手动查询的名称直接键入该字段,该字段用于提供组合框的可用下拉选项列表。

RowSourceType应设置为基于上述RowSource方法的Table/Query。

现在要解决仅显示开始键入的问题(即属性表>其他)或已经保存该记录而没有其他选项在单击下拉菜单后出现的问题:

  1. 在设计视图中,单击有问题的组合框。
  2. 属性表>格式>列数 =设置所需的列数以下拉菜单显示。
  3. 属性表>格式>列宽 =在下拉菜单中设置所需的列宽。
  4. 属性表>格式>列表宽度 =设置下拉本身所需的宽度。
  5. 属性表>资料>绑定列 =设置查询表的列(即1号和2列表选项,如果你只有两个条目)

注意:如果您想要降向下选项是两个列,而不是列酮(使事情更加容易顺便说一句)那么就从上面的以下变化:

  • 属性表>格式>列计数 =设置所需数目的列到两个。
  • 属性表>格式>列宽 =添加两个条目0" ,1" ,这意味着该ID字段是不可见的(0" )和选项字段是一英寸。
  • 最简单的在开始时排序的方法是通过执行以下操作来查看列标题名称以了解您正在查看的内容: 属性表>格式>列头 =设置为yes。至少您会知道显示的是什么以及你是否在正确的轨道上