You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access表单创建记录时更新另一表字段的实现问题

Access设备出库表单联动更新设备状态问题及解决

问题背景

  • 已搭建绑定至tblDevicesOut表的设备出库录入表单frmDevicesOut,仅支持新增数据,带有保存按钮,包含以下字段:
    • OutDate:日期/时间类型
    • UserID:短文本类型,下拉框数据来源于tblUsers表
    • DeviceID:短文本类型,下拉框数据来源于tblDevices表
    • Form:附件字段,用于上传签字表单
    • Comments:短文本类型
  • 表单目前可正常在tblDevicesOut表中生成对应新记录,需求是在创建新出库记录时,自动将tblDevices表中对应设备的GivenOut(是/否类型)字段更新为“是”。
  • 尝试编写的SQL语句(存在语法错误):
UPDATE tblDevices SET GivenOut = True WHERE frmDevicesOut.cmbDeviceID.Value = tblDevices.DeviceID
  • 遇到的问题:单独创建查询执行时无法直接引用表单控件;使用VBA的DoCmd.RunSQL执行时提示UPDATE语法错误,不清楚如何正确从表单下拉框cmbDeviceID获取选中值。

最终解决方案

编辑:已确认无需拆分tblDevicesOut和tblDevicesIn表,将合并两表。同时已解决GivenOut字段的更新问题,最终采用Form_BeforeUpdate事件实现,VBA代码如下:

Private Sub Form_BeforeUpdate(Cancel As Integer)

DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tblDevices SET tblDevices.GivenOut = True WHERE (((tblDevices.ConfigNum)=[Forms]![frmlDevicesOut]![cmbConfigNum]));;"
DoCmd.SetWarnings True

End Sub

内容的提问来源于stack exchange,提问作者Mike T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 03:20:57