Explorar o código

correction cleanapp

olivier.massot %!s(int64=9) %!d(string=hai) anos
pai
achega
4ecb5243e5

BIN=BIN
OpenAccess.zip


+ 9 - 5
source/modules/OA_Main.bas

@@ -101,12 +101,16 @@ Public Function update_from_sources(Optional ByVal backup As Boolean) As Integer
     Call ImportAllSource
    
     step = "Cleaning obsolete objects in app"
-    msg = "Following objects do not exist in the sources, do you want to delete them?" & _
-          "" & CleanApp(True)
-    If MsgBox(msg, vbYesNo, "Cleaning" = vbYes) Then
-        Call CleanApp
+    
+    msg = CleanApp(True)
+    If Len(msg) > 0 Then
+        msg = "Following objects do not exist in the sources, do you want to delete them?" & vbNewLine & _
+          "" & msg
+        If MsgBox(msg, vbYesNo, "Cleaning") = vbYes Then
+            Call CleanApp
+        End If
     End If
-   
+    
     ' new sources date to keep the optimizer working
     step = "Updates sources date"
     logger "update_from_sources", "INFO", step

+ 2 - 2
source/modules/OA_Optimizer.bas

@@ -339,14 +339,14 @@ Public Function CleanApp(Optional ByVal sim As Boolean = False) As String
     Dim rsSys As DAO.Recordset
     Dim sql As String
     
-    sql = "SELECT name, type FROM MSysObjects;"
+    sql = "SELECT name, type FROM MSysObjects WHERE " & _
+          "(name not like '~*' and name not like 'MSys*' and name not like 'f_*_Data' and name <> 'USysOpenAccess');"
     Set rsSys = CurrentDb.OpenRecordset(sql, dbOpenSnapshot)
     
     On Error GoTo next_record
     
     rsSys.MoveFirst
     Do Until rsSys.EOF = True
-        If Left(rsSys![name], 1) = "~" Or Left(rsSys![name], 4) = "MSys" Then GoTo next_record
         
         Select Case rsSys![Type]
             Case -32768 'form

+ 1 - 1
source/tables/USysOpenAccess.txt

@@ -1,3 +1,3 @@
 key	val
 include_tables	USysOpenAccess,USysRegInfo
-sources_date	09/11/2016 16:52:19
+sources_date	10/11/2016 11:41:06

+ 23 - 0
tests/readme.md

@@ -0,0 +1,23 @@
+## TESTS OPENACCESS
+
+### Déroulement
+
+#### Export / Import complets
+
+Le fichier Access `projet0.accdb` (copie de `projet0_modele.accdb`) est l'application de départ des tests.  
+C'est ce fichier qu'il faut modifier pour tenir compte des évolutions d'Openaccess et des nouveaux problèmes rencontrés.
+
+La macro `export` execute l'export des sources de `projet0.accdb`
+
+On contrôle le contenu des sources ainsi créées en comparant chaque fichier du répertoire `sources` aux fichiers du répertoire `ctrl_source0`
+
+Le fichier `projet1.accdb` (copie de `projet1_modele.accdb`) est un projet vierge, qui ne contient que la macro `import`
+
+La macro `import` execute l'import des sources depuis `.\sources`
+
+La macro `compare1to0` compare le contenu de `projet1.accdb` à celui de `projet0.accdb`. 
+
+#### Export / Import différentiels
+
+
+