如何在组合框中显示列表外项目?

时间:2018-10-05 14:45:30

标签: sql ms-access access-vba

我有一个tbl_ProjectList,其中包括项目的名称结束日期

  • 一个qry_cboProject会查询此表,以仅显示Subform A上组合框中的项目,其中结束日期Subform B上所选日期之后,都在Mainform C
  • Subform A上,宏将INSERT INTO的项目从前几个月的Subform B's复制到新的几个月。但是,如果将过期的项目复制到新的月份,即使 Key 位于后端,该记录的组合框字段也将为空。

我尝试通过更改Subform ABound ColumnColumn CountColumn WidthsLimit To List上使用组合框的属性,但是只能通过其 Key 而不是其 Name 来显示过期的项目。

此宏的前端推理是,员工不必每个月重复选择相同的项目,而已经在进行过期项目工作的员工可能仍需要花几个小时才能完成工作。项目。

有人有什么建议吗?预先谢谢你!

2 个答案:

答案 0 :(得分:1)

在组合框中显示字段的顺序取决于控制源查询信息的方式,即获取名称,而不是使用控制源查询在组合框中显示的键,如下所示:

SELECT Key, Name FROM tbl_ProjectList

您需要设置以下属性:

Column Count: 2
Column Width: 0"; 2"
Bound Column: 1

听起来您可能还需要重新查询控制源。这应该导致所有信息更新。

答案 1 :(得分:1)

@Parfait-抱歉,没有更详细地描述我的问题。一个主窗体上有多个子窗体,允许用户在一个子窗体中选择一个日期,该日期将在第二个子窗体中填充项目,并在第三个子窗体中填充职责。

Jeffrey的建议使我意识到,对于结转到新月份的项目,应该对组合框的基础查询进行调整,因为基础tbl_ProjectUserEntry中存在外键

因此,我向查询中添加了WHERE条件,该条件使用DLookUp函数来查看外键是否存在:

DLookUp("[DateID]","tbl_ProjectUserEntry","[DateID] =" & Forms.frm_UserEntry.tbDateID) IS NOT NULL

frm_UserEntry是主要形式。

再次对我对一个复杂问题的简短描述表示歉意。