从相关 table 设置文本框默认值
Setting a textbox default value from a related table
我在访问 VBA 方面是自学的,多年来我一直在努力解决这个问题,但无法让它发挥作用。如果有任何建议,我们将不胜感激。
我有一个数据库,其中包含 staff
table 和绑定到此 table 的表单 frmStaff
。还有一个名为 tblStages
的第二个 table,它记录了每个员工所处的辅导阶段。这些 table 与 staffID
字段相关。
我正在尝试在表单上添加一个文本框,该文本框将显示当前记录中员工的当前辅导阶段(我正在尝试避免使用子表单)。我已将此文本框的默认值设置如下:
DLookup("[stage]", "[tblStages]", "[staffID] = '" & [Forms]![frmStaff]![txtStaffID] & "' AND isnull([endDate])")
对于阶段 endDate
为空的每位员工,只有 1 条记录。此 Dlookup 在 vba 编辑器中完美运行,但当我将其设置为文本框的默认值时,它不起作用。我预计这是因为它试图在打开表单之前找到默认值,因此 txtStaffID
控件为空。
希望我已经正确解释了这个问题。如果有人能指出我正确的方向,我将不胜感激。谢谢
创建名为 qrfrmStaff
:
的查询
SELECT staff.*, tblStages.stage AS Stage
FROM tblStages INNER JOIN staff on tblStages.staffID = staff.staffID
WHERE tblStages.endDate Is Null
将 qrfrmStaff
作为 frmStaff
记录源,stage
文本框的控件源。
我在访问 VBA 方面是自学的,多年来我一直在努力解决这个问题,但无法让它发挥作用。如果有任何建议,我们将不胜感激。
我有一个数据库,其中包含 staff
table 和绑定到此 table 的表单 frmStaff
。还有一个名为 tblStages
的第二个 table,它记录了每个员工所处的辅导阶段。这些 table 与 staffID
字段相关。
我正在尝试在表单上添加一个文本框,该文本框将显示当前记录中员工的当前辅导阶段(我正在尝试避免使用子表单)。我已将此文本框的默认值设置如下:
DLookup("[stage]", "[tblStages]", "[staffID] = '" & [Forms]![frmStaff]![txtStaffID] & "' AND isnull([endDate])")
对于阶段 endDate
为空的每位员工,只有 1 条记录。此 Dlookup 在 vba 编辑器中完美运行,但当我将其设置为文本框的默认值时,它不起作用。我预计这是因为它试图在打开表单之前找到默认值,因此 txtStaffID
控件为空。
希望我已经正确解释了这个问题。如果有人能指出我正确的方向,我将不胜感激。谢谢
创建名为 qrfrmStaff
:
SELECT staff.*, tblStages.stage AS Stage
FROM tblStages INNER JOIN staff on tblStages.staffID = staff.staffID
WHERE tblStages.endDate Is Null
将 qrfrmStaff
作为 frmStaff
记录源,stage
文本框的控件源。