MS Access 2003拆分数据库,在FE上有一个表

时间:2011-11-10 19:37:23

标签: database ms-access split

我相信我理解正确地说,拆分数据库会假设所有表都在后端而前端的其他所有表。

这是我的问题。我在一家大公司工作,人们遍布全国各地,正在使用数据库。大约60-65人。通常不会同步超过4或5。

我有一个静态表,我在用于提供主表的表单上用作查找表。如果我在BE上有静态表,那么某些人的表单加载时间(取决于他们与服务器的距离)可能超过两分钟。如果我把这个静态表放在FE上,加载时间要快4-5倍。

我的问题是;可以让静态表导致我的数据库出现任何其他负面问题,还是只是“推荐”所有表都在BE上?我的思维过程是因为我在FE上有这样一个巨大的性能,如果我需要改变那个静态表,我将只分发一个新的FE。这听起来合乎逻辑吗?

3 个答案:

答案 0 :(得分:1)

当然是的。如果它只是一个静态查找表并且每次从后端加载它会花费太多时间,将它放入前端是完全没问题的。

如果您不想在每次表更改时分发新前端,您可以将表放入后端,并让每个前端在启动时导入表:

'run this in the frontend on startup
DoCmd.DeleteObject acTable, "Your_Table"
DoCmd.TransferDatabase acImport, "ODBC", ";DATABASE=c:\backend.mdb", acTable, "Your_Table", "Your_Table", False

(当然你必须改变你的桌子的名称和后端的路径)

答案 1 :(得分:1)

您的静态表可以位于前端。您还应该在FE中包含每个不会更改的表,这是“发布”的一部分,例如:仪表板菜单表。
无论如何,如果你有这样的“漫游”用户,我会认真考虑将数据移动到SQL Server,这可以真正减少网络流量,并提高性能。

答案 2 :(得分:0)

我会在FE中做一个静态表。我现在使用严格限制用户的表格,而不需要保存在BE数据库中。然后,如果您需要添加新数据,只需向您的用户发布新的FE。

我认为它使BE的维护更容易,因为BE中没有包含静态/不必要的表。我这样做了,一些静态表进入FE数据库,一些进入SQL服务器数据库。

这实际上取决于您认为对您的用户以及维护更容易的内容。