我应该部署前端MDE文件而不是MDB吗?可能有什么好处?

时间:2016-12-01 15:49:04

标签: database forms ms-access frontend backend

昨天我拆分了数据库并将FE和BE放在共享驱动器上供其他人访问。 FE是一个.accdb文件,但在我的所有研究中,我都假设它与MDB相同?

我需要能够在其他用户访问FE时编辑表单和查询。我部署了一个非常基本的FE供他们使用,但现在我需要让它更强大。我目前无法在没有收到有关没有独占访问权限的错误消息的情况下这样做。

所以我现在对这个数据库的处理有几个问题。

1)如果我移动FE,它仍会链接到BE吗?如果我移动BE将改变文件路径并破坏链接,使FE无法使用?

2).accdb和MDB是同义词还是我在这里走得很远?我了解MDB用于进行编辑/更改,而您的目的是为用户提供MDE版本。

3)文件转换是数据库中的一个选项吗?功能区上是否有用于创建MDE版本的选项卡或按钮?有4-5人访问MDE是否存在缺点或潜在问题,如果移动它,它是否会与BE保持关联?

4)一旦我对MDB进行了所需的更改,我是应该覆盖MD​​E还是只创建一个新的MDE,将其放在共享驱动器上并将用户指向那里?

谢谢大家的帮助。我还没有去过数据库管理学校。我被投入到这份工作中,并且我尽力维持下去。这对我来说都是新鲜的。

2 个答案:

答案 0 :(得分:2)

1

是的,将FE移动到不同的计算机意味着链接表仍将指向后端。因此,您应该使用UNC路径名进行链接。例如:\ server \ AccessApplication \ MyApp.accDE

2

Mdb = accDB。当然他们是一样的。 Accdb只是从2007年开始引入的新格式。我当然建议你将mdb转换为这种更新的格式。我们已接近2017年,因此使用10年前的格式是一个坏主意。

上述问题与使用mde的问题是分开的,或者现在当然是一个accDE。 accDE是应用程序的编译版本,其源代码已被删除。您无法对VBA代码或表单/报告进行设计更改。因此,建议您分发一个阻止用户进行更改的已编译应用程序。另一个巨大的好处是未处理的错误不会破坏变量(VBA变量永远不会丢失,也不会在编译的应用程序中重新设置)。不用说,永远不会重新设置变量的应用程序(即使是未处理的错误)也会导致应用程序更加可靠。这也意味着您可以在VBA变量中进行应用程序范围的设置,并且在给定的会话期间永远不会重置或丢失它们的值。

3

要编译应用程序,首先应在VBA编辑器中进行debug->编译。如果您没有错误,那么您可以使用file-> save - > accDE用于创建和保存应用程序的编译版本。正是这个生成的编译应用程序将您分发到每个工作站。

4

是的,就像收到程序的新版本(比如PDF查看器)一样,您可以通过覆盖以前的版本来部署下一个新版本的应用程序。

因此,在将accDE拆分并部署到每个工作站之后,您现在可以自由地处理下一个出色的软件版本,并且您正在开发accDB前端。当您测试并对此accDB感到满意时,您可以编译+创建accDE,然后将其分发给每个用户/工作站。

答案 1 :(得分:0)

  1. 如果您移动FE,它仍会链接到BE。如果您移动BE,那么在您使用链接表工具重新链接表之前,FE将无法找到BE并且无法访问它。

  2. Mdb是microsoft的Access旧数据库格式。 accdb是当前格式,具有比mdb文件更多的功能。两者都以同样的方式行事。 mde格式是mdb文件的编译版本,它没有开发环境,accdb也有一个名为accde的编译格式。这种编译格式对于分发FE非常有用,因此用户无法对链接表或vba /宏过程进行直接更改。

  3. 要另存为另一种格式,您必须使用访问权限中的save as按钮。然后,您可以选择要将其保存到的格式。如果您的数据库当前是mdb格式,您将获得mde选项。如果您的数据库是accdb格式,您将获得accde选项。移动MDE不会影响链接。

  4. 两种选择都没问题。编译后的版本不应通过网络共享,应将其复制到用户的计算机中,以便应用程序执行不必通过网络。

  5. 您可以阅读以下网站以更好地了解数据库开发和部署。

    Develop and deploy Acc2010
    Best practices