[英]Access form fails to pass primary key of a view (to SQL server)
背景 - 设置:
问题:表单中记录的编辑失败,因为地址表的 ID 作为 NULL 传递。 “无法将 NULL 值插入列...” 这来自上面描述的 INSTEAD OF UPDATE 触发器。
为了解决这个问题,表单似乎必须在更新时将地址表的 PK 传递给视图。 尽管在 Access 的链接表中显示了 PK,但它并没有被传递。
让 Access 表单将视图的 PK 传递给视图中记录的任何和所有更新需要什么?
我会采用不需要子记录的设计。 (在查询中使用左连接)。
在 Access 中编辑相关数据往往表明每个表单都基于一个表。 如果您将焦点从主窗体移动到子窗体,Access 会自动保存主记录。
客户没有发票或没有预订旅行的事实应该无关紧要。 因此,大多数设计建议子记录不应存在,因此,对此类数据的大多数查询将是左连接。 这种方法将节省大量的工作。 我会尝试避免对包含多个表的 sql 进行更新。 作为一般规则,每个表单都应该直接基于一个链接表。 如果用户需要添加子记录,则提供具有允许此操作的正确子表单的 UI。 结果是每个表单(和子表单)只更新一张表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.