是否有一种方法可以将记录保存在表中,即使在关联表单中没有手动输入任何记录?主键将自动从前一个窗体复制。
我有两个表格,每个都绑在一张桌子上。我想在查询中显示表的记录集。但是这不起作用,因为如果在我的第二个表单中没有手动输入任何内容,则不会保存任何记录。因此,查询的记录丢失,然后查询中的条目丢失。
发布于 2022-09-19 02:15:05
作为一般规则,需要写出空白的再现不是必需的,但也是非常糟糕的想法。
让我们简单地谈一谈:
我们有一些客户(餐桌客户),然后说我们有一些发票给每个客户。(表发票)。
因此,我可以构建一个查询来列出客户,并说出他们的发票号码。
但是,如果我希望这个查询还包括还没有发票的客户,会发生什么呢?
我们不会开始制造一整船空载的发票。这不仅意味着我们有一个非常多的空白记录,而且所有的问题都会出现(例如规定没有发票号码我们不能创建发票!)
那么,在这种情况下,您发现大约90%的查询吗?
您将查询构建为我们所称的左联接。想想看,“左侧”表上的所有记录都会显示出来,并且可以选择子记录(右侧的表)。
因此,一张从客户到发票的连接表如下所示:
但是,我们希望左侧记录显示,即使不存在子记录。
因此,右击连接行如下:
现在我们选择这个:
现在,您可以在查询中看到如下“箭头”:
注意箭头头,并注意生成该查询时的选项。
因此,构建查询是非常常见的,构建没有子记录的查询是非常常见的。
但是,我们没有,也不会开始为这类操作抛出大量空白/空记录。这只会造成混乱,成吨的空白记录现在开始出现在报告中。
更糟糕的是,从那时起,您就不能将发票号作为所需的字段。表越多,所需的空白记录就越乱。
例如,对于每个发票记录,然后我有一堆子发票详细记录!
正如您所看到的,如果我们必须采用在整个数据库中创建空白记录的概念,那么一切都会很快崩溃。
想一想,当我们在查询中有3个表或更多表时,会有大量的记录!
解决方案不是在数据库中到处创建空白记录,解决方案是构建一个可以工作的查询,即使没有子记录也能工作。
因此,常规联接(或通常称为内部连接)意味着必须存在子记录。
但是,很多时候,我们希望上面的“左侧”表中的所有行和记录都在上面,并且不关心也不要求有或不存在子记录。
使用+采用左联接。
还有另一条线索?始终放在查询生成器最左边的父表中。然后,当您添加子表(当需要时)时,您将以您的方式向右工作,而您放置到查询生成器中的多个表通常需要一个“左”连接,因为正如您所指出的,这些子表中可能不存在记录。
您应该可以自由地键入,添加新的客户,如您所愿。事实上,您的客户没有发票(目前还),不应该影响您的数据库的一般操作。
https://stackoverflow.com/questions/73769632
复制相似问题