【问题标题】:Access 2007 SCM over multiple databases通过多个数据库访问 2007 SCM
【发布时间】:2011-04-14 18:58:23
【问题描述】:

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

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

有没有人为类似的东西实施了源代码控制(如果有,请上帝帮助你)或有什么想法?

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

【问题讨论】:

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


    【解决方案1】:

    您可以在this question了解更多如何做SCM;它确实涉及使用一些未记录(或记录不充分)的命令导出和导入代码和表单。我还记得您使用该方法时发生的校验和或版本号问题。

    但是,您可以通过将 DB 的数据和应用程序端分离到单独的文件中,然后将表链接从应用程序 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 2018-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多