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

时间:2017-09-13 13:48:18

标签: ms-access ms-access-2007

我想在新数据库中重新创建一些现有的Access查询,以便我可以稍微调整它们。我遇到的问题是当前数据库中似乎没有查询某些表。这些表都以1结尾。

例如,INV_MTL_ITEM_LOCATIONS是数据库中的导入表,但是 正在查询INV_MTL_ITEM_LOCATIONS_1,即使它未显示在左侧的表格面板中。

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

2 个答案:

答案 0 :(得分:2)

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

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

您的查询可能如下所示:

SELECT something
FROM INV_MTL_ITEM_LOCATIONS AS INV_MTL_ITEM_LOCATIONS_1

Access在使用查询构建器时自动创建这些别名,并且您多次添加同一个表。删除非别名表时,另一个表保持别名。

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

答案 1 :(得分:0)

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

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

您也可以在设计视图中创建它,只需

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