0

我试图将数据库分成两部分——一个自动更新的后端,一个允许搜索和添加/编辑评论的前端。源数据库中的数据是从多个表中拉到一起形成一对查询,我想把这些查询作为当前数据库的源。

Access 2007 支持将数据库拆分为多个部分,但不是以我正在寻找的方式。它将表保存在源数据库中,并将所有表单、查询、报表和宏放入新数据库中。表和查询已经在后端,这个新数据库应该只是为最终用户提供一个好的 GUI。

Access 2007 也支持链接表,但这些只能使用表作为源,而不是查询对象。

我在想最好的方法是按照以下方式进行 SQL 查询

SELECT * FROM SourceQuery IN "C:\Path\To\ExternalDB.accdb";

我正在努力实现的目标是否可行,这会是最好的方法吗?

由于它还处于项目的早期阶段,因此重新架构数据库并非不可能,但我更愿意避免这样做。

4

2 回答 2

1

希望我对您的理解正确,但最明智的解决方案是链接后端数据库中的表并将查询复制到 UI 数据库。这些查询仍然可以毫无问题地访问基础表(通过链接表),并且可以通过正常方式访问您的表单和 VBA 代码。

您不希望 UI 数据库中的查询有什么特殊原因吗?

于 2009-07-09T18:44:01.390 回答
1

您正确地描述了通常的 Access BE-FE 划分:只有后端的表。我知道并非所有数据库程序都这样做,但这是 Access,我的方法是尊重通常的划分。(而且您几乎没有选择,因为您不能在 Access 中“链接到查询”。)

回顾您的评论('有一个特定的原因......'),我认为这可能意味着

  1. 向后端添加更多表,本质上是桶(导入数据以就绪形式;导出 1;导出 2),允许所有用户获得一致的处理数据;
  2. 制作一个位于 BE 旁边的小型管理 FE,并存储您的模块、导出查询和导出例程;和
  3. having some redundant queries on the user FE. This is vexing in my own work. I just try to design sturdy stable "building block" queries in those roles, and keep their number to a minimum.
于 2009-07-09T21:45:14.193 回答