Blue Flower

Bei sehr größen Projekten ist mir Access schon so zerschossen worden sodas ich auf eine Vorgängerversion zurückgreifen musste.
Um jetzt die programmierten Änderungen heraus zu beommen hab ich eine kleine Sub geschrieben welche alle Module in Dateien exportiert.

Unten ein kleiner Exkurs wie es dann weiter geht.

Sub export_modules_code()
  Dim mdl As module
  Dim o As AccessObject
  Dim s$, sCode$, sFolder$, sFile$
  Dim l&
  Dim fs As Object, a As Object
  Set fs = CreateObject("Scripting.FileSystemObject")
  On Error GoTo Errors_
  'Hier den Exportpfad eintragen
  '-----------------------------
  sFolder = "c:\access\1.51\"
  '-----------------------------
  For Each o In Application.CodeProject.AllModules
    s = o.Name
    DoCmd.OpenModule s
    Set mdl = Modules(s)
    sPage = sFolder & s & ".bas"
    l = mdl.CountOfLines
    sCode = mdl.Lines(1, l)
    Set a = fs.CreateTextFile(sPage, True)
    a.Write sCode
    a.Close
  Next
  For Each o In Application.CodeProject.AllForms
    s = o.Name
    DoCmd.OpenForm s, acDesign
    Set mdl = Forms(s).module
    sPage = sFolder & "Form_" & s & ".bas"
    l = mdl.CountOfLines
    sCode = mdl.Lines(1, l)
    DoCmd.Close acForm, s, acSaveNo
    Set a = fs.CreateTextFile(sPage, True)
    a.Write sCode
    a.Close
  Next
  For Each o In Application.CodeProject.AllReports
    s = o.Name
    DoCmd.OpenReport s, acDesign
    Set mdl = Reports(s).module
    sPage = sFolder & "Report_" & s & ".bas"
    l = mdl.CountOfLines
    sCode = mdl.Lines(1, l)
    DoCmd.Close acReport, s, acSaveNo
    Set a = fs.CreateTextFile(sPage, True)
    a.Write sCode
    a.Close
  Next
  Exit Sub
Errors_:
  If Err.Number = 76 Then 'Pfad nicht gefunden
    fs.CreateFolder sFolder
  Resume
  Else
    MsgBox Err.Numer & " - " & Err.Description
  End If
End Sub

 

Exkurs wie es dann weiter geht.

Die Projekte in zwei verschiedene Ordner exportieren.

Dann z.B. mit Total Commander über den Befehl "Verzeichnisse Syncronisieren" die Ordner vergleichen. Mit der Einstellung "Datum ingnorieren" die Dateien herausbekommen welche sich in der DateiGröße unterscheiden (ungleiche Dateien).

In einer zweiten Instanz den TotalCMD öffnen und jetzt über "Vergleichen nach Inhalt" ein Datei-Paar vergleichen.