ms-access - 将子表单保存过程链接到父表单保存按钮
问题描述
大家好,提前感谢您的支持!
对于我目前正在设计的一个小型数据库项目,我有一个典型的员工表设置和一个一对多表,用于保存这些人所接受的培训。
为了进行编辑,我设置了一个包含员工数据的父表单,并在一个连续的子表单中,链接到父表单,显示相应的培训。
现在我想要的是一个保存过程,它仅在按下父表单上的按钮时发生。对于可管理的“父”数据。但我也想在这个过程中包含子表单(关系)数据。
这可能吗?
我正在尝试通过 VBA 手动设置记录集来填充子表单,基本上使用内存作为缓冲区,但是由于它们始终与基础表保持链接,因此只要更改字段,就会立即保存数据。
然后我尝试将数据缓冲在一个单独的表中,并在用户“保存”后将其转发到原始源。但是,我的数据库分为前端和远程后端文件,我不知道如何在本地而不是在 BE 上拥有缓冲区(我认为这会慢得多)。
那么有人知道如何做到这一点或改进以前的尝试吗?
解决方案
绑定表格通常会立即保存更改。如果您想防止立即更改,您可以:
- 将子表单设置为不可编辑/锁定的表单:(完全阻止编辑)
- 拦截
Form_BeforeUpdate(Cancel As Integer)
事件以确定是否允许保存。
有几种方法可以做2。这是一个伪/逻辑在您的子表单中
Form_BeforeUpdate(Cancel As Integer)
If (not savingAllowed) then
Cancel = true ' Prevents save
Me.Undo ' Undos all changes
End If
End Sub;
显然,您需要savingAllowed
在确定保存操作是否被授权的地方扩展它。
推荐阅读
- angular - 获取类型错误,如无法读取 null 的属性(读取“_rawValidators”)
- amazon-web-services - 使用 Apache Airflow (MWAA) 的托管工作流 - 如何禁用对先前运行的任务运行依赖
- javascript - 禁用 W3.CSS 悬停下拉菜单
- python-3.x - 是否可以将一个模块作为另一个模块的导入来使用?
- java - 如何在代理后面的 Spring Boot 中使用 JavaEmailSender
- php - Woocommerce (WC) / Martfury - Elementor 拖动/创建产品网格/轮播(产品循环) - 条件标签 - MSRP 字段/数据
- user-interface - 所有者绘制的菜单;测量和绘图,如何判断项目是否是子菜单项?
- javascript - 如何在 Next.js 中加载页面之前等待 React 上下文加载
- python - 如何根据给定条件溢出熊猫系列
- java - 将元素加入列表并将列表映射到 hashmap