部署MS Access数据库应用程序以进行数据收集的选项

时间:2014-11-02 17:59:48

标签: ms-access deployment access-vba ms-access-2007 ms-access-2010

我正在MS Access 2007中构建一个Access数据库应用程序,它本质上是一个数据收集工具,我需要将其分发到各个要填写的站点。在站点填写所有必要的记录后,他们将返回该工具,我将需要将来自各个站点的所有数据合并到一个数据库中进行分析。我有2个表和3个表单,后面有一堆自定义VBA代码,用于数据验证,清理和流程。

我有一个摘要表单,显示当前输入的所有记录。然后,用户可以使用摘要表单上的按钮添加记录,该按钮将启动数据输入表单(我们称之为数据输入表单#1)。从数据输入表单#1,可以启动另一个表单(数据输入表单#2),用于输入有关在数据输入表单#1上填写的记录的子记录。在表级强制执行参照完整性。

从摘要表到数据输入表#1和数据输入表#2的流程对于数据的完整性非常重要。我已在VBA中明确规定了此流程,并将指示用户始终从摘要表单开始。

在那漫长的背景之后,我的问题.....

我有哪些不同的选项,以及将此应用程序部署到各个站点的选项的相对优势/劣势。我的基本要求是:

  • 理想情况下,用户永远不会看到存储数据的表格。
  • 摘要表单会在打开时启动,但无法直接打开任何其他表单。
  • 关闭摘要表单将关闭该应用程序。
  • 由于有大量VBA代码指示重要功能,如果他们不接受安全警告,他们将无法访问任何表单或使用该工具
  • 我可以轻松编写每个工具的两个表中数据的提取/导出脚本

我隐约知道以下选项: - 将完整的ACCDB文件分发到站点 - 创建AACDE文件并将其分发到站点 - 使用Access Developer Extensions“打包”应用程序 - 创建和EXE文件?

我还读过,如果用户没有Access 2007或更高版本,他们可以下载MS Access Runtime Services并能够使用我的应用程序,而无需购买/安装完整版本的MS Access。有人能证实吗?这是否适用于上述所有内容(ACCDB,ACCDE,EXE)是否存在严格数据输入角色无法使用的任何功能?

谢谢!

2 个答案:

答案 0 :(得分:3)

您应该能够通过访问中设置的选项以及一些代码来完成大部分操作;

  1. 创建一个accde;
  2. 使用该accde,在选项中,取消显示导航窗格(或类似的东西);应该有一个选项来禁用Shift键。
  3. 将startform设置为摘要表单
  4. 关闭摘要表单将关闭应用程序:在摘要表单的设计视图中(在accdb中,在执行其余操作之前),创建一个form_unload事件;在这个事件中提出

    DoCmd.Quit

  5. 更多的问题可能是所有站点是否都具有运行Access 2007的ms office的必要组件,或者如果您还需要提供访问2007运行时,但我不会去那里。如果你需要这样做,你最好问另一个问题,或者寻找现有的答案。

    希望这有帮助

答案 1 :(得分:2)

如果您确实希望将数据库打包为运行时,那么MS工具在部署时就会出类拔萃。一家名为SageKey的公司出售实际工作的脚本,处理正在安装的其他版本的Access的问题,以及许多其他事情。 我已经使用了他们脚本的三个版本(即三个不同的MS Access版本),并且它们很棒。