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

如何向包含链接表的餐厅审计关联查询添加自定义记录?

没问题,我来帮你理清怎么给这个关联查询添加自定义记录——核心是确保查询支持更新,同时处理好两个表的关联逻辑,下面分场景给你具体步骤:

一、先确保查询是可更新的

关联查询默认可能无法直接添加记录,得先调整查询的连接类型和属性:

  • 如果你的查询是内连接(只显示已有审计记录的餐厅),那只能更新现有记录,没法添加新的审计条目。你需要改成左外连接:
    在查询设计器里,点击两个表之间的连接线,选择“连接属性”,然后选“包括tbl_Restaurant中的所有记录和tbl_Audit中匹配的记录”。对应的SQL语句大概是这样:
    SELECT tbl_Restaurant.REST_SITE_CD, tbl_Restaurant.Name, tbl_Restaurant.Address, tbl_Restaurant.City, tbl_Audit.AuditID, tbl_Audit.REST_ID, tbl_Audit.AuditDate
    FROM tbl_Restaurant LEFT JOIN tbl_Audit ON tbl_Restaurant.REST_SITE_CD = tbl_Audit.REST_ID;
    
  • 接着检查查询的可更新属性:在查询设计视图中,点击顶部菜单栏的「设计」→「属性」,把「允许添加」设为「是」,「唯一记录」设为「是」,「唯一值」设为「否」。
二、分场景添加自定义记录

根据你的需求,分两种常见情况操作:

场景1:给已有餐厅添加新的审计记录

这是最常用的场景,操作很直接:

  • 打开基于该查询的表单,点击底部导航栏的「新记录」按钮(带星号的空白行)。
  • 从餐厅名称/地点的下拉选择框里,选中你要添加审计的餐厅。
  • 填写tbl_Audit里的日期等审计字段,然后保存(按Ctrl+S或者点击保存按钮)。
  • Access会自动把这条新的审计记录插入到tbl_Audit表,同时自动关联对应的REST_ID(和餐厅的REST_SITE_CD匹配)。

场景2:添加新餐厅的同时录入审计记录

如果需要在表单里直接创建新餐厅并同步添加审计信息,需要额外注意:

  • 确保tbl_Restaurant的主键REST_SITE_CD是自动编号类型,或者允许手动输入(如果手动输入,要保证后续tbl_Audit的REST_ID和它一致)。
  • 在表单的新记录行里,直接填写新餐厅的名称、地址、城市等信息,接着填写审计字段。
  • 保存时,Access会先把新餐厅数据插入到tbl_Restaurant,再把审计记录插入到tbl_Audit,自动完成外键关联。
三、避坑注意事项
  • 外键类型要匹配:tbl_Audit的REST_ID字段类型必须和tbl_Restaurant的REST_SITE_CD完全一致(比如都是数字型或文本型),否则会关联失败。
  • 避免不可更新的查询结构:如果你的查询用了聚合函数(如SUM、COUNT)、DISTINCT或者多表复杂关联,查询会变成不可更新状态。这种情况下,建议改成「主表单显示餐厅+子表单显示审计记录」的结构,操作更灵活。
  • 权限检查:确保当前数据库用户拥有tbl_Restaurant和tbl_Audit的插入权限,否则会提示无法保存记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:09:56