通过多个数据库访问2007 SCM

时间:2011-04-14 18:58:23

标签: ms-access version-control vba ms-access-2007

我正在寻找一种在多个Access 07数据库上实现SCM的方法。我们只需要表单/代码的源代码控制。

基本上我们有100多个结构相同的数据库,使用相同的代码/模块,但每个数据库只包含一个客户端的数据。当我们进行代码更改时,我们当前必须手动浏览每个文件才能进行更改。

是否有人为类似的东西实施了源代码控制(如果是的话,上帝会帮助您)或有任何想法?

PS - 我意识到这里有很多DailyWTFery,这是我在重写.NET / MSSQL之前被指派做一些紧急维护的遗留产品,但我认为有足够的工作要保证这个如果有可能就到位。

1 个答案:

答案 0 :(得分:2)

您可以在this question找到更多关于SCM的信息;它确实涉及使用一些未记录的(或记录不完整的)命令导出和导入代码和表单。我还记得在使用该方法时发生校验和或版本号的问题。

但是,您可以通过将数据库的数据和应用程序端分离为单独的文件,然后从应用程序DB向数据DB添加表链接来解决许多此问题。那么你将只有一个应用程序数据库和大量客户端数据数据库。

切换到其他客户端就像重新链接到其他数据库一样简单。

您可以手动执行此操作,也可以使用以下结构对其进行编码:

Dim myTable As TableDef
Dim db As Database
dim strDBPath as string

strDBPath = ";DATABASE=C:\workbench\MyNewDB.mdb"

Set db = CurrentDb
db.TableDefs.Refresh
For Each myTable In db.TableDefs
    If Len(myTable.Connect) > 0 Then
        myTable.Connect = strDBPath 
        myTable.RefreshLink
    End If
Next

'' Note: This whips through every table in your database and re-links it to the new
''       DB. ODBC links will have a different value for strDBPath - I'll leave that as
''       and exercise for the reader