MS Access 嵌套子表单链接到主(父)表单
Posted
技术标签:
【中文标题】MS Access 嵌套子表单链接到主(父)表单【英文标题】:MS Access nested subforms link to main (parent) form 【发布时间】:2011-01-20 05:20:06 【问题描述】:我正忙于开发一个 MS Access 2007 应用程序,该应用程序需要使用具有相当复杂用户界面的子表单。我知道如何创建父表单并链接到子表单,以便它显示与父表单记录相关的数据,但我的问题是:
如果我有多个嵌套的子表单(比如向下 3 或 4 层),我能否以某种方式将位于 4 层的子表单与位于 1 层的父表单的记录相关联?我所说的嵌套子表单是指将一个表单粘贴到一个表单中,粘贴到另一个表单中,等等。
我希望与父表单链接的子表单当前使用查询作为其源对象,使用嵌套子表单的原因纯粹是为了用户界面的美观。
有没有简单的方法来解决这个问题?或者也许使用 VBA?
【问题讨论】:
我从来没有设计过嵌套的sbuforms,我觉得这会让用户非常困惑。我已经创建了多次向下钻取表单,其中子表单“向下钻取”到另一个带有子表单的表单,该子表单又“向下钻取”并且经常使用选项卡控件来分隔数据。一个示例是带有发票子表单的客户表单。然后发票子表单打开一个发票表单,其中包含一个部分 sbuform。这反过来又打开了一个带有各种子表单的部件表单 【参考方案1】:许多人没有意识到的一件事是,LinkChild/LinkMaster 字段实际上可以是任何有效的表达式。因此,您可以将 subForm1 的 LinkChild/LinkMaster 属性设置为:
LinkMaster CustomerID
LinkChild CustomerID
那么 subForm2 可以有这个:
LinkMaster subForm1.Form!InvoiceID
LinkChild InvoiceID
...等等。我无法想象比这更深入,但这是可能的。
您还可以考虑级联数据表表单是否可以解决问题,使用子数据表。您甚至可以让数据表将非数据表表单显示为其子数据表(当我将具有子表单的父表单切换到数据表视图时,我完全意外地发现了这一点——子表单仍显示在表单视图中)。使用子数据表,您不会遇到表单数量或嵌入连续表单的限制的任何问题。
【讨论】:
谢谢。我最终做的是将前 3 级表单链接到父表单链接到的同一记录集,然后将第 4 级的字段与第 3 级的字段链接。实际上非常简单的解决方案,但我花了足够长的时间来解决它..【参考方案2】:如果这纯粹是出于审美原因(对您或其他人来说看起来很漂亮),而不是出于功能原因,为什么不直接使用带有“凹陷”特效的矩形呢?
【讨论】:
以上是关于MS Access 嵌套子表单链接到主(父)表单的主要内容,如果未能解决你的问题,请参考以下文章
Access 2007 使用选项卡将多个子表单链接到主表单的最佳方式