我正在寻找一种在多个Access 07数据库上实现SCM的方法。我们只需要表单/代码的源代码控制。
基本上我们有100多个结构相同的数据库,使用相同的代码/模块,但每个数据库只包含一个客户端的数据。当我们进行代码更改时,我们当前必须手动浏览每个文件才能进行更改。
是否有人为类似的东西实施了源代码控制(如果是的话,上帝会帮助您)或有任何想法?
PS - 我意识到这里有很多DailyWTFery,这是我在重写.NET / MSSQL之前被指派做一些紧急维护的遗留产品,但我认为有足够的工作要保证这个如果有可能就到位。答案 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