首页 文章

从相关表中设置文本框默认值

提问于
浏览
0

我在VBA访问中自学成才,现在我已经尝试将这个问题弄清楚了多年,但是无法让它发挥作用 . 任何建议都会非常感激 .

我有一个带有 staff 表的数据库和一个绑定到该表的表单 frmStaff . 还有一个名为 tblStages 的第二个表,记录了每个工作人员所在的指导阶段 . 这些表与 staffID 字段相关 .

我试图在表单上添加一个文本框,它将显示当前记录中工作人员的当前指导阶段(我试图避免使用子表单) . 我已为此文本框设置了默认值,如下所示:

DLookup("[stage]", "[tblStages]", "[staffID] = '" & [Forms]![frmStaff]![txtStaffID] & "' AND isnull([endDate])")

阶段 endDate 为空的每个工作人员将只有1条记录 . 这个Dlookup在vba编辑器中运行得很好但是当我将它设置为文本框的默认值时它不起作用 . 我希望这是因为它尝试在窗体打开之前找到默认值,因此 txtStaffID 控件为空 .

我希望我已经正确地解释了这个问题 . 如果有人能指出我正确的方向,我会感激不尽 . 谢谢

1 回答

  • 0

    创建名为 qrfrmStaff 的查询:

    SELECT staff.*, tblStages.stage AS Stage 
    FROM tblStages INNER JOIN staff on tblStages.staffID = staff.staffID  
    WHERE tblStages.endDate Is Null
    

    qrfrmStafffrmStaff 记录源, stage 为textBox的控制源 .

    确保query is not read only

相关问题