【问题标题】:Ghost change my data after close formGhost 在关闭表单后更改我的数据
【发布时间】:2025-12-02 18:00:01
【问题描述】:

我有一些数据库可以访问。我制作了一些带有子表单和下拉列表的表单(通过查询):

我创建表单的步骤:

  1. 根据表格制作表格
  2. 删除所有非PK或FK文本框
  3. 创建组合框并将值存储到我选择的文本框
  4. 创建子表单并设置链接主字段和子字段

设计视图:

这是表任务任务的表单,具有 Fk:项目、peson 等。DropLists 已连接 tu 子表单,用于更改项目、人员等 FK。所以当我工作时,我在下拉列表中选择我想要添加到数据库的内容并使用 subForm .当我关闭此表单时,表中的第一行将 FK 更改为下拉列表上的最后一个配置。请问我该如何解决?

【问题讨论】:

  • 您的表单后面有代码吗?如果是这样,您应该添加一个断点。然而,可能很难决定在哪里。你有关闭按钮吗?你如何关闭你的表格?你有当前事件吗?你有更新子表单的代码吗?
  • 不,我没有任何代码背后..,我没有任何按钮.. 只能在 heda 上右键或右键单击 X 关闭表单并选择关闭.. 这是小型数据库MS访问表格..真的很小..
  • 下拉列表如何连接到子表单?
  • 在组合框的 winzard 期间,我将该值存储在表单上的字段中......并且子表单在表单 id_projekt;id_os_udaje 上具有链接主字段和 Ciheld 字段等。这是文本字段,在表单上不可见,但下拉列表存储到那个值..
  • 我创建表单的步骤: 1 从表中创建表单 2 删除所有非 PK 或 FK 文本框 3 创建组合框,将值存储到我选择的文本框 4 创建子表单并设置链接主字段和子项字段

标签: forms ms-access ms-access-2007


【解决方案1】:

很可能使用主表单来选择和更新子表单记录,但在这种情况下它不应该是绑定表单。

为了设置一个更好的词,一个链接表单,取消绑定主表单,即删除记录源并确保下拉列表(组合框)没有控制源。我建议您将下拉列表重命名为 cbo,以表明它们是控件,而不是字段。应该不需要隐藏控件。

组合框的值是绑定列的值。 Key 或 FK 是 SELECT 语句中的第一项,绑定列是 1(一个),因此相关的 Key 或 FK 是每个组合框的值。您可以将链接主字段设置为控件的名称,因此链接主字段应为cbo_id_projekt;cbo_id_os_udaje;cbo_id_komponent;cbo_id_uloha

顺便说一句,我通常避免使用下划线,但每个下划线都有自己的。

【讨论】: