如何写使用链接表的访问查询?

时间:2018-09-25 19:00:45

标签: sql-server ms-access

我的任务是为公司工作流程创建一个跟踪器。

我有10个表,其中有数据。有所有表共有的属性。我用这些属性制作了一个表,为这些记录提供了唯一的ID,该ID可以将它们加入到原始表的唯一属性记录中。我还将人员表链接到原始表。所有这些表都存在于我的SQL Server后端。我在Access中进行了查询,该查询显示了我得到的所有信息。我将使用Access中的表单作为前端来显示,编辑和添加记录。

我遇到的问题是我无法写入具有外部链接表的查询。我花了很多时间对这些数据进行规范化,并且我知道可以通过在SQL中使用具有冗余属性的表而不是写查询,而是写链接表来解决这个问题。只是想知道是否有解决方法。

谢谢

1 个答案:

答案 0 :(得分:0)

通常,即使没有链接表,此类查询也无法更新。

使用多个表时,通常的方法是为子表使用子表单。这样,每种形式仅绑定到一个表。 (您甚至可以自由地将此类表单直接绑定到链接表)。

因此,您可能会说有一个客户表,然后有一个发票表。因此,您的主表单将显示一位客户并绑定到该一张表。

然后,在子表单中,您可以显示所有发票。

因此,要将多个表组合到一个允许用户更新数据或添加更多数据的表单或屏幕中,您无需构建将所有数据连接在一起的查询,而只需将多个表单组合为一个表单即可。但是这些单独的表单中的每一个都会显示给定相关子表中的数据。

这是Access中内置的典型发票形式: enter image description here

顶部是发票的“主要”形式。它绑定到客户表–一个记录。然后,多行明细为发票明细表。因此,表单不使用查询,但是表单和子表单的每个部分都绑定到给定的相关表。您将每个表单直接绑定到链接表(或多个表,如果需要显示上述相关数据)。

这种方法允许您将一组编辑相关表的表单拼凑在一起,但是每种表单都直接绑定到链接表。

因此,链接表的事实与否无关紧要-此类查询不用于编辑数据,而来自链接表或非链接表的此类查询不可更新。

因此,您的表单+子表单将遵循相关表的模式,您需要将它们作为一个整体视图一起使用,并可以编辑数据。您不需要也不想使用查询来填写这些表格。

您肯定会提供某种“搜索”表格,或者某种方式来提取一张客户发票,并且该发票及其子表格将显示相关数据,并允许对该数据进行编辑。 / p>