Access中的多表更新设计

时间:2018-08-28 16:24:24

标签: ms-access ms-access-2010 ms-access-2013 ms-access-2016

更新:如果您由于自己的原因而阅读了整篇文章并理解了它,那么答案就在普通人的数据库概念设计中(而不是Access的工作原理)变得模糊不清。这个概念花了几个月的时间,我想将其传递下去。

首先,自动编号类型会在任何保存功能或任何类型的命令(包括数据表视图中的键盘输入)结束时更新为该表周期中的记录。根本不需要多少新记录就无需编写代码,如果它不起作用,则它以某种形式存在,不是因为您的表不起作用(除非出现损坏)。在表单中,构建表单时,以主表自动编号主键作为记录源并使用表单,为了获得更详细的结果,请将该表单基于查询或使用子表单。 除了记录源之外,还要确定您的数据输入表单是否与子表单相关(如果它与主表单相关,您是否可以使用子表单?还是单独的数据输入表单)

最后,在我的一对零或一个方案中,您不必总是在表级别加入以同时更新两个表,我对此概念感到非常困惑,以为我不了解其他有关此事的职位。但是在我看来,在此论坛和许多其他论坛上的很多答案都未能像在OP上那样全面地尝试帮助其他人理解,这就是为什么OP令人沮丧的原因,因为似乎没有人在其他方面解决我的特定问题帖子,以及为什么什至我得到的帮助也仅限于一个认真的人,向沃尔夫冈大喊大叫。

有太多的帖子和海报从多个角度来探讨这个问题,以至于我找不到真正想要的答案。对我有用的方法可能对保持您的数据输入连接不起作用,我使用了联接和查询的组合来实现所需的功能,但是一旦您了解了概念,就无法理解上面的内容不要无休止地搜索论坛帖子以寻找答案,而无需进行涉及具体答案的搜索。发布问题,在Access中阅读有关项目名称和功能的更多信息并提出问题以解决一般问题(不是太具体)没有太大帮助。您会看到海报要求更多信息以帮助您。我清楚地张贴了我想要的东西,然后被人骂了。我希望这会有所帮助,让所有人和所有人平安-CJ

PS亲爱的专家,首先为您节省时间,因为论坛和讨论会为您提供帮助,同时也非常有用,而不是虚张声势。得到帮助或下车。我浪费时间阅读帖子的答案是“我不理解您要做什么...”,然后用厌恶或怀疑的态度向OP提问,或者建议一些不相关的答案进一步令人困惑的问题,这似乎是问题所在。这些天来,如果您想帮助,请帮助

原始帖子:

好的,根据评论,感谢任何自愿解决此问题的人。

我有一个桌子和关系设计问题。

我有一个带有pk auto的表,并且我想要一个相关表,该表的相关列以递增的方式编号,每当以绑定到它的形式输入新数据时,该表就会更新。它需要更新自动编号表的键中的相关行。

---答案是将表连接到自动编号字段上。

第一个表(主记录源)的自动编号只是一个ID。我想我需要两个主键,因为我需要在报名表中用该数字更新相关记录并移至NextRec,但要更新主表中的pk并移至NewRec,我该如何加入(请参见jpg图片)?

我想输入结果并更新该现有记录,但要更新相邻的pk,以便在主表中创建一个新记录。

Tourney

更深入:

From yours

My desired form

请注意,计算表将为即将到来的游戏表提供数据,其中查询将显示玩家最近的结果。我想拆分即将到来的结果,以显示玩家最近的游戏历史,第二个选项卡是我想一次输入一个结果或多个结果。我希望我更清楚。您可以看到为什么我遇到了挑战。看看我的表格。记录源是即将到来的游戏表,数据输入表单用于输入(输入游戏数据)

-----对此的答案是一个更新查询(一个单独的表单),然后重新查询统计表单以显示输入的新匹配。

1 个答案:

答案 0 :(得分:0)

从评论中看,这就是我阅读您的描述时所想到的:

由于将首先输入 UpcomingGames ,并且每个 UpcomingGame 只能输入一个 GameResult ,因此这将是1:1的关系。正如名称​​即将到来的所言:即将到来的数据必须先输入,然后 Result 才有意义。除非可以取消 UpcomingGame ,否则 Game 确实会有一个 Result ,因此无需将信息分成两个表格。我想说的是,用户界面可能看起来像这样:

enter image description here

如您所见,T_NUM列是一个自动值。在输入任何数据之前,我使用如下查询初始化了该列(然后删除了该记录):

INSERT INTO Games ( T_NUM )
VALUES (1004);

这样,编号从1005开始。

只要用户可以删除现有记录或取消插入新记录,您将无法避免编号上的空白。如果您至少希望避免后者,则需要使用以下形式的VBA代码。