【问题标题】:How to cause Subdatasheet to display with Form's Datasheet view如何使子数据表与表单的数据表视图一起显示
【发布时间】:2016-06-29 19:54:53
【问题描述】:

在我的数据库中,是一个基于已定义子数据表的查询的表单。当表单在数据表视图中时,每条记录都会显示加号,可以根据源查询上定义的子数据表展开以显示相关记录。换句话说,数据表视图会自动显示子数据表——正如预期的那样,所以我知道它可以像这样运行。

然后,我基于与现有工作表单相同的查询创建了一个新表单。但是,新的数据表视图不会显示子数据表...没有加号,什么也没有。接下来,我创建了一个包含几个相关表的测试数据库,并且我还确保这些表定义了一个子数据表。如果我直接打开表格,我会按预期看到加号和子数据表。但是再一次,如果我在这些表上定义一个表单,在数据表模式下查看时它不会显示子数据表。访问表单没有单独的设置来定义子数据表,而是只能从其记录源对象(即表或查询)继承子数据表设置。

有没有办法强制表单(在数据表视图中)显示已在记录源对象上定义的子数据表?为什么即使基于相同的查询,新表单的功能也会与原始表单不同?

我正在使用 Access 2013 和具有 2007-2013 文件格式的数据库。

【问题讨论】:

    标签: ms-access ms-access-2010


    【解决方案1】:

    子数据表视图仅在数据表视图中可用。

    此外,建议使用子数据表视图仅用于读取而不是编辑,因为可能会导致意外错误。

    来自微软:

    如果您将子数据表添加到表中,请限制这些子数据表的使用 子数据表来查看而不是编辑重要的业务数据。如果 您想编辑表格中的数据,我们建议您使用表格 编辑数据而不是子数据表,因为数据输入错误更多 如果用户不小心滚动,可能会出现在数据表视图中 到正确的单元格。另请注意,将子数据表添加到大 表可能会对表的性能产生不利影响。

    Microsoft Office Access 自动创建一个子数据表,当您 创建一个符合以下条件之一的表:

    表格是一对一的关系。

    表格是一对多关系的“一”方,其中 表的 SubdatasheetName 属性设置为 Auto。

    通过匹配主键和外键来定义关系 相关表中的关键字段。

    您还可以将子数据表添加到任何表、查询或表单中 数据库。在数据表视图中,一个表单只能显示一个子数据表 一次。

    【讨论】:

    • 我输入了数据表“模式”而不是“视图”——我的错。它现在已更正,否则我非常仔细地解释它以避免混淆。是的,我知道子数据表仅用于数据表视图,但表单用于开发和制作这样的数据表视图......正如我所描述的。感谢其他提示,但我也没有提及数据表的使用……顺便说一下,它将是只读的。如果您仔细阅读了我的问题,您会发现我在复制已经有效的内容时遇到问题,因此 Microsoft 的详细信息无济于事,因为我的案例已经符合适当的条件。
    • 好的,您创建了一个新表单,其中包含与以前相同的查询的默认数据表视图。现在抓住相关表(子数据表部分)将其拖到窗体上。将打开一个弹出窗口,您可以在其中定义链接字段。现在,当您在数据表视图中打开它时,您将拥有您想要的我相信的东西。也许子表单隐藏在原始表单上??
    • 谢谢!是的,我有一个隐藏的子表单——不仅隐藏,而且调整为一个小盒子,并移动到设计视图的一个角落。我忘记了这一点,并且错误地记得如果已经在记录源上定义了子数据表行为是自动的。我到处搜索,但没想到要查看表单上的每个元素以进行愚蠢的疏忽。
    猜你喜欢
    • 2023-03-23
    • 2012-01-04
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多