3

我正在为非营利组织使用 MS Access 2010 中的采购数据库,并且遇到了使用其他资源似乎无法解决的问题。

我有两个与此讨论相关的表,一个是采购订单,一个是行项目。每个行项目记录都有一个相关的采购订单号(实际上是一个文本字段,因为允许使用字母),打开“强制参照完整性”,一个采购订单到多个采购行。)为了编辑采购订单,我有一个表单,我最初使用向导创建的,但从那时起进行了大量修改。PO 编辑表单中有一个子表单,它显示采购行表的数据表视图,由主表单中当前的 PO 过滤。

最初,当我在子表单中创建新记录时,它会自动将链接 PO 字段设置为当前 PO。这样,新的采购行记录与当前采购订单相关联。但是最近,正在创建新记录,但链接字段中没有任何值,除非我在该列中手动选择 PO,否则记录在保存时会从视图中过滤掉。

那么问题来了,什么属性控制着新记录在这种类型的子表单中是如何被初始化的呢?是否存在可能导致此行为的另一个问题?

不幸的是,我没有立即注意到这个问题,所以我不知道它工作和失败之间发生了什么变化。此外,它似乎是断断续续的,有几天工作而不是其他日子(但在一天内从未改变。)我认为这只是意味着我错过了另一个变量。

根据我在这里提问之前的研究,我尝试过的一些事情:

以前,子表单的“链接主字段”属性设置为父表单的“ID”字段。我现在在主窗体中创建了一个链接到该字段的文本框并将其设置为主字段。老实说,我不明白这会有什么帮助,但多个操作指南推荐了它。

在采购行表中制作所需的链接字段。这可以防止记录消失,但不会更改初始化。

强制两个字段之间的参照完整性。正如我所说,它现在是强制执行的,但最初不是。这并没有引起任何明显的变化。

在进入子表单之前手动保存记录。同样在我退出之前保存子表单记录。

感谢您的任何建议。

4

2 回答 2

1

我知道这篇文章较旧,但我最近遇到了这个问题并找到了解决方案。

我想你的数据库是分裂的。当您的 Access 版本高于内置数据库的版本时,就会出现问题。

从前端删除表,然后重新链接到它们。重置您的表单主/子字段,一切都应该正常工作。

希望这对将来的其他人有所帮助。

于 2014-06-21T13:59:45.887 回答
0

在子窗体上,确保将链接子字段和链接主字段属性都设置为创建关系的数据库字段。如果父表单绑定到包含创建关系的关键字段的记录源,则不需要指定文本框或任何其他要链接的控件,只需指定字段名称即可。

于 2012-12-11T21:26:56.103 回答