ms-access-2016 - 当不存在相应的记录时,如何在 Access 2016 中引用子表单的链接子字段?
问题描述
我有一个表格,它基于表格中保存的信息,使用该特定位置唯一的主要位置 ID。我在此表单中有一个子表单,它引用包含存储在此位置的库存的数据,使用主表中的主要唯一位置 ID 进行链接。此子表单具有控件,这些控件使用“链接子字段”位置 ID 在单独的弹出表单中添加数据,这些弹出表单用于添加和存档子表单引用的库存。通过使用 DoCMD 调用传递这些弹出表单,可以访问“链接子字段”,如下所示。
DoCmd.OpenForm "AddInventoryFormName", acNormal, , , , , Me.SomeChildLinkedValue
只要表中已经有要填充的子表单的库存,上述方案就可以 100% 工作。当我加载一个在子表单库存表中没有条目的位置时,会出现我的问题。我收到一个弹出窗口,指出“无效使用 NULL”,并且子表单显示标题。
我添加了一个隐藏变量来显示链接的“子字段”中保存的位置 ID,以进行调试。此值在成功案例上显示正确的位置 ID,并且在切换到库存表中没有相应位置 ID 的位置时将显示最后一个成功案例。
当不存在相应的记录时,如何在 Access 2016 中引用子表单的链接子字段?
解决方案
我找到了一个实用的解决方法。我将尝试在下面发布一张“图片”来解释我是如何通过移动元素来修复它的,以帮助其他最终陷入我的子表单困境的人。
我的初始设置:
------------------------------------
| Main form |
| |-------------------------------|
| | Sub form | Form Button |
| | --------------|
| | |
| |-------------------------------|
------------------------------------
使用两个对应表中的位置唯一 ID 将主表单与子表单链接。表单按钮使用库存表中的链接字段嵌套在子表单中,用于库存添加和删除。如果 Main_form.location_ID 存在而 Sub_form.location_ID 不存在,则按钮将不起作用。我通过从子窗体中删除按钮并重新设计界面来修复 NULL 错误问题。
我重新设计的设置:
------------------------------------
| Main form | Form Button |
| |-------------------------------|
| | Sub form |
| | |
| | |
| |-------------------------------|
------------------------------------
这允许用户将新库存添加到站点并允许输入新条目,而无需通过链接的子表单依赖中继。
推荐阅读
- apache-kafka - 基于 kafka 的多点订购服务的真正用途是什么
- c# - Azure 函数部署错误:您的函数应用面向 V1,但 Azure 主机的函数版本为 V2,
- c++ - 检查两个对象组合的空值的最佳方法
- javascript - 垂直滚动条在 IE8/IE9 中不起作用
- visual-studio-2017 - 切换回 packages.config - 澄清答案
- kubernetes - Kubernetes 上的日志记录和事件跟踪器
- node.js - 如何将 use() 的实例应用于除 app.use(express.static("dist")) 传递的路由之外的所有路由?
- css - 即使在更改版本、硬刷新和清除缓存后 CSS 更改也不会反映
- javascript - 如何在javascript中验证之前修剪非必填字段
- python - 关于用户名和密码加密