【发布时间】:2010-04-25 19:14:49
【问题描述】:
我们正计划重新设计一个相当庞大的 MS Access 应用程序。有没有办法在同一个应用程序上同时工作,或者是否可以合并同一个文件的两个单独的实例(不是数据,而是表单和代码)。现在 Access 包含数据,但在未来的版本中 MySQL 将托管数据,Access 将只是前端(通过 ODBC)
【问题讨论】:
标签: ms-access vba ms-access-2003
我们正计划重新设计一个相当庞大的 MS Access 应用程序。有没有办法在同一个应用程序上同时工作,或者是否可以合并同一个文件的两个单独的实例(不是数据,而是表单和代码)。现在 Access 包含数据,但在未来的版本中 MySQL 将托管数据,Access 将只是前端(通过 ODBC)
【问题讨论】:
标签: ms-access vba ms-access-2003
是的,您可以让多个开发人员同时开发应用程序。
在我们的软件行业,这通常是通过使用所谓的源代码控制系统来完成的。或者通常是我们所说的源代码存放处。
源代码控制系统只允许多个开发人员处理同一组文档,或者在本例中是同一时间的同一应用程序。
它的工作原理是一个开发人员可以“检查”几个报告、几个模块、表格等。现在他拥有那个时期的那些模块、代码、表格。没有其他人可以签出和修改那些“签出”的部分。事实上,在大型软件公司中,您可能有数百名开发人员在同一个项目上工作,并且通常有一个不成文的行为准则,并说如果您将某些内容重新检入到主构建中,并且它会导致错误,那么您不会回家,直到你修好它!换句话说,不要将代码签入会导致它崩溃的应用程序!在软件行业中,所谓的“破坏构建”在某些软件领域是不可以的。你不想成为那样的人!
因此请记住,MS 访问支持源代码控制。在看到这些附加选项出现之前,您必须安装开发人员扩展程序才能访问(当然,还假设您安装了 Visual Studio 源代码控制系统)。
这是 access 2003 的屏幕截图,请注意表单上一些对象旁边的小复选框: alt text http://www.members.shaw.ca/AlbertKallal/vss/Image2.gif
这是另一个镜头: alt text http://www.members.shaw.ca/AlbertKallal/vss/Image1.gif
再次注意,带有复选标记的是我拥有的表格。每个对象旁边的小“锁”意味着如果我尝试修改该对象,它会被锁定,并且您实际上会收到一个提示,询问您是否要“签出”并获取该特定对象的所有权(在这种情况下是一个表单)。
如前所述,源代码控制系统适用于所有对象。这是查询生成器选项卡的屏幕截图:
alt text http://www.members.shaw.ca/AlbertKallal/vss/Image4.gif
再次注意上面的小附加复选标记或锁是如何添加到访问界面的。
在软件行业,使用 SCC 系统是标准的做法,这与期望数据库开发人员学习一些数据库规范化技术没什么不同。
源代码文件取自源代码系统并用于为每个用户构建本地 .exe 的事实,或者在这种情况下,本地 mdb 文件构建是没有实际意义的,因为与此相比,这只是一个物理视图的逻辑观点。
由于 access 可以将任何对象(表单、报告、代码)等导出为单个文本对象,这就解释了为什么 Access 作为单个文件可以支持使用源代码控制的多个开发人员,因为逻辑视图是单独的对象并且它没有实际意义,你有一个本地构建。只要access + VSS可以单独查看每个对象,那么整个过程与c ++从源代码系统创建SINGLE本地.exe或单个mdb并没有什么不同。
【讨论】:
Microsoft 建议对 Access 开发人员进行源代码控制。我不记得确切的参考资料,但我想你可以很容易地用谷歌搜索它。在表单、查询和/或表比较方面,我不知道这个源代码控制有多“智能”。我们在 VBA 中开发了自己的源代码控制系统,主要基于将 Acces 对象导出/导入到文本文件的能力(未记录的 Application 对象的 SaveAstext/LoadFromText 方法)。我们还使用文件比较工具(“文件比较工具”)来完善我们的源代码控制工具。
我们有一个“对象”表,其中列出了客户端界面中的所有可用对象。从这个列表中,我们可以导出\比较:
【讨论】:
2(或更多)开发人员在一个“前端”上工作很可能会在某个时候流泪。就我个人而言,我从未参与过需要适当源代码控制的项目,但有人告诉我,可视源代码安全适用于访问,因此您可能想试一试。
【讨论】: