0

我的数据库有一些问题。我正在尝试在主报告中创建子报告,我尝试了两种不同的方法。两种方式的结果都是一样的。

方式#1 - 在主报表中,单击子表单/子报表图标并从之前准备好的列表中选择子报表。

方式#2 - 在主报表中,单击子表单/子报表图标然后构建子报表表单相应的查询,以便我想要的字段出现在主报表的子框架中。

*****在这两种方式中,在运行时数据库都会出现恐慌,并且 Access 会关闭我的应用程序数据库。*****

注意:无论是主报表还是子报表都是单独工作的,根据过滤条件查看数据时状态良好。

4

2 回答 2

1

查看子表单上的“链接主字段”和“链接子字段”。您可能正在创建笛卡尔积。有时,对子报表的查询过于复杂,可能导致 Access 崩溃(我只在以前的版本中注意到这一点。)。

于 2012-09-13T15:03:35.793 回答
0

表格可能会损坏。有时您只需将旧表单中的所有内容复制到新表单中即可,它会起作用,有时您需要另存为文本,删除表单并从文本加载。

Application.SaveAsText acForm, "form1", "z:\docs\tmp.txt"
Application.LoadFromText acForm, "form1rest", "z:\docs\tmp.txt"

报告

Application.SaveAsText acReport, "report1", "z:\docs\tmp.txt"
Application.LoadFromText acReport, "rep1rest", "z:\docs\tmp.txt"

如果你已经在同一个数据库上开发了一段时间,你应该备份、压缩和修复、反编译甚至复制到一个新的数据库。这里还有其他关于从腐败中恢复的注意事项:http: //www.granite.ab.ca/access/corruptmdbs.htm

还要考虑您的打印机驱动程序并确保简单的报告有效。

于 2012-09-12T09:35:59.440 回答