访问查询在数据库中不存在的表上运行

问题描述:

我想在新数据库中重新创建一些现有的Access查询,以便我可以稍微调整它们。我遇到的问题是被查询的一些表似乎不存在于当前数据库中。这些表都带有1访问查询在数据库中不存在的表上运行

例如结束,INV_MTL_ITEM_LOCATIONS是在数据库中导入的表,但 INV_MTL_ITEM_LOCATIONS_1被查询,即使它并不在左边的表板显示。

这是我不知道的某种类型的复制功能吗?查询运行时没有任何错误。

不,该查询运行在别名表上。它实际上只是查询INV_MTL_ITEM_LOCATIONS

使用SQL,您可以为表创建别名。当在一个查询中查询同一个表两次时,这非常有用,但通常也用于缩短查询时间。

您的查询可能会是这个样子:

SELECT something 
FROM INV_MTL_ITEM_LOCATIONS AS INV_MTL_ITEM_LOCATIONS_1 

访问使用查询生成器时会自动创建这些别名,如果你添加同一个表不止一次。当除去无锯齿的表格时,另一个保留别名。

这是完全正常的,据我所知,从来没有问题。

Erik的回答很好地解释了它。
但是要详尽无遗,您实际上可以在不在当前数据库(也不在链接表中)的表上创建查询。
下面是一个例子:

SELECT * 
FROM History IN 'c:\test\mySecretBackend.accdb' 

你也可以创建在设计视图,只是

  1. 设置查询的源数据库属性为c:\test\mySecretBackend.accdb
  2. 点击查看表