如何使用 MS Access 管理“发布”

Posted

技术标签:

【中文标题】如何使用 MS Access 管理“发布”【英文标题】:How to manage "releases" with MS Access 【发布时间】:2018-06-20 12:57:25 【问题描述】:

我有一个 MS Access 2016 应用程序,几个人在一个部门使用它。我知道这整件事都写了网络开发,但是这个访问数据库已经有一段时间了,现在没有时间切换了。

最近,一个不同的部门想要使用这个应用程序,但有自己的副本。目前,如果我需要进行更改,我将在应用程序的副本中进行更改,当我准备好导入他们的数据时,他们会向我发送当前版本,我将其导入并发送回新版本。但是,目前我逐表复制数据表并将其粘贴到新数据库中。这是低效且乏味的,现在有两组数据我会这样做,这太疯狂了。有超过 20 个表,因此我不想为了更改给用户的消息之类的最小更改而在 2 个应用程序中手动复制超过 40 多个表。

我知道我可以复制代码,这样我就可以避免导入数据,但有时对于大的更改,我会更改 15-20 个 vba 文件。

所以,有几个问题:

1.有没有办法为整个数据库生成插入语句,我可以在脚本中运行?因此,当我创建新副本时,我只需上传 1 个文件并填充所有数据?

2.是否有任何类型的开发工具可以帮助这个过程?现在我认为这只是创建 MS Access 应用程序的失败,但一定有一些方法可以让人们简化“新版本”过程。我目前的系统似乎有缺陷,我希望有一个更稳定的流程。

编辑: 目前,我将所有数据都存储在本地,并附加到与前端相同的访问文件中。由于我将有 2 个不同的部门使用相同的功能,我该如何管理数据/前端?这 2 个部门应该有自己的访问文件来使用表格输入数据,因此在 2 个部门之间有 1 个前端是行不通的。

另外,我应该创建 2 个单独的后端吗?目前,我无法区分从一个部门与另一个部门插入/更改/删除的内容。如果我要附加一个字段来指定谁输入了记录,那将需要我所有的查询的完整整体,因为我需要满足截止日期,所以我没有时间。

【问题讨论】:

您需要将数据库拆分为前端和后端。参见例如***.com/questions/1672077/… 和 ***.com/questions/30738918/… 我对您的环境不是 100% 清楚,因此我的建议可能需要更改。您是否使用前端/后端设置?每个用户都得到一份前端的副本吗?使用服务器?第一步是尽可能多地自动化您的手动步骤。创建代码,将用户的所有数据导入您的“新”数据库。如果您通过代码创建某种类型的“版本控制”,您可以分发您的“新数据库”并在用户端进行设置。需要更多细节才能继续... 我在我的问题中添加了更多细节,请阅读编辑部分。 需要显式信息:(1)“目前我将所有数据都存储在本地,附加到与前端相同的访问文件”是否意味着(a)每个人都有 FE/BE 设置; (b) FE/BE 都驻留在同一个工作站上?? (2) 每个人都共享一个服务器吗?如果是这样,则 BE('s) 在服务器上运行。 (3) 您的 FE 更改是否适用于所有部门?为每个部门提供自己的后端并没有什么坏处——除非他们有共同/共享的数据。 后端驻留在共享网络文件夹上。前端被复制到每个用户的 本地 AppData 文件夹(请参阅我的文章)。如果用户在两个没有共同数据的组中,请使用两个后端。 【参考方案1】:

首先是拆分数据库。为此有一个向导。

然后你可以在不接触真实数据的情况下维护前端。

接下来,考虑使用脚本分发前端的修订版本。我曾经写过一篇文章,介绍了一种经过验证的处理方法:

Deploy and update a Microsoft Access application in a Citrix environment

【讨论】:

以上是关于如何使用 MS Access 管理“发布”的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ms-access-2016 开发应用程序并使其与以前的版本兼容 (2007)

Eclipse 数据源资源管理器和 MS-Access

如何使用 MYSQL 查询访问 Ms-Access 数据库

如何使用 twilio 从 MS Access 发送消息?

如何在 ms-access 中使用 ISNULL 函数

如何在 MS ACCESS 2007 查询中使用 LIMIT