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

Posted

技术标签:

【中文标题】为数据收集部署 MS Access 数据库应用程序的选项【英文标题】:Options to Deploy MS Access Database Application for Data Collection 【发布时间】:2014-11-02 17:59:48 【问题描述】:

我正在 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 运行时服务并能够使用我的应用程序,而无需购买/安装完整版的 MS Access。有人可以证实这一点吗?这是否适用于上述所有(ACCDB、ACCDE、EXE) 是否有任何功能不能从严格的数据输入角色中获得?

谢谢!

【问题讨论】:

【参考方案1】:

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

    创建一个acde; 使用该acde,在选项中,取消选中显示导航窗格(或类似的东西);还应该有一个禁用 shift 键的选项。 将 startform 设置为摘要表单

    关闭摘要表单将关闭应用程序:在摘要表单的设计视图中(在 accdb 中,在您执行其余操作之前),创建一个 form_unload 事件;在这种情况下放

    DoCmd.Quit

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

希望对你有帮助

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于为数据收集部署 MS Access 数据库应用程序的选项的主要内容,如果未能解决你的问题,请参考以下文章

使用 ms access 2007 和 ado 部署 delphi 2010 以进行数据库连接所需的文件

MS-Access查询以在另一列中收集逗号分隔的结果

使用 MS Access 数据库发布 asp.net

MS Access:数据表属性(作为子表单)- 表单未打开,错误:2489?

MS Access 32 位或 64 位

跨表的 MS Access 年龄计算