我在接入VBA时自学成才,而且我现在已经试图将这个问题弄清楚了多年,但却无法让它发挥作用。任何建议都会非常感激。
我有一个数据库,其中包含一个staff
表和一个绑定到此表的表单frmStaff
。还有一个名为tblStages
的第二个表,记录了每个工作人员所在的指导阶段。这些表与staffID
字段相关。
我正在尝试在表单上添加一个文本框,该文本框将显示当前记录中工作人员的当前指导阶段(我试图避免使用子表单)。我已为此文本框设置了默认值,如下所示:
DLookup("[stage]", "[tblStages]", "[staffID] = '" & [Forms]![frmStaff]![txtStaffID] & "' AND isnull([endDate])")
每个工作人员只有1个记录,其中阶段endDate
为空。这个Dlookup在vba编辑器中运行得很好但是当我将它设置为文本框的默认值时它不起作用。我希望这是因为它尝试在表单打开之前找到默认值,因此txtStaffID
控件为空。
我希望我已正确解释了这个问题。如果有人能指出我正确的方向,我会感激不尽。谢谢
答案 0 :(得分:0)
创建名为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
作为textBox的控制来源。