Browse Source

ajoute la fonction run_sql, et la variable ignoreref

olivier.massot 9 years ago
parent
commit
c4e9a045a6
100 changed files with 9506 additions and 201 deletions
  1. BIN
      OpenAccess.zip
  2. 16 11
      source/modules/OA_Log.bas
  3. 11 11
      source/modules/OA_Main.bas
  4. 1 1
      source/modules/OA_Optimizer.bas
  5. 1 1
      source/modules/OA_Shell.bas
  6. 31 5
      source/modules/OA_Utils.bas
  7. 14 14
      source/modules/VCS_Dir.bas
  8. 10 10
      source/modules/VCS_IE_Functions.bas
  9. 14 1
      source/modules/VCS_Reference.bas
  10. 1 1
      source/modules/VCS_Relation.bas
  11. 1 1
      source/modules/VCS_Report.bas
  12. 25 22
      source/modules/VCS_Table.bas
  13. 1 1
      source/tables/USysOpenAccess.txt
  14. BIN
      tests/__pycache__/compare.cpython-34.pyc
  15. BIN
      tests/__pycache__/export.cpython-34.pyc
  16. BIN
      tests/__pycache__/file.cpython-34.pyc
  17. 0 16
      tests/assert_exists.py
  18. 38 20
      tests/compare.py
  19. 161 0
      tests/file.py
  20. BIN
      tests/initial/project0.zip
  21. 7 51
      tests/readme.md
  22. 0 1
      tests/reference/source/references.csv
  23. 1 1
      tests/reference/source/tables/USysOpenAccess.txt
  24. 40 0
      tests/results/source1/database.properties
  25. 394 0
      tests/results/source1/forms/FormTestAdvancedControls.bas
  26. 631 0
      tests/results/source1/forms/FormTestBaseControls.bas
  27. 179 0
      tests/results/source1/forms/FormTestCodeBehind.bas
  28. 1465 0
      tests/results/source1/forms/FormTestComplex.bas
  29. 83 0
      tests/results/source1/forms/FormTestDialog.bas
  30. 72 0
      tests/results/source1/forms/FormTestPivot.bas
  31. 570 0
      tests/results/source1/forms/FormTestSimple.bas
  32. 24 0
      tests/results/source1/macros/MacroTest.bas
  33. 27 0
      tests/results/source1/modules/ModuleTest.bas
  34. 44 0
      tests/results/source1/queries/DeleteTest.bas
  35. 55 0
      tests/results/source1/queries/InsertTest.bas
  36. 81 0
      tests/results/source1/queries/SelectTestMultiTables.bas
  37. 56 0
      tests/results/source1/queries/SelectTestOrderedFiltered.bas
  38. 111 0
      tests/results/source1/queries/SelectTestSimpleCase.bas
  39. 42 0
      tests/results/source1/queries/SelectTestWithDataConnection.bas
  40. 53 0
      tests/results/source1/queries/SelectTestWithProperties.bas
  41. 114 0
      tests/results/source1/queries/UpdateTest.bas
  42. 5 0
      tests/results/source1/references.csv
  43. 8 0
      tests/results/source1/relations/TableTestRelation2TableTestRelation1.txt
  44. 8 0
      tests/results/source1/relations/TableTestRelation3TableTestRelation2.txt
  45. 8 0
      tests/results/source1/relations/TableTestRelation4TableTestRelation3.txt
  46. 376 0
      tests/results/source1/reports/ReportTest.bas
  47. 5 0
      tests/results/source1/reports/ReportTest.pv
  48. 2 0
      tests/results/source1/tables/TableTestAdvancedFields.txt
  49. 2 0
      tests/results/source1/tables/TableTestBaseFields.txt
  50. 5 0
      tests/results/source1/tables/TableWithData.txt
  51. 3 0
      tests/results/source1/tables/USysOpenAccess.txt
  52. 7 0
      tests/results/source1/tbldef/TableTestAdvancedFields.sql
  53. 17 0
      tests/results/source1/tbldef/TableTestBaseFields.sql
  54. 5 0
      tests/results/source1/tbldef/TableTestRelation1.sql
  55. 5 0
      tests/results/source1/tbldef/TableTestRelation2.sql
  56. 5 0
      tests/results/source1/tbldef/TableTestRelation3.sql
  57. 4 0
      tests/results/source1/tbldef/TableTestRelation4.sql
  58. 3 0
      tests/results/source1/tbldef/TableTestSpecialChars_éèà@~êëç_[92]_[47]_[58]_[42]_[63]_[60]_[62]_[124].sql
  59. 4 0
      tests/results/source1/tbldef/TableWithData.sql
  60. 4 0
      tests/results/source1/tbldef/TableWithProperties.sql
  61. 4 0
      tests/results/source1/tbldef/USysOpenAccess.sql
  62. 4 0
      tests/results/source1/tbldef/linked_table.LNKD
  63. 29 28
      tests/run_tests.bat
  64. 113 0
      tests/run_tests.py
  65. 0 5
      tests/update_registry.py
  66. BIN
      tests/work/project0.zip
  67. 40 0
      tests/work/source/database.properties
  68. 394 0
      tests/work/source/forms/FormTestAdvancedControls.bas
  69. 631 0
      tests/work/source/forms/FormTestBaseControls.bas
  70. 179 0
      tests/work/source/forms/FormTestCodeBehind.bas
  71. 1465 0
      tests/work/source/forms/FormTestComplex.bas
  72. 83 0
      tests/work/source/forms/FormTestDialog.bas
  73. 72 0
      tests/work/source/forms/FormTestPivot.bas
  74. 570 0
      tests/work/source/forms/FormTestSimple.bas
  75. 24 0
      tests/work/source/macros/MacroTest.bas
  76. 27 0
      tests/work/source/modules/ModuleTest.bas
  77. 44 0
      tests/work/source/queries/DeleteTest.bas
  78. 55 0
      tests/work/source/queries/InsertTest.bas
  79. 81 0
      tests/work/source/queries/SelectTestMultiTables.bas
  80. 56 0
      tests/work/source/queries/SelectTestOrderedFiltered.bas
  81. 111 0
      tests/work/source/queries/SelectTestSimpleCase.bas
  82. 42 0
      tests/work/source/queries/SelectTestWithDataConnection.bas
  83. 53 0
      tests/work/source/queries/SelectTestWithProperties.bas
  84. 114 0
      tests/work/source/queries/UpdateTest.bas
  85. 5 0
      tests/work/source/references.csv
  86. 8 0
      tests/work/source/relations/TableTestRelation2TableTestRelation1.txt
  87. 8 0
      tests/work/source/relations/TableTestRelation3TableTestRelation2.txt
  88. 8 0
      tests/work/source/relations/TableTestRelation4TableTestRelation3.txt
  89. 376 0
      tests/work/source/reports/ReportTest.bas
  90. 5 0
      tests/work/source/reports/ReportTest.pv
  91. 2 0
      tests/work/source/tables/TableTestAdvancedFields.txt
  92. 2 0
      tests/work/source/tables/TableTestBaseFields.txt
  93. 5 0
      tests/work/source/tables/TableWithData.txt
  94. 3 0
      tests/work/source/tables/USysOpenAccess.txt
  95. 7 0
      tests/work/source/tbldef/TableTestAdvancedFields.sql
  96. 17 0
      tests/work/source/tbldef/TableTestBaseFields.sql
  97. 5 0
      tests/work/source/tbldef/TableTestRelation1.sql
  98. 5 0
      tests/work/source/tbldef/TableTestRelation2.sql
  99. 5 0
      tests/work/source/tbldef/TableTestRelation3.sql
  100. 4 0
      tests/work/source/tbldef/TableTestRelation4.sql

BIN
OpenAccess.zip


+ 16 - 11
source/modules/OA_Log.bas

@@ -20,6 +20,21 @@ Public Sub set_debug_mode()
     debug_level = True
     debug_level = True
 End Sub
 End Sub
 
 
+Public Sub set_log_path(ByVal path As String)
+    Dim FSO As Object
+    Dim oFile As Object
+    
+    Call MkLogDir
+    
+    If Not FSO.FileExists(path) Then
+        Set oFile = FSO.CreateTextFile(path)
+        oFile.Close
+    End If
+        
+End Sub
+
+
+
 Public Sub logger(ByVal origin As String, ByVal level As String, ByVal msg As String)
 Public Sub logger(ByVal origin As String, ByVal level As String, ByVal msg As String)
     Dim FSO As Object
     Dim FSO As Object
     Dim oFile As Object
     Dim oFile As Object
@@ -32,19 +47,9 @@ Public Sub logger(ByVal origin As String, ByVal level As String, ByVal msg As St
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set FSO = CreateObject("Scripting.FileSystemObject")
 
 
     If Not Len(log_file_path) > 0 Then
     If Not Len(log_file_path) > 0 Then
-    
-        Call MkLogDir
-        
         log_file_path = log_dir() & "oa_" & Format(Now(), "yymmdd_hhMM") & ".log"
         log_file_path = log_dir() & "oa_" & Format(Now(), "yymmdd_hhMM") & ".log"
-        Debug.Print log_file_path
-        
         new_session = True
         new_session = True
-        
-        If Not FSO.FileExists(log_file_path) Then
-            Set oFile = FSO.CreateTextFile(log_file_path)
-            oFile.Close
-        End If
-        
+        Call set_log_path(log_file_path)
     End If
     End If
 
 
     Set oFile = FSO.OpenTextFile(log_file_path, ForAppending)
     Set oFile = FSO.OpenTextFile(log_file_path, ForAppending)

+ 11 - 11
source/modules/OA_Main.bas

@@ -150,27 +150,27 @@ Public Function zip_app_file() As Boolean
     shortname = Split(CurrentProject.name, ".")(0)
     shortname = Split(CurrentProject.name, ".")(0)
     
     
     'run the shell comand
     'run the shell comand
-    Call cmd("cd " & CurrentProject.Path & " & " & _
+    Call cmd("cd " & CurrentProject.path & " & " & _
              "zip tmp_" & shortname & ".zip " & CurrentProject.name & _
              "zip tmp_" & shortname & ".zip " & CurrentProject.name & _
              " & exit")
              " & exit")
     
     
     'remove the old zip file
     'remove the old zip file
-    If dir(CurrentProject.Path & "\" & shortname & ".zip") <> "" Then
-        Kill CurrentProject.Path & "\" & shortname & ".zip"
+    If dir(CurrentProject.path & "\" & shortname & ".zip") <> "" Then
+        Kill CurrentProject.path & "\" & shortname & ".zip"
     End If
     End If
     
     
     'rename the temporary zip
     'rename the temporary zip
-    Call cmd("cd " & CurrentProject.Path & " & " & _
+    Call cmd("cd " & CurrentProject.path & " & " & _
             "ren tmp_" & shortname & ".zip" & " " & shortname & ".zip" & _
             "ren tmp_" & shortname & ".zip" & " " & shortname & ".zip" & _
             " & exit")
             " & exit")
     
     
-    logger "zip_app_file", "INFO", CurrentProject.Path & "\" & CurrentProject.name & " zipped to " & CurrentProject.Path & "\" & shortname & ".zip"
+    logger "zip_app_file", "INFO", CurrentProject.path & "\" & CurrentProject.name & " zipped to " & CurrentProject.path & "\" & shortname & ".zip"
     zip_app_file = True
     zip_app_file = True
 
 
 end_:
 end_:
     Exit Function
     Exit Function
 UnknownErr:
 UnknownErr:
-    logger "zip_app_file", "ERROR", "Unable to zip " & CurrentProject.Path & "\" & CurrentProject.name & " - " & err.Description
+    logger "zip_app_file", "ERROR", "Unable to zip " & CurrentProject.path & "\" & CurrentProject.name & " - " & err.Description
     OA_MsgBox "Unknown error: unable to ZIP the app file, do it manually"
     OA_MsgBox "Unknown error: unable to ZIP the app file, do it manually"
     GoTo end_
     GoTo end_
 End Function
 End Function
@@ -179,14 +179,14 @@ Public Function make_backup() As Boolean
     On Error GoTo err
     On Error GoTo err
     
     
     make_backup = False
     make_backup = False
-    If dir(CurrentProject.Path & "\" & CurrentProject.name & ".old") <> "" Then
-        Kill CurrentProject.Path & "\" & CurrentProject.name & ".old"
+    If dir(CurrentProject.path & "\" & CurrentProject.name & ".old") <> "" Then
+        Kill CurrentProject.path & "\" & CurrentProject.name & ".old"
     End If
     End If
 
 
-    Call cmd("copy " & Chr(34) & CurrentProject.Path & "\" & CurrentProject.name & Chr(34) & _
-             " " & Chr(34) & CurrentProject.Path & "\" & CurrentProject.name & ".old" & Chr(34))
+    Call cmd("copy " & Chr(34) & CurrentProject.path & "\" & CurrentProject.name & Chr(34) & _
+             " " & Chr(34) & CurrentProject.path & "\" & CurrentProject.name & ".old" & Chr(34))
     
     
-    logger "make_backup", "INFO", CurrentProject.Path & "\" & CurrentProject.name & " copied to " & CurrentProject.Path & "\" & CurrentProject.name & ".old"
+    logger "make_backup", "INFO", CurrentProject.path & "\" & CurrentProject.name & " copied to " & CurrentProject.path & "\" & CurrentProject.name & ".old"
     
     
     make_backup = True
     make_backup = True
     Exit Function
     Exit Function

+ 1 - 1
source/modules/OA_Optimizer.bas

@@ -273,7 +273,7 @@ Public Function CleanDirs(Optional ByVal sim As Boolean = False)
             If rsSys.NoMatch Then
             If rsSys.NoMatch Then
                 'object doesn't exist anymore
                 'object doesn't exist anymore
                 If Len(CleanDirs) > 0 Then CleanDirs = CleanDirs & "|"
                 If Len(CleanDirs) > 0 Then CleanDirs = CleanDirs & "|"
-                short_path = Replace(file.Path, CurrentProject.Path, ".")
+                short_path = Replace(file.path, CurrentProject.path, ".")
                 CleanDirs = CleanDirs & short_path
                 CleanDirs = CleanDirs & short_path
                 
                 
                 If Not sim Then
                 If Not sim Then

+ 1 - 1
source/modules/OA_Shell.bas

@@ -75,6 +75,6 @@ End Sub
 
 
 Public Function cmd(ByVal command As String, Optional WindowStyle As Long = vbHide, Optional in_dir As String = "")
 Public Function cmd(ByVal command As String, Optional WindowStyle As Long = vbHide, Optional in_dir As String = "")
 ' runs a comand with windows command line
 ' runs a comand with windows command line
-    If Len(in_dir) = 0 Then in_dir = CurrentProject.Path
+    If Len(in_dir) = 0 Then in_dir = CurrentProject.path
     Call ShellWait("cmd.exe /r cd " & in_dir & " & " & command, WindowStyle)
     Call ShellWait("cmd.exe /r cd " & in_dir & " & " & command, WindowStyle)
 End Function
 End Function

+ 31 - 5
source/modules/OA_Utils.bas

@@ -22,10 +22,15 @@ Public Function update_oa_param(ByVal key As String, ByVal val As String)
     End If
     End If
 
 
     If DCount("key", "USysOpenAccess", "[key]='" & key & "'") = 1 Then
     If DCount("key", "USysOpenAccess", "[key]='" & key & "'") = 1 Then
-        CurrentDb.execute "UPDATE USysOpenAccess SET USysOpenAccess.val = '" & val & "' " & _
+'        CurrentDb.Execute "UPDATE USysOpenAccess SET USysOpenAccess.val = '" & val & "' " & _
+'                            "WHERE (((USysOpenAccess.key)='" & key & "'));"
+        run_sql "UPDATE USysOpenAccess SET USysOpenAccess.val = '" & val & "' " & _
                             "WHERE (((USysOpenAccess.key)='" & key & "'));"
                             "WHERE (((USysOpenAccess.key)='" & key & "'));"
     Else
     Else
-        CurrentDb.execute "INSERT INTO USysOpenAccess ( val, [key] ) " & _
+'        CurrentDb.Execute "INSERT INTO USysOpenAccess ( val, [key] ) " & _
+'                           "SELECT '" & val & "' AS Expr1, '" & key & "' AS Expr2;"
+                        
+        run_sql "INSERT INTO USysOpenAccess ( val, [key] ) " & _
                            "SELECT '" & val & "' AS Expr1, '" & key & "' AS Expr2;"
                            "SELECT '" & val & "' AS Expr1, '" & key & "' AS Expr2;"
     End If
     End If
 
 
@@ -34,7 +39,8 @@ End Function
 Public Function create_oa_tbl()
 Public Function create_oa_tbl()
 'creates the 'USysOpenAccess' table and hide it
 'creates the 'USysOpenAccess' table and hide it
     
     
-    CurrentDb.execute "SELECT 'include_tables' as key, 'USysOpenAccess' as val INTO USysOpenAccess;"
+    'CurrentDb.Execute "SELECT 'include_tables' as key, 'USysOpenAccess' as val INTO USysOpenAccess;"
+    run_sql "SELECT 'include_tables' as key, 'USysOpenAccess' as val INTO USysOpenAccess;"
     Application.SetHiddenAttribute acTable, "USysOpenAccess", True
     Application.SetHiddenAttribute acTable, "USysOpenAccess", True
 
 
 End Function
 End Function
@@ -126,7 +132,7 @@ Public Function complete_gitignore()
     Dim keys() As String
     Dim keys() As String
     keys = Split("*.accdb;*.laccdb;*.mdb;*.ldb;*.accde;*.mde;*.accda", ";")
     keys = Split("*.accdb;*.laccdb;*.mdb;*.ldb;*.accde;*.mde;*.accda", ";")
     
     
-    gitignore_path = CurrentProject.Path & "\.gitignore"
+    gitignore_path = CurrentProject.path & "\.gitignore"
     
     
     Dim FSO As Object
     Dim FSO As Object
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set FSO = CreateObject("Scripting.FileSystemObject")
@@ -171,6 +177,26 @@ Public Function complete_gitignore()
 End Function
 End Function
 
 
 Public Sub SaveProject()
 Public Sub SaveProject()
-On Error Resume Next
+    On Error Resume Next
     CurrentProject.Application.RunCommand acCmdSave
     CurrentProject.Application.RunCommand acCmdSave
+    Exit Sub
+End Sub
+
+Public Sub run_sql(ByVal sql As String)
+    On Error GoTo next_try
+    
+    CurrentDb.Execute sql
+    Exit Sub
+    
+next_try:
+    err.Clear
+    On Error GoTo err
+    Dim cnn As New ADODB.Connection
+    Set cnn = CurrentProject.Connection
+    cnn.Execute (sql)
+    Set cnn = Nothing
+    Exit Sub
+    
+err:
+    logger "run_sql", "CRITICAL", "Error while running the SQL statement: " & sql
 End Sub
 End Sub

+ 14 - 14
source/modules/VCS_Dir.bas

@@ -3,7 +3,7 @@ Option Private Module
 Option Explicit
 Option Explicit
 
 
  Private Declare Function PathIsRelative Lib "Shlwapi" _
  Private Declare Function PathIsRelative Lib "Shlwapi" _
-        Alias "PathIsRelativeA" (ByVal Path As String) As Long
+        Alias "PathIsRelativeA" (ByVal path As String) As Long
 
 
     Public Enum EMakeDirStatus
     Public Enum EMakeDirStatus
         ErrSuccess = 0
         ErrSuccess = 0
@@ -17,7 +17,7 @@ Option Explicit
     
     
 ' Path/Directory of the current database file.
 ' Path/Directory of the current database file.
 Public Function ProjectPath() As String
 Public Function ProjectPath() As String
-    ProjectPath = CurrentProject.Path
+    ProjectPath = CurrentProject.path
     If Right$(ProjectPath, 1) <> "\" Then ProjectPath = ProjectPath & "\"
     If Right$(ProjectPath, 1) <> "\" Then ProjectPath = ProjectPath & "\"
 End Function
 End Function
 
 
@@ -27,10 +27,10 @@ Public Function SourcePath() As String
 End Function
 End Function
 
 
 ' Create folder `Path`. Silently do nothing if it already exists.
 ' Create folder `Path`. Silently do nothing if it already exists.
-Public Sub MkDirIfNotExist(ByVal Path As String)
+Public Sub MkDirIfNotExist(ByVal path As String)
     On Error GoTo MkDirIfNotexist_noop
     On Error GoTo MkDirIfNotexist_noop
-    MkDir Path
-    logger "MkDirIfNotExist", "INFO", "New dir created: " & Path
+    MkDir path
+    logger "MkDirIfNotExist", "INFO", "New dir created: " & path
 MkDirIfNotexist_noop:
 MkDirIfNotexist_noop:
     On Error GoTo 0
     On Error GoTo 0
 End Sub
 End Sub
@@ -38,16 +38,16 @@ End Sub
 
 
 
 
 ' Delete a file if it exists.
 ' Delete a file if it exists.
-Public Sub DelIfExist(ByVal Path As String)
+Public Sub DelIfExist(ByVal path As String)
     On Error GoTo DelIfNotExist_Noop
     On Error GoTo DelIfNotExist_Noop
-    Kill Path
-    logger "DelIfExist", "DEBUG", "Killed: " & Path
+    Kill path
+    logger "DelIfExist", "DEBUG", "Killed: " & path
 DelIfNotExist_Noop:
 DelIfNotExist_Noop:
     On Error GoTo 0
     On Error GoTo 0
 End Sub
 End Sub
 
 
 ' Erase all *.`ext` files in `Path`.
 ' Erase all *.`ext` files in `Path`.
-Public Sub ClearTextFilesFromDir(ByVal Path As String, ByVal Ext As String, Optional ByVal force As Boolean = False)
+Public Sub ClearTextFilesFromDir(ByVal path As String, ByVal Ext As String, Optional ByVal force As Boolean = False)
     
     
     '### 13/10/2016: add optimizer
     '### 13/10/2016: add optimizer
     ' we don't want to clear the text files of the objects which will not be exported
     ' we don't want to clear the text files of the objects which will not be exported
@@ -58,15 +58,15 @@ Public Sub ClearTextFilesFromDir(ByVal Path As String, ByVal Ext As String, Opti
     End If
     End If
     '###
     '###
     
     
-    logger "ClearTextFilesFromDir", "DEBUG", "Clear dir: " & Path & "*." & Ext
+    logger "ClearTextFilesFromDir", "DEBUG", "Clear dir: " & path & "*." & Ext
 
 
     Dim FSO As Object
     Dim FSO As Object
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set FSO = CreateObject("Scripting.FileSystemObject")
-    If Not FSO.FolderExists(Path) Then Exit Sub
+    If Not FSO.FolderExists(path) Then Exit Sub
 
 
     On Error GoTo ClearTextFilesFromDir_noop
     On Error GoTo ClearTextFilesFromDir_noop
-    If dir$(Path & "*." & Ext) <> vbNullString Then
-        FSO.DeleteFile Path & "*." & Ext
+    If dir$(path & "*." & Ext) <> vbNullString Then
+        FSO.DeleteFile path & "*." & Ext
     End If
     End If
     
     
 ClearTextFilesFromDir_noop:
 ClearTextFilesFromDir_noop:
@@ -163,7 +163,7 @@ Function RecursiveMkDir(ByVal PathSpec As String) As EMakeDirStatus
     End If
     End If
     Set DD = FSO.GetDrive(Root)
     Set DD = FSO.GetDrive(Root)
     Directories = Split(DirSpec, "\")
     Directories = Split(DirSpec, "\")
-    DirSpec = DD.Path
+    DirSpec = DD.path
     For N = LBound(Directories) To UBound(Directories)
     For N = LBound(Directories) To UBound(Directories)
         DirSpec = DirSpec & "\" & Directories(N)
         DirSpec = DirSpec & "\" & Directories(N)
         If FSO.FolderExists(DirSpec) = False Then
         If FSO.FolderExists(DirSpec) = False Then

+ 10 - 10
source/modules/VCS_IE_Functions.bas

@@ -76,7 +76,7 @@ End Sub
 ' unnecessary lines of VB code that are inserted automatically by the
 ' unnecessary lines of VB code that are inserted automatically by the
 ' Access GUI and change often (we don't want these lines of code in
 ' Access GUI and change often (we don't want these lines of code in
 ' version control).
 ' version control).
-Public Sub SanitizeTextFiles(ByVal Path As String, ByVal Ext As String)
+Public Sub SanitizeTextFiles(ByVal path As String, ByVal Ext As String)
 
 
     Dim FSO As Object
     Dim FSO As Object
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set FSO = CreateObject("Scripting.FileSystemObject")
@@ -115,7 +115,7 @@ Public Sub SanitizeTextFiles(ByVal Path As String, ByVal Ext As String)
 'Debug.Print srchPattern
 'Debug.Print srchPattern
     rxLine.Pattern = srchPattern
     rxLine.Pattern = srchPattern
     Dim filename As String
     Dim filename As String
-    filename = dir$(Path & "*." & Ext)
+    filename = dir$(path & "*." & Ext)
     If Len(filename) = 0 Then
     If Len(filename) = 0 Then
         logger "SanitizeTextFiles", "INFO", "> No file to sanitized"
         logger "SanitizeTextFiles", "INFO", "> No file to sanitized"
         Exit Sub
         Exit Sub
@@ -130,9 +130,9 @@ Public Sub SanitizeTextFiles(ByVal Path As String, ByVal Ext As String)
         obj_name = Mid$(filename, 1, InStrRev(filename, ".") - 1)
         obj_name = Mid$(filename, 1, InStrRev(filename, ".") - 1)
 
 
         Dim InFile As Object
         Dim InFile As Object
-        Set InFile = FSO.OpenTextFile(Path & obj_name & "." & Ext, iomode:=ForReading, create:=False, Format:=TristateFalse)
+        Set InFile = FSO.OpenTextFile(path & obj_name & "." & Ext, iomode:=ForReading, Create:=False, Format:=TristateFalse)
         Dim OutFile As Object
         Dim OutFile As Object
-        Set OutFile = FSO.CreateTextFile(Path & obj_name & ".sanitize", overwrite:=True, unicode:=False)
+        Set OutFile = FSO.CreateTextFile(path & obj_name & ".sanitize", overwrite:=True, unicode:=False)
     
     
         Dim getLine As Boolean
         Dim getLine As Boolean
         getLine = True
         getLine = True
@@ -156,7 +156,7 @@ Public Sub SanitizeTextFiles(ByVal Path As String, ByVal Ext As String)
                 '
                 '
                 ' Get indentation level.
                 ' Get indentation level.
                 Dim matches As Object
                 Dim matches As Object
-                Set matches = rxIndent.execute(txt)
+                Set matches = rxIndent.Execute(txt)
                 '
                 '
                 ' Setup pattern to match current indent
                 ' Setup pattern to match current indent
                 Select Case matches.count
                 Select Case matches.count
@@ -198,18 +198,18 @@ Public Sub SanitizeTextFiles(ByVal Path As String, ByVal Ext As String)
         OutFile.Close
         OutFile.Close
         InFile.Close
         InFile.Close
 
 
-        FSO.DeleteFile (Path & filename)
+        FSO.DeleteFile (path & filename)
 
 
         Dim thisFile As Object
         Dim thisFile As Object
-        Set thisFile = FSO.GetFile(Path & obj_name & ".sanitize")
-        thisFile.Move (Path & filename)
+        Set thisFile = FSO.GetFile(path & obj_name & ".sanitize")
+        thisFile.Move (path & filename)
         
         
-        logger "SanitizeTextFiles", "DEBUG", "> File " & Path & filename & " sanitized"
+        logger "SanitizeTextFiles", "DEBUG", "> File " & path & filename & " sanitized"
 
 
         filename = dir$()
         filename = dir$()
     Loop
     Loop
 
 
-    logger "SanitizeTextFiles", "INFO", "> Files " & Path & "*." & Ext & " sanitized"
+    logger "SanitizeTextFiles", "INFO", "> Files " & path & "*." & Ext & " sanitized"
 
 
 End Sub
 End Sub
 
 

+ 14 - 1
source/modules/VCS_Reference.bas

@@ -3,6 +3,11 @@ Option Compare Database
 Option Private Module
 Option Private Module
 Option Explicit
 Option Explicit
 
 
+Dim ignoreref As String ' for tests
+Public Sub set_ignoreref(str)
+    ignoreref = str
+End Sub
+
 
 
 ' Import References from a CSV, true=SUCCESS
 ' Import References from a CSV, true=SUCCESS
 Public Function ImportReferences(ByVal obj_path As String) As Boolean
 Public Function ImportReferences(ByVal obj_path As String) As Boolean
@@ -23,12 +28,13 @@ Public Function ImportReferences(ByVal obj_path As String) As Boolean
         Exit Function
         Exit Function
     End If
     End If
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set FSO = CreateObject("Scripting.FileSystemObject")
-    Set InFile = FSO.OpenTextFile(obj_path & filename, iomode:=ForReading, create:=False, Format:=TristateFalse)
+    Set InFile = FSO.OpenTextFile(obj_path & filename, iomode:=ForReading, Create:=False, Format:=TristateFalse)
     
     
 On Error GoTo failed_guid
 On Error GoTo failed_guid
     Do Until InFile.AtEndOfStream
     Do Until InFile.AtEndOfStream
         Line = InFile.readline
         Line = InFile.readline
         item = Split(Line, ",")
         item = Split(Line, ",")
+        
         If UBound(item) = 2 Then 'a ref with a guid
         If UBound(item) = 2 Then 'a ref with a guid
           GUID = Trim$(item(0))
           GUID = Trim$(item(0))
           Major = CLng(item(1))
           Major = CLng(item(1))
@@ -68,11 +74,17 @@ Public Sub ExportReferences(ByVal obj_path As String)
     Dim Line As String
     Dim Line As String
     Dim ref As Reference
     Dim ref As Reference
     Dim count As Integer
     Dim count As Integer
+    Dim item As Variant
     count = 0
     count = 0
     
     
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set OutFile = FSO.CreateTextFile(obj_path & "references.csv", overwrite:=True, unicode:=False)
     Set OutFile = FSO.CreateTextFile(obj_path & "references.csv", overwrite:=True, unicode:=False)
     For Each ref In Application.References
     For Each ref In Application.References
+        
+        For Each item In Split(ignoreref, ",")
+            If item.name = CStr(item) Then GoTo go_on
+        Next item
+    
         If ref.GUID <> vbNullString Then ' references of types mdb,accdb,mde etc don't have a GUID
         If ref.GUID <> vbNullString Then ' references of types mdb,accdb,mde etc don't have a GUID
             If Not ref.BuiltIn Then
             If Not ref.BuiltIn Then
                 Line = ref.GUID & "," & CStr(ref.Major) & "," & CStr(ref.Minor)
                 Line = ref.GUID & "," & CStr(ref.Major) & "," & CStr(ref.Minor)
@@ -86,6 +98,7 @@ Public Sub ExportReferences(ByVal obj_path As String)
             logger "ExportReferences", "DEBUG", "> Reference " & Line & " exported"
             logger "ExportReferences", "DEBUG", "> Reference " & Line & " exported"
             count = count + 1
             count = count + 1
         End If
         End If
+go_on:
     Next
     Next
     OutFile.Close
     OutFile.Close
     
     

+ 1 - 1
source/modules/VCS_Relation.bas

@@ -34,7 +34,7 @@ Public Sub ImportRelation(ByVal filepath As String)
     Dim FSO As Object
     Dim FSO As Object
     Dim InFile As Object
     Dim InFile As Object
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set FSO = CreateObject("Scripting.FileSystemObject")
-    Set InFile = FSO.OpenTextFile(filepath, iomode:=ForReading, create:=False, Format:=TristateFalse)
+    Set InFile = FSO.OpenTextFile(filepath, iomode:=ForReading, Create:=False, Format:=TristateFalse)
     Dim rel As DAO.Relation
     Dim rel As DAO.Relation
     Set rel = New DAO.Relation
     Set rel = New DAO.Relation
     
     

+ 1 - 1
source/modules/VCS_Report.bas

@@ -121,7 +121,7 @@ Public Sub ImportPrintVars(ByVal obj_name As String, ByVal filepath As String)
   End If
   End If
   
   
   Dim InFile As Object
   Dim InFile As Object
-  Set InFile = FSO.OpenTextFile(filepath, iomode:=ForReading, create:=False, Format:=TristateFalse)
+  Set InFile = FSO.OpenTextFile(filepath, iomode:=ForReading, Create:=False, Format:=TristateFalse)
   
   
   'print out print var values
   'print out print var values
   DM.intOrientation = InFile.readline
   DM.intOrientation = InFile.readline

+ 25 - 22
source/modules/VCS_Table.bas

@@ -40,10 +40,10 @@ Public Sub ExportLinkedTable(ByVal tbl_name As String, ByVal obj_path As String)
     OutFile.Write CurrentDb.TableDefs(tbl_name).name
     OutFile.Write CurrentDb.TableDefs(tbl_name).name
     OutFile.Write vbCrLf
     OutFile.Write vbCrLf
     
     
-    If InStr(1, CurrentDb.TableDefs(tbl_name).connect, "DATABASE=" & CurrentProject.Path) Then
+    If InStr(1, CurrentDb.TableDefs(tbl_name).connect, "DATABASE=" & CurrentProject.path) Then
         'change to relatave path
         'change to relatave path
         Dim connect() As String
         Dim connect() As String
-        connect = Split(CurrentDb.TableDefs(tbl_name).connect, CurrentProject.Path)
+        connect = Split(CurrentDb.TableDefs(tbl_name).connect, CurrentProject.path)
         OutFile.Write connect(0) & "." & connect(1)
         OutFile.Write connect(0) & "." & connect(1)
     Else
     Else
         OutFile.Write CurrentDb.TableDefs(tbl_name).connect
         OutFile.Write CurrentDb.TableDefs(tbl_name).connect
@@ -71,11 +71,11 @@ Err_LinkedTable_Fin:
     On Error Resume Next
     On Error Resume Next
     OutFile.Close
     OutFile.Close
     'save files as .odbc
     'save files as .odbc
-    Dim Path As String
-    Path = obj_path & VCS_IE_Functions.to_filename(tbl_name) & ".LNKD"
-    VCS_File.ConvertUcs2Utf8 tempFilePath, Path
+    Dim path As String
+    path = obj_path & VCS_IE_Functions.to_filename(tbl_name) & ".LNKD"
+    VCS_File.ConvertUcs2Utf8 tempFilePath, path
     
     
-    logger "ExportLinkedTable", "DEBUG", "LinkedTable " & tbl_name & " exported to " & Path
+    logger "ExportLinkedTable", "DEBUG", "LinkedTable " & tbl_name & " exported to " & path
     
     
     Exit Sub
     Exit Sub
     
     
@@ -436,10 +436,10 @@ next_field:
     rs.Close
     rs.Close
     OutFile.Close
     OutFile.Close
     
     
-    Dim Path As String
-    Path = obj_path & VCS_IE_Functions.to_filename(tbl_name) & ".txt"
-    VCS_File.ConvertUcs2Utf8 tempFileName, Path
-    logger "ExportTableData", "DEBUG", "Data from '" & tbl_name & "' exported to " & Path
+    Dim path As String
+    path = obj_path & VCS_IE_Functions.to_filename(tbl_name) & ".txt"
+    VCS_File.ConvertUcs2Utf8 tempFileName, path
+    logger "ExportTableData", "DEBUG", "Data from '" & tbl_name & "' exported to " & path
     FSO.DeleteFile tempFileName
     FSO.DeleteFile tempFileName
     
     
     Exit Sub
     Exit Sub
@@ -455,7 +455,8 @@ End Sub
 ' Kill Table if Exists
 ' Kill Table if Exists
 Private Sub KillTable(ByVal tblName As String, Db As Object)
 Private Sub KillTable(ByVal tblName As String, Db As Object)
     If TableExists(tblName) Then
     If TableExists(tblName) Then
-        Db.execute "DROP TABLE [" & tblName & "]"
+        'Db.Execute "DROP TABLE [" & tblName & "]"
+        run_sql "DROP TABLE [" & tblName & "]"
     End If
     End If
 End Sub
 End Sub
 
 
@@ -473,7 +474,7 @@ Public Sub ImportLinkedTable(ByVal tblName As String, ByRef obj_path As String)
     ConvertUtf8Ucs2 obj_path & tblName & ".LNKD", tempFilePath
     ConvertUtf8Ucs2 obj_path & tblName & ".LNKD", tempFilePath
     
     
     ' open file for reading with Create=False, Unicode=True (USC-2 Little Endian format)
     ' open file for reading with Create=False, Unicode=True (USC-2 Little Endian format)
-    Set InFile = FSO.OpenTextFile(tempFilePath, iomode:=ForReading, create:=False, Format:=TristateTrue)
+    Set InFile = FSO.OpenTextFile(tempFilePath, iomode:=ForReading, Create:=False, Format:=TristateTrue)
     
     
     On Error GoTo err_notable:
     On Error GoTo err_notable:
     DoCmd.DeleteObject acTable, tblName
     DoCmd.DeleteObject acTable, tblName
@@ -493,7 +494,7 @@ err_notable_fin:
     Dim connect As String
     Dim connect As String
     connect = InFile.readline()
     connect = InFile.readline()
     If InStr(1, connect, "DATABASE=.\") Then 'replace relative path with literal path
     If InStr(1, connect, "DATABASE=.\") Then 'replace relative path with literal path
-        connect = Replace(connect, "DATABASE=.\", "DATABASE=" & CurrentProject.Path & "\")
+        connect = Replace(connect, "DATABASE=.\", "DATABASE=" & CurrentProject.path & "\")
     End If
     End If
     td.connect = connect
     td.connect = connect
     
     
@@ -525,7 +526,8 @@ Err_CreateLinkedTable_Fin:
     sql = Left$(sql, Len(sql) - 1)
     sql = Left$(sql, Len(sql) - 1)
     
     
     sql = sql & ") WITH PRIMARY"
     sql = sql & ") WITH PRIMARY"
-    CurrentDb.execute sql
+    'CurrentDb.Execute sql
+    run_sql sql
     
     
     logger "ImportLinkedTable", "DEBUG", "LinkedTable " & tblName & " improted from " & obj_path & tblName & ".LNKD"
     logger "ImportLinkedTable", "DEBUG", "LinkedTable " & tblName & " improted from " & obj_path & tblName & ".LNKD"
 
 
@@ -614,8 +616,8 @@ Public Sub ImportTableDef(ByVal tblName As String, ByVal directory As String)
     Next
     Next
     
     
     On Error GoTo 0
     On Error GoTo 0
-    Db.execute buf
-    'InFile.Close
+    'Db.Execute buf
+    run_sql buf
     
     
     If Len(strMsg) > 0 Then
     If Len(strMsg) > 0 Then
         OA_MsgBox strMsg, vbOKOnly, "Correct manually"
         OA_MsgBox strMsg, vbOKOnly, "Correct manually"
@@ -635,22 +637,23 @@ Public Sub ImportTableData(ByVal tblName As String, ByVal obj_path As String)
     Dim FSO As Object
     Dim FSO As Object
     Dim InFile As Object
     Dim InFile As Object
     Dim c As Long, buf As String, Values() As String, value As Variant
     Dim c As Long, buf As String, Values() As String, value As Variant
-    Dim Path As String
+    Dim path As String
     
     
     Set FSO = CreateObject("Scripting.FileSystemObject")
     Set FSO = CreateObject("Scripting.FileSystemObject")
     
     
     Dim tempFileName As String
     Dim tempFileName As String
     tempFileName = VCS_File.TempFile()
     tempFileName = VCS_File.TempFile()
     
     
-    Path = obj_path & tblName & ".txt"
+    path = obj_path & tblName & ".txt"
     
     
-    VCS_File.ConvertUtf8Ucs2 Path, tempFileName
+    VCS_File.ConvertUtf8Ucs2 path, tempFileName
     
     
     ' open file for reading with Create=False, Unicode=True (USC-2 Little Endian format)
     ' open file for reading with Create=False, Unicode=True (USC-2 Little Endian format)
-    Set InFile = FSO.OpenTextFile(tempFileName, iomode:=ForReading, create:=False, Format:=TristateTrue)
+    Set InFile = FSO.OpenTextFile(tempFileName, iomode:=ForReading, Create:=False, Format:=TristateTrue)
     Set Db = CurrentDb
     Set Db = CurrentDb
 
 
-    Db.execute "DELETE FROM [" & tblName & "]"
+    'Db.Execute "DELETE FROM [" & tblName & "]"
+    run_sql "DELETE FROM [" & tblName & "]"
     Set rs = Db.OpenRecordset(tblName)
     Set rs = Db.OpenRecordset(tblName)
     buf = InFile.readline()
     buf = InFile.readline()
     
     
@@ -685,7 +688,7 @@ Public Sub ImportTableData(ByVal tblName As String, ByVal obj_path As String)
     rs.Close
     rs.Close
     InFile.Close
     InFile.Close
     
     
-    logger "ImportTableData", "DEBUG", "Table data '" & tblName & "' imported from " & Path
+    logger "ImportTableData", "DEBUG", "Table data '" & tblName & "' imported from " & path
 
 
     FSO.DeleteFile tempFileName
     FSO.DeleteFile tempFileName
     Exit Sub
     Exit Sub

+ 1 - 1
source/tables/USysOpenAccess.txt

@@ -1,3 +1,3 @@
 key	val
 key	val
 include_tables	USysOpenAccess,USysRegInfo
 include_tables	USysOpenAccess,USysRegInfo
-sources_date	
+sources_date	24/11/2016 15:42:49

BIN
tests/__pycache__/compare.cpython-34.pyc


BIN
tests/__pycache__/export.cpython-34.pyc


BIN
tests/__pycache__/file.cpython-34.pyc


+ 0 - 16
tests/assert_exists.py

@@ -1,16 +0,0 @@
-'''
-Created on 23 nov. 2016
-
-@author: olivier.massot
-'''
-import os
-import sys
-
-
-_, file_path = sys.argv
-
-if not os.path.exists(file_path):
-    print("{} does not exist".format(file_path))
-    sys.exit(1)
-    
-sys.exit(0)

+ 38 - 20
tests/compare.py

@@ -7,27 +7,45 @@ from ffile import flist
 import sys
 import sys
 
 
 
 
-_, source_dir, reference_dir = sys.argv
 
 
-print("** Compare {} to {} **".format(source_dir, reference_dir))
 
 
-list_source_dir = flist(source_dir, recursive=True, listdirs=False, listfiles=True, complete_paths=True)
-
-list_reference_dir = flist(reference_dir, recursive=True, listdirs=False, listfiles=True, complete_paths=True)
-
-if len(list_source_dir) != len(list_reference_dir):
-    print(">> number of dirs / files does not match")
-    sys.exit(1)
-
-exit_code = 0
-for source_path in list_source_dir:
-    with open(source_path, "rb") as source_file:
+def compare_dirs(source_dir, reference_dir):
+    print("** Compare {} to {} **".format(source_dir, reference_dir))
+    err_code = 0
+    list_source_dir = flist(source_dir, recursive=True, listdirs=False, listfiles=True, complete_paths=True)
+    
+    list_reference_dir = flist(reference_dir, recursive=True, listdirs=False, listfiles=True, complete_paths=True)
+    
+    if len(list_source_dir) != len(list_reference_dir):
+        print(">> number of dirs / files does not match")
+        print("Diff:")
+        for name in list( set(list_source_dir) - set(list_reference_dir) ):
+            print("+ "+name)
+            err_code += 1
+        for name in list( set(list_reference_dir) - set(list_source_dir) ):
+            print("- "+name)
+            err_code += 1        
         
         
-        ref_path = source_path.replace(source_dir, reference_dir)
-        with open(ref_path, "rb") as ref_file:
-            
-            if source_file.read() != ref_file.read():
-                print(">> {} do not match to ref".format(source_path))
-                exit_code = 2
+    
+    for source_path in list_source_dir:
+        linecount = 0
+        with open(source_path, "rb") as source_file:
             
             
-sys.exit(exit_code)
+            ref_path = source_path.replace(source_dir, reference_dir)
+            with open(ref_path, "rb") as ref_file:
+                
+                for line in source_file:
+                    linecount += 1
+                    
+                    if line != ref_file.readline():
+                        print("> {} : source and ref differ at line {}".format(source_path, linecount))
+                        err_code += 1
+                        continue
+                
+    return err_code
+    
+if __name__ == "__main__":
+    _, source_dir, reference_dir = sys.argv
+    exit_result = compare_dirs(source_dir, reference_dir)
+    sys.exit(exit_result)
+    

+ 161 - 0
tests/file.py

@@ -0,0 +1,161 @@
+'''
+Created on 26 janv. 2016
+    Convenient methods for manage files and directories
+@author: olivier.massot
+'''
+import os
+import shutil
+import subprocess
+
+__VERSION__ = "0.1"
+
+def fdir(path):
+    """return the parent directory of the file or directory
+    (no existence control)"""
+    return os.path.join(os.path.dirname(path), "")
+
+def fname(chemin, ext=True):
+    """return the name of the file
+    ext: return the name with its extension
+    (no existence control)"""
+    if not ext:
+        chemin = os.path.splitext(chemin)[0]
+    return os.path.basename(chemin)
+
+def fext(chemin):
+    """return the extension of the file
+    (no existence control)"""
+    try:
+        return os.path.splitext(chemin)[1]
+    except IndexError:
+        return ""
+
+def fexists(path):
+    """test the existence of a file or directory"""
+    return os.path.exists(os.path.normpath(path))
+
+def fishttp(path):
+    """is the path a web url?"""
+    return path[0:7] == "http://" or path[0:8] == "https://"
+
+def frun(path):
+    """run/open the required file, directory, webpage..."""
+    if not fishttp(path):
+        path = os.path.normpath(path)
+    try:
+        os.startfile(path)
+    except AttributeError:
+        subprocess.call(['open', path])
+
+def flist(target_dir, recursive=False, listdirs=False, listfiles=True, complete_paths=False):
+    """list the subdirectories and/or the files of the directory;
+    """
+    if not os.path.isdir(target_dir):
+        raise ValueError("'{var}' is not an valid directory".format(var=target_dir))
+    result = []
+    for root, dirs, files in os.walk(target_dir):
+        if listdirs:
+            if complete_paths:
+                dirs = [os.path.join(root, d) for d in dirs]
+            result.extend(dirs)
+        if listfiles:
+            if complete_paths:
+                files = [os.path.join(root, f) for f in files]
+            result.extend(files)
+        if not recursive:
+            break
+    return result
+
+def fcopy(file_path, target, erase=False):
+    """copy the file
+    - If target is a directory, copy the file in this directory and keep its name
+    - If target is a file path, copy the file to match this path
+    if erase is True but there is already a file at this path,
+    append a suffix '_X' to the file name"""
+    file_path = os.path.normpath(file_path)
+    cible = os.path.normpath(target)
+    if not os.path.isfile(file_path):
+        raise IOError("File {file_path} does not exist".format(file_path=file_path))
+    if not os.path.isdir(target):
+        if len(fname(target)) > 0:
+            target_dir = os.path.dirname(target)
+        else:
+            raise IOError("{target_dir} is not a valid target".format(target_dir=target_dir))
+    else:
+        target_dir = cible
+
+    name, ext = (fname(target, False), fext(target)) if len(fname(target)) > 0 \
+                 else (fname(file_path, False), fext(file_path))
+    target = os.path.join(target_dir, '%s%s' % (name, ext))
+    if not erase:
+        counter = 1
+        while fexists(target):
+            counter += 1
+            target = os.path.join(target_dir, '%s_%d%s' % (name, counter, ext))
+    shutil.copyfile(file_path, target)
+    return target
+
+def faccess(path, mode="r"):
+    """return True if user has an access to the directory or file in parameter
+    Warning: a negative answer could be caused by a missing access
+    or by an impossibility to connect to the drive"""
+
+    if mode not in ("r", "w"):
+        raise ValueError("mode should be 'r' or 'w'")
+    not_found = False
+
+    path = os.path.normpath(path)
+
+    try:
+        with open(path, mode) as _:
+            pass
+        return True
+    except (PermissionError, FileNotFoundError, OSError):
+        not_found = True
+
+    if not_found:
+        if mode == "r":
+            try:
+                next(os.walk(path))
+            except StopIteration:
+                return False
+            return True
+        else:
+            try:
+                with open(os.path.join(path, "__test__"), "w") as _:
+                    pass
+                os.remove(os.path.join(path, "__test__"))
+                return True
+            except PermissionError:
+                return False
+            else:
+                raise FileNotFoundError("File {path} does not exist".format(path=path))
+
+def fjoin(*args):
+    """recursively the paths in parameter"""
+    result = ""
+    for path in args:
+        result = os.path.join(result, os.path.normpath(path))
+    return result
+
+def fmkdir(dirpath):
+    """ create the directory recursively """
+    sub_path = os.path.dirname(dirpath)
+    if not os.path.exists(sub_path):
+        fmkdir(sub_path)
+    if not os.path.exists(dirpath):
+        os.mkdir(dirpath)
+
+def frmdir(dirpath):
+    """delete the directory, even it is not empty"""
+    shutil.rmtree(dirpath)
+
+def fhumansize(size):
+    """return a human readable size of file"""
+    suffixes = ['bytes', 'kB', 'MB', 'GB', 'TB']
+    suffix_index = 0
+    while size >= 1024:
+        suffix_index += 1 #increment the index of the suffix
+        size = size/1024.0 #apply the division
+    return "{0:03.2f} {1}".format(size, suffixes[suffix_index]) if suffix_index > 0 \
+           else "{0} {1}".format(size, suffixes[suffix_index])

BIN
tests/initial/project0.zip


+ 7 - 51
tests/readme.md

@@ -15,7 +15,7 @@ Il faut penser:
 * Créer un projet 'freestyle'
 * Créer un projet 'freestyle'
 * Configurer le projet (nom, description, repo git...)
 * Configurer le projet (nom, description, repo git...)
 * Ajouter une étape au build: lancer une commande batch
 * Ajouter une étape au build: lancer une commande batch
-* Y copier le contenu du fichier `run_tests.bat`
+* Y ajouter: `python run_tests.py`
 
 
 
 
 POUR LE PREMIER LANCEMENT ou EN CAS DE PROBLEME lors de l'éxecution des macros access (timeout, stuck):
 POUR LE PREMIER LANCEMENT ou EN CAS DE PROBLEME lors de l'éxecution des macros access (timeout, stuck):
@@ -52,108 +52,62 @@ Le fichier `db.accdb` contient les éventuelles tables liées. **ATTENTION: la c
 
 
 * Le dossier `.\work` est vidé
 * Le dossier `.\work` est vidé
 
 
-> `del /f /s /q .\work`
-
 * Le dossier `.\results` est vidé
 * Le dossier `.\results` est vidé
 
 
-> `del /f /s /q .\results`
-
 * `.\initial\projet0.zip` est extrait vers `.\work\projet0.accdb`
 * `.\initial\projet0.zip` est extrait vers `.\work\projet0.accdb`
 
 
-> `unzip .\initial\project0.zip -d .\work`
-
 * `.\initial\db.zip` est extrait vers `.\work\db.accdb`
 * `.\initial\db.zip` est extrait vers `.\work\db.accdb`
 
 
-> `unzip .\initial\db.zip -d .\work`
-
 * `.\initial\empty_project.zip` est extrait vers `.\work\empty_project.accdb`
 * `.\initial\empty_project.zip` est extrait vers `.\work\empty_project.accdb`
 
 
-> `unzip .\initial\empty_project.zip -d .\work`
-
 #### Création des sources
 #### Création des sources
 
 
 * La fonction `silent_export` de OpenAccess est executée depuis le fichier `.\work\project0.accdb` (via la macro `test_export` de `project0.accdb`)
 * La fonction `silent_export` de OpenAccess est executée depuis le fichier `.\work\project0.accdb` (via la macro `test_export` de `project0.accdb`)
 
 
-> `"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "C:\APPLIS_PARC\OpenAccess\tests\work\project0.accdb" /X test_export`
-
 Le répertoire `.\work\source` est créé
 Le répertoire `.\work\source` est créé
 
 
 * L'existence du fichier `.\work\project0.zip` créé par l'export est contrôlée
 * L'existence du fichier `.\work\project0.zip` créé par l'export est contrôlée
 
 
-> `python assert_exists.py .\work\project0.zip`
-
 * Les fichiers `.\work\source\modules\test_methods.bas`, `.\work\source\macros\test_export.bas` et `.\work\source\macros\test_import.bas` sont supprimés (ils ne font pas partie du périmètre des tests et leur présence provoquera des erreurs à l'import)
 * Les fichiers `.\work\source\modules\test_methods.bas`, `.\work\source\macros\test_export.bas` et `.\work\source\macros\test_import.bas` sont supprimés (ils ne font pas partie du périmètre des tests et leur présence provoquera des erreurs à l'import)
 
 
-> `del .\work\source\modules\test_methods.bas`
-> `del .\work\source\macros\test_export.bas`
-> `del .\work\source\macros\test_import.bas`
-
 **ATTENTION à s'assurer que ces fichiers ont aussi été supprimés de .\reference\source!**
 **ATTENTION à s'assurer que ces fichiers ont aussi été supprimés de .\reference\source!**
 
 
 * Le dossier `.\work\source` est copié vers `.\results\source_1`
 * Le dossier `.\work\source` est copié vers `.\results\source_1`
 
 
-> `robocopy /e .\works\source .\results\source1`
-
 #### Contrôle des résultats
 #### Contrôle des résultats
 
 
 * La fonction compare.py est utilisée pour comparer le contenu des sous-répertoires et des fichiers sources ainsi créés à ceux contenus dans le répertoire `.\reference\source`
 * La fonction compare.py est utilisée pour comparer le contenu des sous-répertoires et des fichiers sources ainsi créés à ceux contenus dans le répertoire `.\reference\source`
 
 
-> `python compare.py .\work\source .\reference\source`
-
 #### Import des sources dans une base vide
 #### Import des sources dans une base vide
 
 
 * La fonction `silent_import` de OpenAccess est executée depuis le fichier `.\work\empty_project.accdb` (via la macro `test_import` de `empty_project.accdb`)
 * La fonction `silent_import` de OpenAccess est executée depuis le fichier `.\work\empty_project.accdb` (via la macro `test_import` de `empty_project.accdb`)
 
 
-> `"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "C:\APPLIS_PARC\OpenAccess\tests\work\empty_project.accdb" /X test_import`
-
 * `.\work\empty_project.accdb` est copié vers `.\results\result1.accdb`
 * `.\work\empty_project.accdb` est copié vers `.\results\result1.accdb`
 
 
-> `copy .\work\empty_project.accdb .\results\result1.accdb`
-
 * L'existence du fichier `.\work\empty_project.accdb.old` créé par l'export est contrôlée
 * L'existence du fichier `.\work\empty_project.accdb.old` créé par l'export est contrôlée
 
 
-> `python assert_exists.py .\work\empty_project.accdb.old`
-
 #### Import des sources dans un projet existant
 #### Import des sources dans un projet existant
 
 
 * La fonction `silent_import` de OpenAccess est executée depuis le fichier `.\work\project0.accdb` (via la macro `test_import` de `project0.accdb`)
 * La fonction `silent_import` de OpenAccess est executée depuis le fichier `.\work\project0.accdb` (via la macro `test_import` de `project0.accdb`)
 
 
-> `.\work\project0.accdb /X test_import`
-
 * `.\work\project0.accdb` est copié vers `.\results\result2.accdb`
 * `.\work\project0.accdb` est copié vers `.\results\result2.accdb`
 
 
-> `copy .\work\project0.accdb .\results\result2.accdb`
-
 * L'existence du fichier `.\work\project0.accdb.old` créé par l'export est contrôlée
 * L'existence du fichier `.\work\project0.accdb.old` créé par l'export est contrôlée
 
 
-> `python assert_exists.py .\work\project0.accdb.old`
-
 #### Contrôle des résultats
 #### Contrôle des résultats
 
 
 * Exporter les sources de .\results\result1.accdb
 * Exporter les sources de .\results\result1.accdb
 
 
-> `.\results\result1.accdb /X test_export`
-
 * Renommer .\results\source en .\results\source2
 * Renommer .\results\source en .\results\source2
 
 
-> `move .\results\source .\results\source2`
-
 * Controle des résultats
 * Controle des résultats
 
 
-> `python compare.py .\results\source2 .\reference\source`
-
 * Exporter les sources de .\results\result2.accdb
 * Exporter les sources de .\results\result2.accdb
 
 
-> `.\results\result2.accdb /X test_export`
-
 * Renommer .\results\source en .\results\source3
 * Renommer .\results\source en .\results\source3
 
 
-> `move .\results\source .\results\source3`
-
 * Controle des résultats
 * Controle des résultats
 
 
-> `python compare.py .\results\source3 .\reference\source`
-
 ## Interpréter les résultats
 ## Interpréter les résultats
 
 
 La build sera réussie si:
 La build sera réussie si:
@@ -166,10 +120,12 @@ De plus, on peut vérifier les résultats dans le répertoire .\results:
 
 
 * initial.accdb contient le projet de départ
 * initial.accdb contient le projet de départ
 * source1 contient le résultat de l'export des sources de project0.accdb
 * source1 contient le résultat de l'export des sources de project0.accdb
-* result1.accdb contient le résultat d'u import de ces sources dans une base vide
-* result2.accdb contient le résultat de l'improt des sources dans project0.accdb
-
+* result2.accdb contient le résultat de l'import de ces sources dans la base empty_project.accdb
+* result3.accdb contient le résultat de l'improt des sources dans project0.accdb
+* source2 contient le résultat de l'export des sources de result2.accdb
+* source3 contient le résultat de l'export des sources de result3.accdb
+* 
 ## Commande batch
 ## Commande batch
 
 
-Voir [http://codebox/dev/OpenAccess/blob/master/tests/run_tests.bat](run_tests.bat)
+Voir [run_tests.py](http://codebox/dev/OpenAccess/blob/master/tests/run_tests.py)
 
 

+ 0 - 1
tests/reference/source/references.csv

@@ -3,4 +3,3 @@
 {2A75196C-D9EB-4129-B803-931327F72D5C},2,8
 {2A75196C-D9EB-4129-B803-931327F72D5C},2,8
 {420B2830-E718-11CF-893D-00A0C9054228},1,0
 {420B2830-E718-11CF-893D-00A0C9054228},1,0
 {00000600-0000-0010-8000-00AA006D2EA4},6,0
 {00000600-0000-0010-8000-00AA006D2EA4},6,0
-C:\Program Files\Jenkins\workspace\OpenAccess\tests\OpenAccess.accda

+ 1 - 1
tests/reference/source/tables/USysOpenAccess.txt

@@ -1,3 +1,3 @@
 key	val
 key	val
 include_tables	USysOpenAccess,TableWithData,TableTestBaseFields,TableTestAdvancedFields
 include_tables	USysOpenAccess,TableWithData,TableTestBaseFields,TableTestAdvancedFields
-sources_date	23/11/2016 11:43:16
+sources_date	

+ 40 - 0
tests/results/source1/database.properties

@@ -0,0 +1,40 @@
+Connect		12
+QueryTimeout	60	3
+ANSI Query Mode	0	4
+Themed Form Controls	1	4
+Use Microsoft Access 2007 compatible cache	0	4
+Clear Cache on Close	0	4
+Never Cache	0	4
+AccessVersion	09.50	10
+NavPane Category	0	4
+Show Navigation Pane Search Bar	1	4
+Build	727	4
+ProjVer	119	3
+HasOfflineLists	70	3
+UseMDIMode	0	2
+ShowDocumentTabs	Vrai	1
+Picture Property Storage Format	0	4
+WebDesignMode	0	2
+CheckTruncatedNumFields	1	4
+Theme Resource Name	Office Theme	10
+StartUpShowDBWindow	Vrai	1
+StartUpShowStatusBar	Vrai	1
+AllowShortcutMenus	Vrai	1
+AllowFullMenus	Vrai	1
+AllowBuiltInToolbars	Vrai	1
+AllowToolbarChanges	Vrai	1
+AllowSpecialKeys	Vrai	1
+UseAppIconForFrmRpt	Faux	1
+AllowDatasheetSchema	Vrai	1
+DesignWithData	Vrai	1
+Show Values Limit	1000	4
+Show Values in Indexed	1	4
+Show Values in Non-Indexed	1	4
+Show Values in Remote	0	4
+Auto Compact	0	4
+NavPane Closed	0	4
+NavPane Width	344	4
+NavPane View By	0	4
+NavPane Sort By	1	4
+Property Sheet Label Width	3525	4
+AppTitle	Project0 for CI OpenAccess	10

+ 394 - 0
tests/results/source1/forms/FormTestAdvancedControls.bas

@@ -0,0 +1,394 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =6994
+    DatasheetFontHeight =11
+    ItemSuffix =7
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0x64febd1c13d9e440
+    End
+    RecordSource ="TableTestAdvancedFields"
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin BoundObjectFrame
+            AddColon = NotDefault
+            SizeMode =3
+            SpecialEffect =2
+            BorderLineStyle =0
+            Width =4536
+            Height =2835
+            LabelX =-1701
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin ComboBox
+            AddColon = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AllowValueListEdits =1
+            InheritValueList =1
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ForeThemeColorIndex =2
+            ForeShade =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Attachment
+            BackStyle =0
+            BorderLineStyle =0
+            PictureSizeMode =3
+            Width =1701
+            Height =1701
+            LabelX =-1701
+            AddColon =0
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =5952
+            Name ="Détail"
+            AutoHeight =1
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    Left =2082
+                    Top =226
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="monetary"
+                    ControlSource ="monetary"
+                    Format ="#,##0.00 €;-#,##0.00 €"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2082
+                    LayoutCachedTop =226
+                    LayoutCachedWidth =3783
+                    LayoutCachedHeight =541
+                    CurrencySymbol ="€"
+                    ColLCID =1036
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =226
+                            Width =975
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette0"
+                            Caption ="monetary"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =226
+                            LayoutCachedWidth =2082
+                            LayoutCachedHeight =541
+                        End
+                    End
+                End
+                Begin BoundObjectFrame
+                    OverlapFlags =87
+                    Left =2172
+                    Top =737
+                    Width =855
+                    Height =855
+                    TabIndex =1
+                    BorderColor =10921638
+                    Name ="ole_object"
+                    ControlSource ="ole_object"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2172
+                    LayoutCachedTop =737
+                    LayoutCachedWidth =3027
+                    LayoutCachedHeight =1592
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =737
+                            Width =1065
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette1"
+                            Caption ="ole_object"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =737
+                            LayoutCachedWidth =2172
+                            LayoutCachedHeight =1052
+                        End
+                    End
+                End
+                Begin TextBox
+                    FontUnderline = NotDefault
+                    IsHyperlink = NotDefault
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    Left =2097
+                    Top =1984
+                    Width =4320
+                    Height =315
+                    TabIndex =2
+                    BorderColor =10921638
+                    ForeColor =16711680
+                    Name ="hypertext"
+                    ControlSource ="hypertext"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2097
+                    LayoutCachedTop =1984
+                    LayoutCachedWidth =6417
+                    LayoutCachedHeight =2299
+                    ForeThemeColorIndex =10
+                    ForeTint =100.0
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =1984
+                            Width =990
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette2"
+                            Caption ="hypertext"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =1984
+                            LayoutCachedWidth =2097
+                            LayoutCachedHeight =2299
+                        End
+                    End
+                End
+                Begin Attachment
+                    Left =1992
+                    Top =2777
+                    Width =855
+                    Height =855
+                    BorderColor =10921638
+                    Name ="attached"
+                    ControlSource ="attached"
+                    GridlineColor =10921638
+                    TabIndex =3
+
+                    LayoutCachedLeft =1992
+                    LayoutCachedTop =2777
+                    LayoutCachedWidth =2847
+                    LayoutCachedHeight =3632
+                    Begin
+                        Begin Label
+                            OverlapFlags =87
+                            Left =1107
+                            Top =2777
+                            Width =885
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette3"
+                            Caption ="attached"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =2777
+                            LayoutCachedWidth =1992
+                            LayoutCachedHeight =3092
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    Left =2127
+                    Top =3968
+                    Height =315
+                    TabIndex =4
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="calculated"
+                    ControlSource ="calculated"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2127
+                    LayoutCachedTop =3968
+                    LayoutCachedWidth =3828
+                    LayoutCachedHeight =4283
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =3968
+                            Width =1020
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette4"
+                            Caption ="calculated"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =3968
+                            LayoutCachedWidth =2127
+                            LayoutCachedHeight =4283
+                        End
+                    End
+                End
+                Begin ComboBox
+                    LimitToList = NotDefault
+                    RowSourceTypeInt =1
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    ListWidth =1440
+                    Left =2157
+                    Top =4592
+                    Height =315
+                    TabIndex =5
+                    BorderColor =10921638
+                    ForeColor =4138256
+                    Name ="combobox"
+                    ControlSource ="combobox"
+                    RowSourceType ="Value List"
+                    RowSource ="\"a\";\"b\";\"c\""
+                    ColumnWidths ="1440"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2157
+                    LayoutCachedTop =4592
+                    LayoutCachedWidth =3858
+                    LayoutCachedHeight =4907
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =4592
+                            Width =1050
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette5"
+                            Caption ="combobox"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =4592
+                            LayoutCachedWidth =2157
+                            LayoutCachedHeight =4907
+                        End
+                    End
+                End
+                Begin ComboBox
+                    LimitToList = NotDefault
+                    AutoExpand = NotDefault
+                    AllowAutoCorrect = NotDefault
+                    RowSourceTypeInt =1
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    ListWidth =1440
+                    Left =3357
+                    Top =5442
+                    Height =315
+                    TabIndex =6
+                    BorderColor =10921638
+                    ForeColor =4138256
+                    Name ="combobox_multichoice"
+                    ControlSource ="combobox_multichoice"
+                    RowSourceType ="Value List"
+                    RowSource ="\"a\";\"b\";\"c\";\"d\";\"e\""
+                    ColumnWidths ="1440"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =3357
+                    LayoutCachedTop =5442
+                    LayoutCachedWidth =5058
+                    LayoutCachedHeight =5757
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =5442
+                            Width =2250
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette6"
+                            Caption ="combobox_multichoice"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =5442
+                            LayoutCachedWidth =3357
+                            LayoutCachedHeight =5757
+                        End
+                    End
+                End
+            End
+        End
+    End
+End

+ 631 - 0
tests/results/source1/forms/FormTestBaseControls.bas

@@ -0,0 +1,631 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =6994
+    DatasheetFontHeight =11
+    ItemSuffix =15
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xc8d4222013d9e440
+    End
+    RecordSource ="TableTestBaseFields"
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin CheckBox
+            BorderLineStyle =0
+            LabelX =230
+            LabelY =-30
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =7401
+            Name ="Détail"
+            AutoHeight =1
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =396
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="auto_number"
+                    ControlSource ="auto_number"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =396
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =711
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =396
+                            Width =1335
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette0"
+                            Caption ="auto_number"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =396
+                            LayoutCachedWidth =1788
+                            LayoutCachedHeight =711
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =792
+                    Height =315
+                    TabIndex =1
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="string"
+                    ControlSource ="string"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =792
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =1107
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =792
+                            Width =600
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette1"
+                            Caption ="string"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =792
+                            LayoutCachedWidth =1053
+                            LayoutCachedHeight =1107
+                        End
+                    End
+                End
+                Begin TextBox
+                    EnterKeyBehavior = NotDefault
+                    ScrollBars =2
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =1189
+                    Width =4320
+                    Height =1008
+                    TabIndex =2
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="long_string"
+                    ControlSource ="long_string"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =1189
+                    LayoutCachedWidth =6474
+                    LayoutCachedHeight =2197
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =1189
+                            Width =1110
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette2"
+                            Caption ="long_string"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =1189
+                            LayoutCachedWidth =1563
+                            LayoutCachedHeight =1504
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =2266
+                    Height =315
+                    TabIndex =3
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="integer"
+                    ControlSource ="integer"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =2266
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =2581
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =2266
+                            Width =750
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette3"
+                            Caption ="integer"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =2266
+                            LayoutCachedWidth =1203
+                            LayoutCachedHeight =2581
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =2663
+                    Height =315
+                    TabIndex =4
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="long_int"
+                    ControlSource ="long_int"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =2663
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =2978
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =2663
+                            Width =840
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette4"
+                            Caption ="long_int"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =2663
+                            LayoutCachedWidth =1293
+                            LayoutCachedHeight =2978
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =3060
+                    Height =315
+                    TabIndex =5
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="real"
+                    ControlSource ="real"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =3060
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =3375
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =3060
+                            Width =435
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette5"
+                            Caption ="real"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =3060
+                            LayoutCachedWidth =888
+                            LayoutCachedHeight =3375
+                        End
+                    End
+                End
+                Begin TextBox
+                    DecimalPlaces =1
+                    OverlapFlags =215
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =3457
+                    Height =315
+                    ColumnWidth =2010
+                    TabIndex =6
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="real_one_decimal"
+                    ControlSource ="real_one_decimal"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =3457
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =3772
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =453
+                            Top =3457
+                            Width =1740
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette6"
+                            Caption ="real_one_decimal"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =3457
+                            LayoutCachedWidth =2193
+                            LayoutCachedHeight =3772
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =3854
+                    Height =315
+                    ColumnWidth =2235
+                    TabIndex =7
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="real_double"
+                    ControlSource ="real_double"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =3854
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =4169
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =3854
+                            Width =1200
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette7"
+                            Caption ="real_double"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =3854
+                            LayoutCachedWidth =1653
+                            LayoutCachedHeight =4169
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =4251
+                    Height =315
+                    TabIndex =8
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="decimal"
+                    ControlSource ="decimal"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =4251
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =4566
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =4251
+                            Width =810
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette8"
+                            Caption ="decimal"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =4251
+                            LayoutCachedWidth =1263
+                            LayoutCachedHeight =4566
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =4648
+                    Height =315
+                    TabIndex =9
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="datetime"
+                    ControlSource ="datetime"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =4648
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =4963
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =4648
+                            Width =930
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette9"
+                            Caption ="datetime"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =4648
+                            LayoutCachedWidth =1383
+                            LayoutCachedHeight =4963
+                        End
+                    End
+                End
+                Begin CheckBox
+                    OverlapFlags =85
+                    Left =2154
+                    Top =5044
+                    TabIndex =10
+                    BorderColor =10921638
+                    Name ="boolean"
+                    ControlSource ="boolean"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =5044
+                    LayoutCachedWidth =2414
+                    LayoutCachedHeight =5284
+                    Begin
+                        Begin Label
+                            OverlapFlags =247
+                            Left =2384
+                            Top =5014
+                            Width =840
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette10"
+                            Caption ="boolean"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =2384
+                            LayoutCachedTop =5014
+                            LayoutCachedWidth =3224
+                            LayoutCachedHeight =5329
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =215
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =5385
+                    Height =315
+                    TabIndex =11
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="string_with_default"
+                    ControlSource ="string_with_default"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =5385
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =5700
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =453
+                            Top =5385
+                            Width =1905
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette11"
+                            Caption ="string_with_default"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =5385
+                            LayoutCachedWidth =2358
+                            LayoutCachedHeight =5700
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =215
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =5781
+                    Height =315
+                    ColumnWidth =2490
+                    TabIndex =12
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="numeric_with_condition"
+                    ControlSource ="numeric_with_condition"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =5781
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =6096
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =453
+                            Top =5781
+                            Width =2355
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette12"
+                            Caption ="numeric_with_condition"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =5781
+                            LayoutCachedWidth =2808
+                            LayoutCachedHeight =6096
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =6178
+                    Height =315
+                    TabIndex =13
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="nonnull_date"
+                    ControlSource ="nonnull_date"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =6178
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =6493
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =6178
+                            Width =1320
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette13"
+                            Caption ="nonnull_date"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =6178
+                            LayoutCachedWidth =1773
+                            LayoutCachedHeight =6493
+                        End
+                    End
+                End
+                Begin TextBox
+                    DecimalPlaces =0
+                    OverlapFlags =215
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =6575
+                    Height =315
+                    ColumnWidth =3975
+                    TabIndex =14
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="indexed_integer_no_decimal"
+                    ControlSource ="indexed_integer_no_decimal"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =6575
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =6890
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =453
+                            Top =6575
+                            Width =2805
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette14"
+                            Caption ="indexed_integer_no_decimal"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =6575
+                            LayoutCachedWidth =3258
+                            LayoutCachedHeight =6890
+                        End
+                    End
+                End
+            End
+        End
+    End
+End

+ 179 - 0
tests/results/source1/forms/FormTestCodeBehind.bas

@@ -0,0 +1,179 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =4875
+    DatasheetFontHeight =11
+    ItemSuffix =3
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xfa6eb94d13d9e440
+    End
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin CommandButton
+            Width =1701
+            Height =283
+            FontSize =11
+            FontWeight =400
+            FontName ="Calibri"
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            UseTheme =1
+            Shape =1
+            Gradient =12
+            BackThemeColorIndex =4
+            BackTint =60.0
+            BorderLineStyle =0
+            BorderColor =16777215
+            BorderThemeColorIndex =4
+            BorderTint =60.0
+            ThemeFontIndex =1
+            HoverThemeColorIndex =4
+            HoverTint =40.0
+            PressedThemeColorIndex =4
+            PressedShade =75.0
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =2437
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =1984
+                    Top =396
+                    Width =1757
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="TestDisplay"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =1984
+                    LayoutCachedTop =396
+                    LayoutCachedWidth =3741
+                    LayoutCachedHeight =711
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =285
+                            Top =390
+                            Width =1140
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette1"
+                            Caption ="TestDisplay"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =285
+                            LayoutCachedTop =390
+                            LayoutCachedWidth =1425
+                            LayoutCachedHeight =705
+                        End
+                    End
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =1247
+                    Top =1190
+                    Width =2608
+                    Height =397
+                    TabIndex =1
+                    ForeColor =4210752
+                    Name ="TestCommand"
+                    Caption ="TestVBA"
+                    OnClick ="[Event Procedure]"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =1247
+                    LayoutCachedTop =1190
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =1587
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+            End
+        End
+    End
+End
+CodeBehindForm
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+Option Compare Database
+
+Private Sub TestCommand_Click()
+
+    Me.TestDisplay.Value = "hello world!"
+
+End Sub

+ 1465 - 0
tests/results/source1/forms/FormTestComplex.bas

@@ -0,0 +1,1465 @@
+Version =20
+VersionRequired =20
+Begin Form
+    RecordSelectors = NotDefault
+    NavigationButtons = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =5
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =20239
+    DatasheetFontHeight =11
+    ItemSuffix =28
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xaf8dda3113d9e440
+    End
+    RecordSource ="SELECT TableTestBaseFields.auto_number, TableTestBaseFields.string, TableTestBas"
+        "eFields.long_string, TableTestBaseFields.integer, TableTestBaseFields.long_int, "
+        "TableTestBaseFields.real, TableTestBaseFields.real_one_decimal, TableTestBaseFie"
+        "lds.real_double, TableTestBaseFields.decimal, TableTestBaseFields.datetime, Tabl"
+        "eTestBaseFields.boolean, TableTestBaseFields.string_with_default, TableTestBaseF"
+        "ields.numeric_with_condition, TableTestBaseFields.nonnull_date, TableTestBaseFie"
+        "lds.indexed_integer_no_decimal, TableTestRelation1.Id FROM TableTestBaseFields I"
+        "NNER JOIN (TableTestRelation4 INNER JOIN (TableTestRelation3 INNER JOIN (TableTe"
+        "stRelation2 INNER JOIN TableTestRelation1 ON TableTestRelation2.Id = TableTestRe"
+        "lation1.FK_TTR1_TTR2) ON TableTestRelation3.Id = TableTestRelation2.FK_TTR2_TTR3"
+        ") ON TableTestRelation4.Id = TableTestRelation3.FK_TTR3_TTR4) ON TableTestBaseFi"
+        "elds.auto_number = TableTestRelation1.FK_TTR1_TTR2 WHERE (((TableTestRelation1.I"
+        "d)=1)); "
+    Caption ="I am FormTestComplex"
+    DatasheetFontName ="Calibri"
+    PrtMip = Begin
+        0x6801000068010000680100006801000000000000201c0000e010000001000000 ,
+        0x010000006801000000000000a10700000100000001000000
+    End
+    FilterOnLoad =0
+    SplitFormOrientation =1
+    SplitFormOrientation =1
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Line
+            BorderLineStyle =0
+            Width =1701
+            BorderThemeColorIndex =0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Image
+            BackStyle =0
+            OldBorderStyle =0
+            BorderLineStyle =0
+            SizeMode =3
+            PictureAlignment =2
+            Width =1701
+            Height =1701
+            BorderColor =16777215
+            GridlineColor =16777215
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin OptionButton
+            BorderLineStyle =0
+            LabelX =230
+            LabelY =-30
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin OptionGroup
+            SpecialEffect =3
+            BorderLineStyle =0
+            Width =1701
+            Height =1701
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin ComboBox
+            AddColon = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AllowValueListEdits =1
+            InheritValueList =1
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ForeThemeColorIndex =2
+            ForeShade =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Subform
+            BorderLineStyle =0
+            Width =1701
+            Height =1701
+            BorderThemeColorIndex =1
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            BorderShade =65.0
+            ShowPageHeaderAndPageFooter =1
+        End
+        Begin Chart
+            SpecialEffect =2
+            OldBorderStyle =1
+            Width =4536
+            Height =2835
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ForeThemeColorIndex =2
+            ForeShade =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin PageBreak
+            Width =283
+        End
+        Begin Tab
+            Width =5103
+            Height =3402
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            UseTheme =1
+            Shape =3
+            BackThemeColorIndex =1
+            BackShade =85.0
+            BorderLineStyle =0
+            BorderColor =16777215
+            BorderThemeColorIndex =2
+            BorderTint =60.0
+            HoverThemeColorIndex =1
+            PressedThemeColorIndex =1
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+        End
+        Begin Page
+            Width =1701
+            Height =1701
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin EmptyCell
+            Height =240
+            GridlineColor =12632256
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin NavigationControl
+            BorderWidth =1
+            BorderLineStyle =0
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin NavigationButton
+            Width =283
+            Height =283
+            ForeColor =-2
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            HoverColor =-2
+            HoverThemeColorIndex =2
+            HoverTint =20.0
+            PressedColor =-2
+            PressedThemeColorIndex =2
+            PressedTint =60.0
+            HoverForeColor =-2
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeColor =-2
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+            BackColor =15790320
+            BackThemeColorIndex =1
+            OldBorderStyle =0
+            BorderLineStyle =0
+            BorderThemeColorIndex =3
+            BorderShade =90.0
+            ThemeFontIndex =1
+            FontName ="Calibri"
+            FontWeight =400
+            FontSize =11
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+        End
+        Begin FormHeader
+            Height =453
+            BackColor =15849926
+            Name ="EntêteFormulaire"
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =2
+            BackTint =20.0
+        End
+        Begin PageHeader
+            DisplayWhen =1
+            Height =453
+            Name ="ZoneEntêtePage"
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+        End
+        Begin Section
+            CanGrow = NotDefault
+            Height =13889
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin Tab
+                    OverlapFlags =85
+                    TextFontFamily =18
+                    Left =390
+                    Top =340
+                    Width =5790
+                    Height =4762
+                    Name ="CtlTab0"
+                    FontName ="Cambria"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =390
+                    LayoutCachedTop =340
+                    LayoutCachedWidth =6180
+                    LayoutCachedHeight =5102
+                    BackColor =14277081
+                    BorderColor =13995605
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    ForeColor =4210752
+                    Begin
+                        Begin Page
+                            OverlapFlags =87
+                            Left =465
+                            Top =810
+                            Width =5640
+                            Height =4215
+                            BorderColor =10921638
+                            Name ="TestPage1"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =465
+                            LayoutCachedTop =810
+                            LayoutCachedWidth =6105
+                            LayoutCachedHeight =5025
+                            WebImagePaddingLeft =2
+                            WebImagePaddingTop =2
+                            WebImagePaddingRight =2
+                            WebImagePaddingBottom =2
+                        End
+                        Begin Page
+                            OverlapFlags =215
+                            Left =465
+                            Top =810
+                            Width =5640
+                            Height =4215
+                            BorderColor =10921638
+                            Name ="TestPage2"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =465
+                            LayoutCachedTop =810
+                            LayoutCachedWidth =6105
+                            LayoutCachedHeight =5025
+                            WebImagePaddingLeft =2
+                            WebImagePaddingTop =2
+                            WebImagePaddingRight =2
+                            WebImagePaddingBottom =2
+                        End
+                        Begin Page
+                            OverlapFlags =215
+                            Left =465
+                            Top =810
+                            Width =5640
+                            Height =4215
+                            BorderColor =10921638
+                            Name ="TestPage3"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =465
+                            LayoutCachedTop =810
+                            LayoutCachedWidth =6105
+                            LayoutCachedHeight =5025
+                            WebImagePaddingLeft =2
+                            WebImagePaddingTop =2
+                            WebImagePaddingRight =2
+                            WebImagePaddingBottom =2
+                        End
+                    End
+                End
+                Begin NavigationControl
+                    OldBorderStyle =0
+                    OverlapFlags =85
+                    Left =6750
+                    Top =870
+                    Height =914
+                    TabIndex =1
+                    BorderColor =16777215
+                    ForeColor =4138256
+                    Name ="ContrôleNavigation4"
+                    GroupTable =2
+                    TopPadding =0
+                    BottomPadding =0
+                    HorizontalAnchor =2
+
+                    LayoutCachedLeft =6750
+                    LayoutCachedTop =870
+                    LayoutCachedWidth =13950
+                    LayoutCachedHeight =1784
+                    LayoutGroup =2
+                    NavigationSubform ="SousFormulaireNavigation"
+                    GridlineColor =10921638
+                    GroupTable =2
+                    Begin
+                        Begin NavigationButton
+                            OverlapFlags =87
+                            Left =6750
+                            Top =870
+                            Width =1440
+                            Height =405
+                            ForeColor =4210752
+                            Name ="BoutonNavigation9"
+                            Caption ="Menu"
+                            GroupTable =1
+                            LeftPadding =0
+                            TopPadding =0
+                            BottomPadding =0
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =6750
+                            LayoutCachedTop =870
+                            LayoutCachedWidth =8190
+                            LayoutCachedHeight =1275
+                            LayoutGroup =1
+                            HoverColor =15849926
+                            PressedColor =13995605
+                            HoverForeColor =4210752
+                            PressedForeColor =4210752
+                            BackColor =16777215
+                            BorderColor =12835293
+                            GroupTable =1
+                            WebImagePaddingRight =2
+                        End
+                        Begin NavigationButton
+                            OverlapFlags =87
+                            Left =8220
+                            Top =870
+                            Width =1440
+                            Height =405
+                            ForeColor =4210752
+                            Name ="BoutonNavigation11"
+                            Caption ="Outils"
+                            GroupTable =1
+                            LeftPadding =0
+                            TopPadding =0
+                            BottomPadding =0
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =8220
+                            LayoutCachedTop =870
+                            LayoutCachedWidth =9660
+                            LayoutCachedHeight =1275
+                            ColumnStart =1
+                            ColumnEnd =1
+                            LayoutGroup =1
+                            HoverColor =15849926
+                            PressedColor =13995605
+                            HoverForeColor =4210752
+                            PressedForeColor =4210752
+                            BackColor =16777215
+                            BorderColor =12835293
+                            GroupTable =1
+                            WebImagePaddingRight =2
+                        End
+                        Begin NavigationButton
+                            OverlapFlags =87
+                            Left =9690
+                            Top =870
+                            Width =1875
+                            Height =405
+                            ForeColor =4210752
+                            Name ="BoutonNavigation5"
+                            Caption ="[Ajouter nouveau]"
+                            ControlTipText ="Add a form or report by dropping it here"
+                            GroupTable =1
+                            LeftPadding =0
+                            TopPadding =0
+                            BottomPadding =0
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =9690
+                            LayoutCachedTop =870
+                            LayoutCachedWidth =11565
+                            LayoutCachedHeight =1275
+                            ColumnStart =2
+                            ColumnEnd =2
+                            LayoutGroup =1
+                            DefaultInsertButton =1
+                            HoverColor =15849926
+                            PressedColor =13995605
+                            HoverForeColor =4210752
+                            PressedForeColor =4210752
+                            BackColor =16777215
+                            BorderColor =12835293
+                            GroupTable =1
+                            WebImagePaddingRight =2
+                        End
+                    End
+                End
+                Begin Subform
+                    OverlapFlags =85
+                    Left =6750
+                    Top =1785
+                    Width =7200
+                    Height =7200
+                    TabIndex =2
+                    BorderColor =10921638
+                    Name ="SousFormulaireNavigation"
+                    GroupTable =2
+                    TopPadding =0
+                    BottomPadding =0
+                    GridlineColor =10921638
+                    HorizontalAnchor =2
+                    VerticalAnchor =2
+
+                    LayoutCachedLeft =6750
+                    LayoutCachedTop =1785
+                    LayoutCachedWidth =13950
+                    LayoutCachedHeight =8985
+                    RowStart =1
+                    RowEnd =1
+                    LayoutGroup =2
+                    GroupTable =2
+                End
+                Begin PageBreak
+                    OverlapFlags =85
+                    Top =10714
+                    Name ="SautDePage13"
+                End
+                Begin OptionGroup
+                    OverlapFlags =85
+                    Left =396
+                    Top =5725
+                    Width =1146
+                    Height =1273
+                    TabIndex =3
+                    BorderColor =10921638
+                    Name ="Cadre14"
+                    DefaultValue ="1"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =396
+                    LayoutCachedTop =5725
+                    LayoutCachedWidth =1542
+                    LayoutCachedHeight =6998
+                    Begin
+                        Begin Label
+                            BackStyle =1
+                            OverlapFlags =215
+                            Left =516
+                            Top =5605
+                            Width =840
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette15"
+                            Caption ="Cadre14"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =516
+                            LayoutCachedTop =5605
+                            LayoutCachedWidth =1356
+                            LayoutCachedHeight =5920
+                            BackThemeColorIndex =-1
+                        End
+                        Begin OptionButton
+                            SpecialEffect =2
+                            OverlapFlags =87
+                            Left =582
+                            Top =5963
+                            OptionValue =1
+                            BorderColor =10921638
+                            Name ="Option17"
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =582
+                            LayoutCachedTop =5963
+                            LayoutCachedWidth =842
+                            LayoutCachedHeight =6203
+                            Begin
+                                Begin Label
+                                    OverlapFlags =247
+                                    Left =812
+                                    Top =5935
+                                    Width =510
+                                    Height =315
+                                    BorderColor =8355711
+                                    ForeColor =8355711
+                                    Name ="Étiquette18"
+                                    Caption ="opt1"
+                                    GridlineColor =10921638
+                                    LayoutCachedLeft =812
+                                    LayoutCachedTop =5935
+                                    LayoutCachedWidth =1322
+                                    LayoutCachedHeight =6250
+                                End
+                            End
+                        End
+                        Begin OptionButton
+                            SpecialEffect =2
+                            OverlapFlags =87
+                            Left =582
+                            Top =6293
+                            OptionValue =2
+                            BorderColor =10921638
+                            Name ="Option19"
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =582
+                            LayoutCachedTop =6293
+                            LayoutCachedWidth =842
+                            LayoutCachedHeight =6533
+                            Begin
+                                Begin Label
+                                    OverlapFlags =247
+                                    Left =812
+                                    Top =6265
+                                    Width =510
+                                    Height =315
+                                    BorderColor =8355711
+                                    ForeColor =8355711
+                                    Name ="Étiquette20"
+                                    Caption ="opt2"
+                                    GridlineColor =10921638
+                                    LayoutCachedLeft =812
+                                    LayoutCachedTop =6265
+                                    LayoutCachedWidth =1322
+                                    LayoutCachedHeight =6580
+                                End
+                            End
+                        End
+                        Begin OptionButton
+                            SpecialEffect =2
+                            OverlapFlags =87
+                            Left =582
+                            Top =6623
+                            OptionValue =3
+                            BorderColor =10921638
+                            Name ="Option21"
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =582
+                            LayoutCachedTop =6623
+                            LayoutCachedWidth =842
+                            LayoutCachedHeight =6863
+                            Begin
+                                Begin Label
+                                    OverlapFlags =247
+                                    Left =812
+                                    Top =6595
+                                    Width =510
+                                    Height =315
+                                    BorderColor =8355711
+                                    ForeColor =8355711
+                                    Name ="Étiquette22"
+                                    Caption ="opt3"
+                                    GridlineColor =10921638
+                                    LayoutCachedLeft =812
+                                    LayoutCachedTop =6595
+                                    LayoutCachedWidth =1322
+                                    LayoutCachedHeight =6910
+                                End
+                            End
+                        End
+                    End
+                End
+                Begin Chart
+                    ColumnHeads = NotDefault
+                    Enabled = NotDefault
+                    Locked = NotDefault
+                    SizeMode =1
+                    RowSourceTypeInt =2
+                    OverlapFlags =85
+                    Left =2551
+                    Top =5669
+                    Width =2041
+                    Height =1814
+                    TabIndex =4
+                    BorderColor =10921638
+                    ForeColor =4138256
+                    Name ="Graphique23"
+                    OleData = Begin
+                        0x00400000d0cf11e0a1b11ae1000000000000000000000000000000003e000300 ,
+                        0xfeff090006000000000000000000000001000000020000000000000000100000 ,
+                        0x0400000001000000feffffff0000000003000000ffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff52006f006f007400200045006e007400720079000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000016000500ffffffffffffffff050000000308020000000000c0000000 ,
+                        0x00000046000000000000000000000000e0df26f6c344d2010f000000401a0000 ,
+                        0x00000000010043006f006d0070004f0062006a00000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000120002010200000003000000ffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000400000069000000 ,
+                        0x0000000001004f006c0065000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000a000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000003500000014000000 ,
+                        0x0000000057006f0072006b0062006f006f006b00000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000012000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000006000000b00b0000 ,
+                        0x000000000e000000fdffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xfffffffffffffffffffffffffffffffffffffffffffffffffefffffffeffffff ,
+                        0x1000000011000000120000001300000014000000150000001600000017000000 ,
+                        0x18000000190000001a0000001b0000001c000000feffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff52006f006f007400200045006e007400720079000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000016000500ffffffffffffffff050000000308020000000000c0000000 ,
+                        0x00000046000000000000000000000000808a098cc444d2010600000080110000 ,
+                        0x00000000010043006f006d0070004f0062006a00000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000120002010200000003000000ffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000400000069000000 ,
+                        0x0000000001004f006c0065000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000a000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000003500000014000000 ,
+                        0x0000000057006f0072006b0062006f006f006b00000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000012000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x000000000000000000000000000000000000000000000000060000006d0a0000 ,
+                        0x00000000ffffffffffffffff05000000fdfffffffefffffffeffffff07000000 ,
+                        0x08000000090000000a0000000b0000000c0000001d000000ffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffff1e000000feffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff010000000200000036000000feffffff05000000feffffff07000000 ,
+                        0x08000000090000000a0000000b0000000c0000000d0000000e0000000f000000 ,
+                        0x1000000011000000120000001300000014000000150000001600000017000000 ,
+                        0x18000000190000001a0000001b0000001c0000001d0000001e0000001f000000 ,
+                        0x2000000021000000220000002300000024000000250000002600000027000000 ,
+                        0x28000000290000002a0000002b0000002c0000002d0000002e0000002f000000 ,
+                        0xfefffffffffffffffffffffffffffffffffffffffffffffffeffffff37000000 ,
+                        0x38000000390000003a0000003b0000003c0000003d0000003e0000003f000000 ,
+                        0x400000004100000042000000430000004400000045000000feffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff03004100630063006500730073004f0062006a005300690074006500 ,
+                        0x4400610074006100000000000000000000000000000000000000000000000000 ,
+                        0x0000000026000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000300000038000000 ,
+                        0x0000000002004f006c0065005000720065007300300030003000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000180002010100000004000000ffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000084040000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000ffffffff030000000400000001000000ffffffff0000000000000000 ,
+                        0x1d1c0000fc110000420400000100090000032102000002002400000000000400 ,
+                        0x000003010800050000000b0200000000050000000c02af001101050000000902 ,
+                        0x00000000050000000102ffffff000400000004010d0004000000020102000300 ,
+                        0x00001e00040000002701ffff030000001e00040000002701ffff030000001e00 ,
+                        0x050000000102ffffff00050000000902000000001c000000fb02f3ff00000000 ,
+                        0x0000bc0238000000000000000100000000000000000000000000000000000000 ,
+                        0x0000000038000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000100feff030a0000ffffffff0308020000000000c000000000000046 ,
+                        0x1a000000477261706869717565204d6963726f736f6674204772617068000700 ,
+                        0x000047426966663500100000004d5347726170682e43686172742e3800f439b2 ,
+                        0x71000000000000000000000000005c0020002200ac2022003b005b0052006500 ,
+                        0x64005d0009081000800605006732cd07c18001000606000042000200b0042200 ,
+                        0x020000001e043300050017000123002c002300230030005c0020002200ac2022 ,
+                        0x003b005c002d0023002c002300230030005c0020002200ac2022001e043d0006 ,
+                        0x001c000123002c002300230030005c0020002200ac2022003b005b0052006500 ,
+                        0x64005d005c002d0023002c002300230030005c0020002200ac2022001e043f00 ,
+                        0x07001d000123002c002300230030002e00300030005c0020002200ac2022003b ,
+                        0x005c002d0023002c002300230030002e00300030005c0020002200ac2022001e ,
+                        0x044900080022000123002c002300230030002e00300030005c0020002200ac20 ,
+                        0x22003b005b005200650064005d005c002d0023002c002300230030002e003000 ,
+                        0x30005c0020002200ac2022001e0471002a003600015f002d002a00200023002c ,
+                        0x002300230030005c0020002200ac2022005f002d003b005c002d002a00200023 ,
+                        0x002c002300230030005c0020002200ac2022005f002d003b005f002d002a0020 ,
+                        0x0022002d0022005c0020002200ac2022005f002d003b005f002d0040005f002d ,
+                        0x001e046b0029003300015f002d002a00200023002c002300230030005c002000 ,
+                        0x5f00ac205f002d003b005c002d002a00200023002c002300230030005c002000 ,
+                        0x5f00ac205f002d003b005f002d002a00200022002d0022005c0020005f00ac20 ,
+                        0x5f002d003b005f002d0040005f002d001e0481002c003e00015f002d002a0020 ,
+                        0x0023002c002300230030002e00300030005c0020002200ac2022005f002d003b ,
+                        0x005c002d002a00200023002c002300230030002e00300030005c0020002200ac ,
+                        0x2022005f002d003b005f002d002a00200022002d0022003f003f005c00200022 ,
+                        0x00ac2022005f002d003b005f002d0040005f002d001e047b002b003b00015f00 ,
+                        0x2d002a00200023002c002300230030002e00300030005c0020005f00ac205f00 ,
+                        0x2d003b005c002d002a00200023002c002300230030002e00300030005c002000 ,
+                        0x5f00ac205f002d003b005f002d002a00200022002d0022003f003f005c002000 ,
+                        0x5f00ac205f002d003b005f002d0040005f002d0031001e00a0000100ff7fbc02 ,
+                        0x0000000000cb0701430061006c00690062007200690031001e00a0000100ff7f ,
+                        0xbc020000000000cb0701430061006c00690062007200690031001e00c3000100 ,
+                        0xff7fbc020000000000cb0701430061006c00690062007200690031001e00c800 ,
+                        0x0100ff7fbc020000000200cb0701430061006c00690062007200690031001e00 ,
+                        0xa0000100ff7fbc020000000000cb0701430061006c0069006200720069003100 ,
+                        0x1e00a0000100ff7fbc020000000000cb0701430061006c006900620072006900 ,
+                        0x31001e00c8000100ff7fbc020000000000cb0701430061006c00690062007200 ,
+                        0x69003d0012003408ea061c11a80c000000200023002c00238500080024040000 ,
+                        0x000200000a00000009081000800600806732cd07c18001000606000060100a00 ,
+                        0x5a0f9c09c8000000030060100a004a10aa0aa0000100050060100a004a10aa0a ,
+                        0xa00000000600ac02020038009200e200380000000000ffffff00ff00000000ff ,
+                        0x00000000ff00ffff0000ff00ff0000ffff008000000000800000000080008080 ,
+                        0x00008000800000808000c0c0c000808080009999ff0099336600ffffcc00ccff ,
+                        0xff0066006600ff8080000066cc00ccccff0000008000ff00ff00ffff000000ff ,
+                        0xff008000800080000000008080000000ff0000ccff00ccffff00ccffcc00ffff ,
+                        0x990099ccff00ff99cc00cc99ff00ffcc99003366ff0033cccc0099cc0000ffcc ,
+                        0x0000ff990000ff66000066669900969696000033660033996600003300003333 ,
+                        0x0000993300009933660033339900333333005c100e00030000000000ffffff00 ,
+                        0x000000005210040001021000331000008c000400210021002610020007005310 ,
+                        0x0400000001005410040000000200551006000100000000010400110000000000 ,
+                        0x0000000800457870723130303004001400000001000000000b00536f6d6d6544 ,
+                        0x657265616c571001000159100800650465040f3cd21e3d000a0069ff1ffe7e36 ,
+                        0x761100003e000e0001010100010100010001000000005810020000001d001100 ,
+                        0x0301000100000001000100010001000100341000000110020000000210100000 ,
+                        0x00000000000000e8ffcb000080820033100000a0000400010001006410080000 ,
+                        0x0001000000010003100c00030001000400040001000000331000005110080000 ,
+                        0x010200000001000d100a00000003014500730074005110080001010200000001 ,
+                        0x0051100800020102000000000051100800030102000000000006100800ffff00 ,
+                        0x0000000000331000005f1002000000341000004510020000003410000003100c ,
+                        0x00030001000400040001000000331000005110080000010200000002000d100e ,
+                        0x00000005014f0075006500730074005110080001010200000002005110080002 ,
+                        0x0102000000000051100800030102000000000006100800ffff01000100000033 ,
+                        0x1000005f1002000000341000004510020000003410000003100c000300010004 ,
+                        0x00040001000000331000005110080000010200000003000d100c00000004014e ,
+                        0x006f007200640051100800010102000000030051100800020102000000000051 ,
+                        0x100800030102000000000006100800ffff020002000000331000005f10020000 ,
+                        0x0034100000451002000000341000004410040001000000241002000200251020 ,
+                        0x000202010000000000b4ffffff86ffffff0000000000000000b1004d00f00500 ,
+                        0x00331000004f1014000200020000000000000000000000000000000000261002 ,
+                        0x0006005110080000010200000000003410000024100200030025102000020201 ,
+                        0x0000000000b4ffffff86ffffff0000000000000000b1004d00f0050000331000 ,
+                        0x004f101400020002000000000000000000000000000000000026100200050051 ,
+                        0x10080000010200000000003410000046100200010041101200000099000000d0 ,
+                        0x0300006f0e0000dc0a0000331000004f1014000200020099000000d00300006f ,
+                        0x0e0000dc0a00001d101200000000000000000000000000000000000000331000 ,
+                        0x0020100800010001000100010062101200000000000100000001000000000000 ,
+                        0x00ef001e101e0002000301000000000000000000000000000000000000000023 ,
+                        0x004d000000341000001d10120001000000000000000000000000000000000033 ,
+                        0x1000001f102a0000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000001f011e101e000200030100000000000000 ,
+                        0x0000000000000000000000000023004d00000021100200010007100c00000000 ,
+                        0x000000000009004d003410000014101400000000000000000000000000000000 ,
+                        0x0000000000331000001710060000009600000022100a0000000000000000000f ,
+                        0x0034100000341000002510200002020100000000007904000049000000ae0600 ,
+                        0x003102000081004d0000000000331000004f1014000200020000000000000000 ,
+                        0x0070000000170000002610020003005110080000010200000000000d102a0000 ,
+                        0x0013015400610062006c00650054006500730074004200610073006500460069 ,
+                        0x0065006c006400730027100600010000000000341000003410000000020e0000 ,
+                        0x000000000000000000000000000a000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000001f011e101e000200030100000000 ,
+                        0x0000000000000000000000000000000023004d00000021100200010007100c00 ,
+                        0x000000000000000009004d003410000014101400000000000000000000000000 ,
+                        0x0000000000000000331000001710060000009600000022100a00000000000000 ,
+                        0x00000f0034100000341000002510200002020100000000007904000049000000 ,
+                        0xae0600003102000081004d0000000000331000004f1014000200020000000000 ,
+                        0x0000000070000000170000002610020007005110080000010200000000000d10 ,
+                        0x2a00000013015400610062006c00650054006500730074004200610073006500 ,
+                        0x4600690065006c00640073002710060001000000000034100000341000000002 ,
+                        0x0e0000000000040000000000030000000a000000000000000000000000000000 ,
+                        0x0000000001000002000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000002243616c6962726900000000000000000000000000 ,
+                        0x000000000000000000000000040000002d0100001c000000fb02100007000000 ,
+                        0x0000bc02000000000102022253797374656d0077c8173c00d8f223007e07cf77 ,
+                        0x4091d27728113d00e4f22300040000002d010100040000002d01000004000000 ,
+                        0x2d010100010000000200000036000000feffffff05000000feffffff07000000 ,
+                        0x08000000090000000a0000000b0000000c0000000d0000000e0000000f000000 ,
+                        0x1000000011000000120000001300000014000000150000001600000017000000 ,
+                        0x18000000190000001a0000001b0000001c0000001d0000001e0000001f000000 ,
+                        0x2000000021000000220000002300000024000000250000002600000027000000 ,
+                        0x28000000290000002a0000002b0000002c0000002d0000002e0000002f000000 ,
+                        0x3000000031000000320000003300000034000000fefffffffeffffff37000000 ,
+                        0x38000000390000003a0000003b0000003c0000003d0000003e0000003f000000 ,
+                        0x4000000041000000420000004300000044000000450000004600000047000000 ,
+                        0x48000000490000004a0000004b0000004c0000004d0000004e0000004f000000 ,
+                        0x5000000051000000520000005300000054000000550000005600000057000000 ,
+                        0x58000000590000005a0000005b0000005c0000005d0000005e0000005f000000 ,
+                        0x6000000061000000620000006300000064000000650000006600000067000000 ,
+                        0x68000000feffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff03004100630063006500730073004f0062006a005300690074006500 ,
+                        0x4400610074006100000000000000000000000000000000000000000000000000 ,
+                        0x0000000026000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000300000038000000 ,
+                        0x0000000002004f006c0065005000720065007300300030003000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000180002010100000004000000ffffffff000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000720d0000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000ffffffff030000000400000001000000ffffffff0000000000000000 ,
+                        0x1d1c0000fc110000300d00000100090000039806000008002400000000000400 ,
+                        0x000003010800050000000b0200000000050000000c02af001101050000000902 ,
+                        0x00000000050000000102ffffff000400000004010d0004000000020102000300 ,
+                        0x00001e00040000002701ffff030000001e00040000002701ffff030000001e00 ,
+                        0x050000000102ffffff00050000000902000000001c000000fb02f3ff00000000 ,
+                        0x0000bc0238000000000000000100000000000000000000000000000000000000 ,
+                        0x0000000038000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000100feff030a0000ffffffff0308020000000000c000000000000046 ,
+                        0x1a000000477261706869717565204d6963726f736f6674204772617068000700 ,
+                        0x000047426966663500100000004d5347726170682e43686172742e3800f439b2 ,
+                        0x71000000000000000000000000005c0020002200ac2022003b005b0052006500 ,
+                        0x64005d0009081000800605006732cd07c18001000606000042000200b0042200 ,
+                        0x020000001e043300050017000123002c002300230030005c0020002200ac2022 ,
+                        0x003b005c002d0023002c002300230030005c0020002200ac2022001e043d0006 ,
+                        0x001c000123002c002300230030005c0020002200ac2022003b005b0052006500 ,
+                        0x64005d005c002d0023002c002300230030005c0020002200ac2022001e043f00 ,
+                        0x07001d000123002c002300230030002e00300030005c0020002200ac2022003b ,
+                        0x005c002d0023002c002300230030002e00300030005c0020002200ac2022001e ,
+                        0x044900080022000123002c002300230030002e00300030005c0020002200ac20 ,
+                        0x22003b005b005200650064005d005c002d0023002c002300230030002e003000 ,
+                        0x30005c0020002200ac2022001e0471002a003600015f002d002a00200023002c ,
+                        0x002300230030005c0020002200ac2022005f002d003b005c002d002a00200023 ,
+                        0x002c002300230030005c0020002200ac2022005f002d003b005f002d002a0020 ,
+                        0x0022002d0022005c0020002200ac2022005f002d003b005f002d0040005f002d ,
+                        0x001e046b0029003300015f002d002a00200023002c002300230030005c002000 ,
+                        0x5f00ac205f002d003b005c002d002a00200023002c002300230030005c002000 ,
+                        0x5f00ac205f002d003b005f002d002a00200022002d0022005c0020005f00ac20 ,
+                        0x5f002d003b005f002d0040005f002d001e0481002c003e00015f002d002a0020 ,
+                        0x0023002c002300230030002e00300030005c0020002200ac2022005f002d003b ,
+                        0x005c002d002a00200023002c002300230030002e00300030005c0020002200ac ,
+                        0x2022005f002d003b005f002d002a00200022002d0022003f003f005c00200022 ,
+                        0x00ac2022005f002d003b005f002d0040005f002d001e047b002b003b00015f00 ,
+                        0x2d002a00200023002c002300230030002e00300030005c0020005f00ac205f00 ,
+                        0x2d003b005c002d002a00200023002c002300230030002e00300030005c002000 ,
+                        0x5f00ac205f002d003b005f002d002a00200022002d0022003f003f005c002000 ,
+                        0x5f00ac205f002d003b005f002d0040005f002d0031001e00a0000100ff7fbc02 ,
+                        0x0000000000c90701430061006c00690062007200690031001e00a0000100ff7f ,
+                        0xbc020000000000c90701430061006c00690062007200690031001e00c3000100 ,
+                        0xff7fbc020000000000c90701430061006c00690062007200690031001e00a000 ,
+                        0x0100ff7fbc020000000000c90701430061006c00690062007200690031001e00 ,
+                        0xa0000100ff7fbc020000000000c90701430061006c0069006200720069003100 ,
+                        0x1e00c8000100ff7fbc020000000000c90701430061006c006900620072006900 ,
+                        0x31001e00c8000100ff7fbc020000000200c90701430061006c00690062007200 ,
+                        0x69003d0012003408ea061c11a80c000000200023002c00238500080024040000 ,
+                        0x000200000a00000009081000800600806732cd07c18001000606000060100a00 ,
+                        0x4a10aa0aa0000000030060100a004a10aa0aa0000100050060100a005a0f9c09 ,
+                        0xc80000000700ac02020038009200e200380000000000ffffff00ff00000000ff ,
+                        0x00000000ff00ffff0000ff00ff0000ffff008000000000800000000080008080 ,
+                        0x00008000800000808000c0c0c000808080009999ff0099336600ffffcc00ccff ,
+                        0xff0066006600ff8080000066cc00ccccff0000008000ff00ff00ffff000000ff ,
+                        0xff008000800080000000008080000000ff0000ccff00ccffff00ccffcc00ffff ,
+                        0x990099ccff00ff99cc00cc99ff00ffcc99003366ff0033cccc0099cc0000ffcc ,
+                        0x0000ff990000ff66000066669900969696000033660033996600003300003333 ,
+                        0x0000993300009933660033339900333333005c100e00030000000000ffffff00 ,
+                        0x000000005210040001021000331000008c000400210021002610020006005310 ,
+                        0x0400000004005410040000000500551006000100000000010400130000000100 ,
+                        0x0000000a0031657220207472696d2e0400120000000200000000090032652020 ,
+                        0x7472696d2e04001200000003000000000900336520207472696d2e0400120000 ,
+                        0x0004000000000900346520207472696d2e04000c000100000000000003004573 ,
+                        0x7403000f0001000100000000666666666666344003000f000100020000000066 ,
+                        0x66666666663b4003000f0001000300000000000000000080564003000f000100 ,
+                        0x0400000000666666666666344004000e000200000000000005004f7565737403 ,
+                        0x000f00020001000000009a99999999993e4003000f0002000200000000cdcccc ,
+                        0xcccc4c434003000f0002000300000000cdcccccccc4c414003000f0002000400 ,
+                        0x0000009a99999999993f4004000d000300000000000004004e6f726403000f00 ,
+                        0x030001000000003333333333f3464003000f0003000200000000333333333373 ,
+                        0x474003000f0003000300000000000000000080464003000f0003000400000000 ,
+                        0x3333333333f34540571001000159100800650465040f3cd21e3d000a0069ff1f ,
+                        0xfe7e36761100003e000e0001010100010100010001000000005810020000001d ,
+                        0x0011000301000100000001000100010001000100341000000110020000000210 ,
+                        0x10000000000000000000e8ffcb000080820033100000a0000400010001006410 ,
+                        0x0800000001000000010003100c00030001000400040001000000331000005110 ,
+                        0x080000010200000001000d100a00000003014500730074005110080001010200 ,
+                        0x0000010051100800020102000000000051100800030102000000000006100800 ,
+                        0xffff000000000000331000005f10020000003410000045100200000034100000 ,
+                        0x03100c0003000100040004000100000033100000511008000001020000000200 ,
+                        0x0d100e00000005014f0075006500730074005110080001010200000002005110 ,
+                        0x0800020102000000000051100800030102000000000006100800ffff01000100 ,
+                        0x0000331000005f1002000000341000004510020000003410000003100c000300 ,
+                        0x01000400040001000000331000005110080000010200000003000d100c000000 ,
+                        0x04014e006f007200640051100800010102000000030051100800020102000000 ,
+                        0x000051100800030102000000000006100800ffff020002000000331000005f10 ,
+                        0x0200000034100000451002000000341000004410040009000000241002000200 ,
+                        0x251020000202010000000000b4ffffff86ffffff0000000000000000b1004d00 ,
+                        0xf0030000331000004f1014000200020000000000000000000000000000000000 ,
+                        0x2610020003005110080000010200000000003410000024100200030025102000 ,
+                        0x0202010000000000b4ffffff86ffffff0000000000000000b1004d00f0030000 ,
+                        0x331000004f101400020002000000000000000000000000000000000026100200 ,
+                        0x0500511008000001020000000000341000004610020001004110120000004402 ,
+                        0x0000c4040000c30c000056070000331000004f1014000200020099000000d003 ,
+                        0x00006f0e0000dc0a00001d101200000000000000000000000000000000000000 ,
+                        0x3310000020100800010001000100010062101200000000000100000001000000 ,
+                        0x00000000ef001e101e0002000301000000000000000000000000000000000000 ,
+                        0x000023004d000000341000001d10120001000000000000000000000000000000 ,
+                        0x0000331000001f102a0000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000001f011e101e000200030100000000 ,
+                        0x0000000000000000000000000000000023004d00000021100200010007100c00 ,
+                        0x000000000000000009004d003410000014101400000000000000000000000000 ,
+                        0x0000000000000000331000001710060000009600000022100a00000000000000 ,
+                        0x00000f0034100000341000002510200002020100000000007904000049000000 ,
+                        0xae0600003102000081004d0000000000331000004f1014000200020000000000 ,
+                        0x0000000070000000170000002610020007005110080000010200000000000d10 ,
+                        0x2a00000013015400610062006c00650054006500730074004200610073006500 ,
+                        0x4600690065006c00640073002710060001000000000034100000341000000002 ,
+                        0x0e0000000000040000000000030000000a000000000000000000000000000000 ,
+                        0x0000000001000002000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000002243616c6962726900000000000000000000000000 ,
+                        0x000000000000000000000000040000002d0100001c000000fb02100007000000 ,
+                        0x0000bc02000000000102022253797374656d0077308d4200e4f021007e07cf77 ,
+                        0x4091d27788534500f0f02100040000002d010100040000002d0100001c000000 ,
+                        0xfb02f5ff000000000000bc02000000000000002243616c696272690000000000 ,
+                        0x0000000000000000000000000000000000000000040000002d01020004000000 ,
+                        0x2d010100040000002d010200040000002d010000040000002d01010004000000 ,
+                        0x2d010000040000002d010100040000002701ffff030000001e00040000002d01 ,
+                        0x0000050000000102ffffff0005000000090200000000070000001604ae001001 ,
+                        0x00000000040000002d010100040000002701ffff030000001e00040000002d01 ,
+                        0x0000050000000102ffffff0005000000090200000000070000001604ae001001 ,
+                        0x0000000008000000fa0200000100000000000000040000002d01030008000000 ,
+                        0xfa0200000000000000000000040000002d010400040000002d01010004000000 ,
+                        0x2701ffff030000001e00040000002d010000040000002d010300050000000102 ,
+                        0xffffff00050000000902000000000700000016048900020132002a0005000000 ,
+                        0x140275002b000400000004010d00040000000201010005000000130275000101 ,
+                        0x05000000140265002b000500000013026500010105000000140256002b000500 ,
+                        0x000013025600010105000000140246002b000500000013024600010105000000 ,
+                        0x140237002b0005000000130237000101040000002d010400040000002d010100 ,
+                        0x040000002701ffff030000001e00040000002d010000040000002d0103000500 ,
+                        0x00000102ffffff0005000000090200000000070000001604ae00100100000000 ,
+                        0x040000002d010400040000002d010100040000002701ffff030000001e000400 ,
+                        0x00002d010000040000002d010300050000000102ffffff000500000009020000 ,
+                        0x0000070000001604aa000c0104000400040000002d010400040000002d010100 ,
+                        0x040000002701ffff030000001e00040000002d010000040000002d0103000500 ,
+                        0x00000102ffffff00050000000902000000000700000016048600030136002a00 ,
+                        0x040000002d010400040000002d010100040000002701ffff030000001e000400 ,
+                        0x00002d010000040000002d010300050000000102ffffff000500000009020000 ,
+                        0x00000700000016048500040134002a0008000000fa0200000100000000000000 ,
+                        0x040000002d01050004000000f001030007000000fc0200009999ff0000000400 ,
+                        0x00002d010300050000000902ffffff000500000001029999ff00040000000401 ,
+                        0x0d0004000000020102000e000000240305003400740040007400400084003400 ,
+                        0x8400340074000e000000240305006a006f0076006f00760084006a0084006a00 ,
+                        0x6f000e000000240305009f003f00ab003f00ab0084009f0084009f003f000e00 ,
+                        0x000024030500d5007400e1007400e1008400d5008400d500740007000000fc02 ,
+                        0x0000993366000000040000002d01060004000000f00103000500000001029933 ,
+                        0x66000e0000002403050040006c004c006c004c0084004000840040006c000e00 ,
+                        0x00002403050076006600810066008100840076008400760066000e0000002403 ,
+                        0x0500ab006900b7006900b7008400ab008400ab0069000e00000024030500e100 ,
+                        0x6c00ec006c00ec008400e1008400e1006c0007000000fc020000ffffcc000000 ,
+                        0x040000002d01030004000000f0010600050000000102ffffcc000e0000002403 ,
+                        0x05004c00610058006100580084004c0084004c0061000e000000240305008100 ,
+                        0x60008d0060008d00840081008400810060000e00000024030500b7006100c300 ,
+                        0x6100c3008400b7008400b70061000e00000024030500ec006200f8006200f800 ,
+                        0x8400ec008400ec006200040000002d01040007000000fc020000ffffff000000 ,
+                        0x040000002d010600040000002d010100040000002701ffff030000001e000400 ,
+                        0x00002d010000040000002d010300040000002d010500050000000102ffffcc00 ,
+                        0x050000000902ffffff000700000016048600030136002a00040000002d010400 ,
+                        0x040000002d010600040000002d010100040000002701ffff030000001e000400 ,
+                        0x00002d010000040000002d010300040000002d010500050000000102ffffcc00 ,
+                        0x050000000902ffffff00070000001604ae0010010000000008000000fa020000 ,
+                        0x0100000000000000040000002d01070004000000f00105000500000014023700 ,
+                        0x2b00050000000102ffffff000400000004010d00040000000201010005000000 ,
+                        0x130284002b00040000002d010200050000001402840028000500000013028400 ,
+                        0x2b000500000014027500280005000000130275002b0005000000140265002800 ,
+                        0x05000000130265002b000500000014025600280005000000130256002b000500 ,
+                        0x000014024600280005000000130246002b000500000014023700280005000000 ,
+                        0x130237002b0005000000140284002b0005000000130284000101050000001402 ,
+                        0x87002b0005000000130284002b00050000001402870061000500000013028400 ,
+                        0x610005000000140287009600050000001302840096000500000014028700cc00 ,
+                        0x0500000013028400cc0005000000140287000101050000001302840001010400 ,
+                        0x00002d010000040000002d010100040000002d010000040000002d0104000400 ,
+                        0x00002d010600040000002d010100040000002701ffff030000001e0004000000 ,
+                        0x2d010000040000002d010300040000002d010700050000000102ffffff000500 ,
+                        0x00000902ffffff000700000016042000c10007004f0005000000090200000000 ,
+                        0x0400000004010d00040000000201010024000000320a0c005200130000005461 ,
+                        0x626c6554657374426173654669656c6473000600060007000300070006000700 ,
+                        0x050005000700060005000700060003000700030007000500040000002d010100 ,
+                        0x040000002d010000040000002d010400040000002d010600040000002d010100 ,
+                        0x040000002701ffff030000001e00040000002d010000040000002d0103000400 ,
+                        0x00002d010700050000000102ffffff0005000000090200000000070000001604 ,
+                        0xae00100100000000040000002d010400040000002d010600040000002d010100 ,
+                        0x040000002701ffff030000001e00040000002d010000040000002d0103000400 ,
+                        0x00002d010700050000000102ffffff0005000000090200000000070000001604 ,
+                        0xae00100100000000040000002d010200040000002d010400040000002d010600 ,
+                        0x040000002d010100040000002701ffff030000001e00040000002d0102000400 ,
+                        0x00002d010300040000002d010700050000000102ffffff000500000009020000 ,
+                        0x0000070000001604ae001001000000000400000004010d000400000002010100 ,
+                        0x09000000320a7e001d0001000000300006000a000000320a6f00170002000000 ,
+                        0x3230060006000a000000320a5f001700020000003430060006000a000000320a ,
+                        0x50001700020000003630060006000a000000320a400017000200000038300600 ,
+                        0x06000c000000320a310011000300000031303000060006000600040000002d01 ,
+                        0x0400040000002d010600040000002d010100040000002701ffff030000001e00 ,
+                        0x040000002d010200040000002d010300040000002d010700050000000102ffff ,
+                        0xff0005000000090200000000070000001604ae00100100000000040000002d01 ,
+                        0x0400040000002d010600040000002d010100040000002701ffff030000001e00 ,
+                        0x040000002d010200040000002d010300040000002d010700050000000102ffff ,
+                        0xff0005000000090200000000070000001604ae00100100000000040000000401 ,
+                        0x0d00040000000201010016000000320a8e0031000a0000003165722020747269 ,
+                        0x6d2e060006000400020002000400040003000900030015000000320a8e006800 ,
+                        0x09000000326520207472696d2e00060006000200020004000400030009000300 ,
+                        0x15000000320a8e009e0009000000336520207472696d2e000600060002000200 ,
+                        0x0400040003000900030015000000320a8e00d30009000000346520207472696d ,
+                        0x2e00060006000200020004000400030009000300040000002d01040004000000 ,
+                        0x2d010600040000002d010100040000002701ffff030000001e00040000002d01 ,
+                        0x0200040000002d010300040000002d010700050000000102ffffff0005000000 ,
+                        0x090200000000070000001604ae0010010000000007000000fc02000000000000 ,
+                        0x0000040000002d01050004000000f0010300040000002d01040004000000f001 ,
+                        0x0700040000002d010100040000002701ffff030000001e00050000000102ffff ,
+                        0xff0005000000090200000000040000002701ffff030000001e00050000000102 ,
+                        0xffffff0005000000090200000000040000002701ffff03000000000000000000 ,
+                        0x00000000000000000000000000004e414e490000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000040000002d010000040000002d010100040000002d01000004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604ae0010010000000004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604ae0010010000000004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604aa000c010400040004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604a10003012c000e0004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604a20004012a000c0004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604a10003012c000e0004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604ae0010010000000004000000 ,
+                        0x2d010100040000002d010000040000002d010100040000002701ffff03000000 ,
+                        0x1e00040000002d010000050000000102ffffff00050000000902000000000700 ,
+                        0x000016042000c10007004f000400000004010d00040000000201010024000000 ,
+                        0x320a0c005200130000005461626c6554657374426173654669656c6473000600 ,
+                        0x0600070003000700060007000500050007000600050007000600030007000300 ,
+                        0x07000500040000002d010100040000002d010000040000002d01010004000000 ,
+                        0x2701ffff030000001e00040000002d010000050000000102ffffff0005000000 ,
+                        0x090200000000070000001604ae00100100000000040000002d01010004000000 ,
+                        0x2701ffff030000001e00050000000102ffffff00050000000902000000000400 ,
+                        0x00002701ffff030000001e00050000000102ffffff0005000000090200000000 ,
+                        0x040000002701ffff030000000000000000000000000000000000000000000000 ,
+                        0x4e414e490000000000000902ffffff000500000001029999ff00040000000401 ,
+                        0x0d0004000000020102000e000000240305003400740040007400400084003400 ,
+                        0x8400340074000e000000240305006a006f0076006f00760084006a0084006a00 ,
+                        0x6f000e000000240305009f003f00ab003f00ab0084009f0084009f003f000e00 ,
+                        0x000024030500d5007400e1007400e1008400d5008400d500740007000000fc02 ,
+                        0x0000993366000000040000002d01060004000000f00103000500000001029933 ,
+                        0x66000e0000000000
+                    End
+                    RowSourceType ="Table/Query"
+                    RowSource ="SELECT Null,Sum([real]) AS [SommeDereal] FROM [TableTestBaseFields];"
+                    LinkChildFields ="auto_number"
+                    LinkMasterFields ="auto_number"
+                    Class ="MSGraph.Chart.8"
+                    OLEClass ="Microsoft Graph Chart"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2551
+                    LayoutCachedTop =5669
+                    LayoutCachedWidth =4592
+                    LayoutCachedHeight =7483
+                End
+                Begin Line
+                    OverlapFlags =85
+                    Left =6349
+                    Top =737
+                    Width =0
+                    Height =7370
+                    Name ="Trait24"
+                    GridlineColor =10921638
+                    LayoutCachedLeft =6349
+                    LayoutCachedTop =737
+                    LayoutCachedWidth =6349
+                    LayoutCachedHeight =8107
+                End
+                Begin Image
+                    Left =566
+                    Top =7483
+                    Width =1191
+                    Height =1077
+                    BorderColor =10921638
+                    Name ="Image25"
+                    Picture ="logo.png"
+                    GridlineColor =10921638
+                    ImageData = Begin
+                        0x89504e470d0a1a0a0000000d4948445200000200000002000803000000c3a624 ,
+                        0xc80000000467414d410000b18f0bfc6105000000206348524d00007a26000080 ,
+                        0x840000fa00000080e8000075300000ea6000003a98000017709cba513c000002 ,
+                        0xf1504c5445000000006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df000000062c5d3e0000000f97452 ,
+                        0x4e53007408e46504da5701ce48c13ab32dfda422fa9619f58711ef790ae76a05 ,
+                        0xdd5c02d24dc63fb732fea926fb9a1cf78c13f17e0cea6f07e16103d652ca44bc ,
+                        0x36ae2afc9f1ff99116f3820eec317d60436edb704cbb2b99f61278e356c534a3 ,
+                        0xe9cf3ead200bd8b828f410e0c2a0f8065dcc3baa1d88ed67d545b4259271eb24 ,
+                        0xd9239d5190219b1e97941b188e17158a1485f28381f00f7f7c0d7a592793626b ,
+                        0xa675b0b9c32f387342df4b1a86d4cba177a2cd404fa5d05ba750e8af3c53c955 ,
+                        0x80ab5a2e2cde096db68bb263335edc66d16c9e3568c85f8dbf84499c41547bb5 ,
+                        0xee474669c4b1be4e293dac397258c79564bd98bae6373076d3d78f68b7076800 ,
+                        0x000001624b47440088051d48000000097048597300000dd700000dd70142289b ,
+                        0x780000000774494d4507e00b0709192891f382e70000159f4944415478daeddd ,
+                        0x795c5675bec0f12384e242e4868aa26822498a5b1ab813281a6a2ea1a6a6566e ,
+                        0x9826b9b5a88968a3b9a4e6924e26da58a335deca5b8ee6945a5663352ed9e6d4 ,
+                        0x4cb77bbb75ab516b9a69e6fc770111e19c6739fbef39e77c3e7ff92a79ceeffc ,
+                        0x7eef041eced724898888888888888888887c508d28d12b207145d590e4e86b62 ,
+                        0x442f83c414734db42cc9b25cb356ace8a590f3c5d6aa597af8650064b9761dd1 ,
+                        0xab21a7ab53bbfce82f0390e5baf5442f889cac5edd8a83bf024096e3ae15bd28 ,
+                        0x72aa6be32a8ffd2a0039febafaa217464e54ffba78391000596ed0b091e8c591 ,
+                        0xdd356ad8a0ea99570320cb8d139a885e20d9599384c6d54f5c0140969b364b14 ,
+                        0xbd48b2abc4664d95e7ad0220cbcd5b24895e28d951528be6ead30e0040965bb6 ,
+                        0x4a16bd58b2bae4562d039d754000b2dcba8de8f592b5b5691df8a4830090e5eb ,
+                        0xdb8a5e325957dbeb839d735000b29cd24ef4b2c99adaa5043fe51000e4d41bda ,
+                        0x8b5e3a99affd0da9b23100b29c766307d1cb277375b8312de411870620cb1dd3 ,
+                        0x3b89be05325ea7f48e610e381c0059eedca5abe8db206375edd239ecf1860720 ,
+                        0xcbdd6eea2efa56487fdd6feaa6e170b50090e51e376788be1dd257c6cd3d341d ,
+                        0xad3600b29cd953f41d919e7a666a3c58ad0064b9576fd137455aebdd4bf3b16a ,
+                        0x0720cb7dfa8abe31d252df3e3a0e550f0059eed75ff4cd51b8faf7d375a4fa00 ,
+                        0xc859b7648bbe410a55f62d59fa4e54270059ce193050f44d52b0060ec8d17b9e ,
+                        0xba01c872eea0c1a26f9402357850aefed3340040966f65a030f28aaa71ab91b3 ,
+                        0x34044066a030d22a1bf3339441000c14465497c7fc9c05c04061e45431e6e734 ,
+                        0x00060a23a3ca313fe701305028be2a637e2200305028b66a637e420030502830 ,
+                        0xc5989f20000c140a4a35e6270c000385020a30e627100003850e1770cc4f2800 ,
+                        0x060a1d2cc8989f60000c143a55b0313fe100182874a2e0637e1100409653f244 ,
+                        0x6f90b7cb4b317f46b60260a0d0ce428ff9450600060a6d2bdc985fa40060a0d0 ,
+                        0x96c28ff9450e0059ee3c8481424beb3a24fc985f240160a0d0d2b48df9451600 ,
+                        0x59ee319481424bca18aa6dcc2fd2003050684d3d33ed3c235b01c872af61a2b7 ,
+                        0xcfed0dd33ee667398021b70d377f01060acda46bcc2f48c36f1b6210c0082976 ,
+                        0xe428f30b60a0d0683ac7fc02366a64ac34c23080d26ecf1f6d760d0c141a4af7 ,
+                        0x989fbad1f9b797bd922900923466ec1d6617c240a1ee0c8cf929bb63ec98cbaf ,
+                        0x65128024c58c1b6f76310c14eacad0985ff5c68fab1cde320da0b409779a7dfe ,
+                        0x908142cd191cf3ab52833b2754793d2b004852a341134dae8a81424d191ef3ab ,
+                        0x6ce2a0ea0f6a5b034092ba0f9d6472650c1486cdc4985f4593862adf84b70a40 ,
+                        0x6993ef32f995290385a13333e65756d65d93d52f6a210049ba3bdde4e3c80c14 ,
+                        0x06cfdc989f2c374dbf3bd0cb5a0a4092ee6931c5dc3219280c9cd931bf292dee ,
+                        0x09fcc2160328fd3c5567aaa9479318280c90c931bfd4a975827e7d653980d2a6 ,
+                        0x359c6e66b90c142a3239e637bde1b4102f6e0700499a51a3c0cc921928ac92c9 ,
+                        0x31bf821a3342bebc3d002429a3e74c33cb66a0b02293637e337b867bf0c62e00 ,
+                        0xa5e5dd3bcbc4d2192894cc8ef9cdba57c320868d002469601733ebf7fd40a1b9 ,
+                        0x31bfe65d34fd90cd56009234fbbe3926eec1df0385a6c6fce6dc375bdb556c06 ,
+                        0x505ae1fd264616c6fb76a0b0ad891fb2a6dd5fa8f93af60390a4b9f3e61bbf19 ,
+                        0x7f0e149a19f39b3f6fae8e2b3901a0f46bd9050b0ddf8f0f070acd8cf92d5ca0 ,
+                        0xeffb27670094f6c083866fca67038526c6fc521f7c40efd51c0320490f3d6cf8 ,
+                        0x49161f0d149a18f3cb7df821fdd7731080240d5eb4d8e8cdf964a0d0c498dfe2 ,
+                        0x45861eac731480244d357a7bbe18283435e637d5d835dd03c0f3038526c7fc7c ,
+                        0x0040963397883e25fb5a92696e6f7c0140f6f04363754c6e0d005c9ecf003c62 ,
+                        0xec7b5d00284a7bc4a500462c2d3242a012c0b2628fb4cc0c80b4a2a59507e836 ,
+                        0x0092b47c85fe279d2a01141bd8ae88acd83880062b96573940f70190a4ec7cbd ,
+                        0x438e00a82c273fbbda01ba1180243dfa2b7d04005051ceaf1e551ca03b014852 ,
+                        0x87957a1e1c034079b35656fe78ccf5002469d5c3da7ffc0180d23a3ebc2ac001 ,
+                        0xba178024352ad6fa378d00401e5d5c6d6cc2130024e9b1d5da08f81ec0e8d58f ,
+                        0x053940770390a435e95ae61f7c0ea071fa9aa007e8760092b4765df889325f03 ,
+                        0x98be6e6d8803743f00497a3c21dc33433e06909bf078c803f4020049eab47e43 ,
+                        0xc85df02d800deb833c14e7310092346663a887a27c0aa0f3c631610fd02b0024 ,
+                        0xa9c9139b825ed69700363d116258da83002469f3966023b13e04d074cb664d07 ,
+                        0xe825009234786be06122df0198bf35ccb3be1e0520494f6e0bf41722fa0cc0ad ,
+                        0xdb9ed47c805e0320495dc7aa2feb2f006335cc4278188014e0fafe02a0eb0001 ,
+                        0xe0ce000000000000000000000094014015000000000000000000008037020000 ,
+                        0x0000000000000000500600550000000000000000000000de0800000000000000 ,
+                        0x0000004019005401000000000000000000007823000000000000000000000065 ,
+                        0x00500500000000000000000000e08d0000000000000000000000940140150000 ,
+                        0x0000000000000000803702000000000000000000005006005500000000000000 ,
+                        0x00000000de080000000000000000000040190054010000000000000000000078 ,
+                        0x2300000000000000000000006500500500000000000000000000e08ddc0aa0e9 ,
+                        0xa875db7f9d0c00d3090490fcebedeb46350db1b65000ca9b3efea91d79b30160 ,
+                        0x26310066e7ed786afcf4706b0b0ba0bc9cda454fd7bb070006731cc03df59e2e ,
+                        0xaa9da3696dda0094173f656749ef4e00d09f93003af52ed939255efbda7400b8 ,
+                        0x5c8f5d5dda740080ae1c02d0a14d975d3df4ae4d3780f2baed9e57eba1580068 ,
+                        0xcc7600b10fd59ab7bb9ba1b5190350de8667060cfd4d1200c2672780a4df0c1d ,
+                        0xf0cc06e36b3301a0bc597356b4d893088090d90420714f8b157366995c9b5900 ,
+                        0xe5c5675ef7ec734d00102ceb013479eed9eb32757ca9173c4b005ceeb7fd86ec ,
+                        0xdd078000590a60dfde21fd7e6bddda2c0450dec494e75fb8f26b005464198017 ,
+                        0x9e4f9968f1daac06503500546419001b0a05e096927b7fd7d8c46b03a0229100 ,
+                        0x1acfd95f724b887f1feea781b1cb47fec78b2f8d3674edf971cd5e0efbfeb1fa ,
+                        0xc30050b57b5e6e1637dfd0553b4eba6e6c9bfab192153f0e4e5e7260db7fbed2 ,
+                        0xd1c02ad25e5af9ea72001803b0fcd5952fa519b85e4eeb835b7fff50b2a63f41 ,
+                        0xf43c0f90d17ed9d683adb5fd8ca15a870e97bc1605003d00a25e2b397c48ff95 ,
+                        0x1a2cbc7fcb9169313a3e85e87f202466da912e37bcd040f7d2fe505c6b2e0054 ,
+                        0x05d892b9b58affa07b7fb3a6dc3568dced49814ecc96278292fabffec6d14cbd ,
+                        0x7f3e451f5db447f16c81fa37f919c0ec3d8b8e46eb7cf5f8e1bbd61f3bde3dc4 ,
+                        0x61d9f748d8ec376b0dba6b4a96aef5ce1a9f7ea41100ae7475271a1d491fafef ,
+                        0x8dddd4b7e2e6dd977722ec31d9fd4c60f7e3c7d6ef1aaeeb8dc982836f4f4802 ,
+                        0x805c012069c2db070b74bd648f77de1d3a41eb233ace3c141a95d72ae18f2d75 ,
+                        0x30185d77de8181001878605e5d3ddf6647ef5e7d72cf93ba8ec6c9a78213df7b ,
+                        0xbfa69ebdf940fd8ffc05e0033d2ff4c19f0a67183814518f851bcc5f0074e5b2 ,
+                        0xb980530b0dfdc01200d58b5f78eaca2f5d0660849458eff499537abf57044065 ,
+                        0x69a7ce9cae97e8f6c9a0a8b31fde3847c7fb8700282b67ce8d1f9e8d521ca03b ,
+                        0x0194979477b2e1396d5fecfa1ec0e8730d4fe6557d4fcf0b00cacb78f3a301cf ,
+                        0xe486bb7f3f03c87d66c0476f66043d40b703282f79dab18f3fd914e2b23e05b0 ,
+                        0xe9938f8f4d4b0e7d809e00505eec9271f34605f931b7ff00cc1f356fdc92d8e0 ,
+                        0xbbe5410097cbeef9e93beacbfa0bc03b9ff6ccd67c805e035096fab2fe02a0eb ,
+                        0x0001e0ce00000000000000000000009401401500000000000000000000803702 ,
+                        0x00000000000000000000500600550000000000000000000000de080000000000 ,
+                        0x0000000000401900540100000000000000000000782300000000000000000000 ,
+                        0x006500500500000000000000000000e08d000000000000000000000094014015 ,
+                        0x0000000000000000000080370200000000000000000000500600550000000000 ,
+                        0x000000000000de08000000000000000000004019005401000000000000000000 ,
+                        0x00782300000000000000000000006500500500000000000000000000e08d0000 ,
+                        0x0000000000000000009401401500000000000000000000803702000000000000 ,
+                        0x00000000500600550000000000000000000000de080000000000000000005c6d ,
+                        0x73fdbe9fb5ba696343f565fd05a0e1c69b5a7dd6b7fe661f00c8583badf0c08e ,
+                        0x9279e70fcf5c38312df865fd05e04a691317ce3c7c7e5ec98e0385d3d6667805 ,
+                        0x40f77dc7fffcf9822f56efffcbb9e17f4dd5b85dfe0450add4bf0e3ff797fdab ,
+                        0xbf58f0f99f8fefebee5a009da71bda2e00289adef9caaf221a40ece6fa13bedc ,
+                        0x7e7acb806893db0580a0450fe8727afb7f4d583e38420074cdceeb3deeab2f56 ,
+                        0xdf1b377e4ab72cabb60b00e14b9b98f9dfff7326bdd99f4a3f47ac3ae1208013 ,
+                        0xab8ebf7ce49ab1eb8a0ecf7ca1798e3ddb0500bd8dbee3d4d747f39f7ff6e6ff ,
+                        0x2dfc66608cc500663fd6ffdb033b6a24e4ffdf27a7a2473bb15d003057e7b77e ,
+                        0xb77be7534fdcf6ea677d9736893503e0d4a8da05b9ce6e555900b0b0acc58f5c ,
+                        0x1f3727c46f9034bf943d05783fc05f00d2f4bf9ca5890110dffca5b8fc2dd7ec ,
+                        0xcd5b13abfe97fe0210bb266fef355bf2e35e6a1e2f646d4e02485d7c2aa568e3 ,
+                        0x5707ceaeaaf24e97fab7f90bc0d59dc85875f6c0571b8b524e2dd6fa96991539 ,
+                        0x006053669ffd096f1ff92e7b76a06f51d4bfdfaf00ae363bfbbb236f27ecef93 ,
+                        0xb9c9feb5d909a057faf73f4c5e9218fa7b54f58701e06a894b26fff07d7a2f1b ,
+                        0xd76627007e1c5c91653f0eb6210b01c41f9af44ed1a7a78f547a0540459601e8 ,
+                        0x75e4f4a745ef4c3a64e1d78ba601cc2af85bbf0b5b2fee6dd7e8ca57763c10a2 ,
+                        0xccf20742321ab5db7b71eb857e7f2b9865766d06016c9af2c9ce8f6bb41ad6bf ,
+                        0x897ab9005066e713414dfa0f6b55e3e39d9f4c31f805a31e00f1875e4939b3fe ,
+                        0xf4e785f543fef80100ca9c7924ec44fdc2cf4faf3f93f28aaecf10e101cc2a38 ,
+                        0x77b8e1908b23dfdb17a365b10050e7f4338131fbde1b797148c3c3e7347c8608 ,
+                        0x05e05249abdeb78fd1764d008448e043a1636eefddaae45288b5f154b003f154 ,
+                        0x30000000000000000000500600550000000000000000000000de080000000000 ,
+                        0x0000000000401900540100000000000000000000782300000000000000000000 ,
+                        0x006500500500000000000000000000e08d000000000000000000000094014015 ,
+                        0x0000000000000000000080370200000000000000000000500600550000000000 ,
+                        0x000000000000de08000000000000000000004019005401000000000000000000 ,
+                        0x00782300000000000000000000006500500500000000000000000000e08d0000 ,
+                        0x0000000000000000009401401500000000000000000000803702000000000000 ,
+                        0x00000000500600550000000000000000000000de0800000000000010a0a81fd4 ,
+                        0x97f517801fa27c0c60cf8f4d035cd65f00e4a63feef127805563a704beaccf00 ,
+                        0x943665ec2abf0188dabe3b3ed865fd074096e3776f0ff1a9c07300becbdf14e2 ,
+                        0xb27e0450daa6fceffc01a0c3b647426f974f0194f6c8b60e5e0770e2d84ff172 ,
+                        0x982a012c2bf648cb340228fd54f0d3b1131e0650b8a2b386ff5eea18b9a83b0a ,
+                        0x0ba0b4ce2b0a951fe60d0073bfa8a9e1f601505acd2fe656fb300f00486c352a ,
+                        0xec1ffd00b85afca85689573fccf5005e3bbf41eb9d03e04a1bcebf76e5c3dc0d ,
+                        0xe0d1adc375dc3600aa347ceba3e51fe6620089f75d4ad577d300a85aeaa5fb12 ,
+                        0xdd0b60d1b7457afee80740c036147dbbc8a5003a1ab85d0004a872235d06c060 ,
+                        0x00081a005c1e0000000000781a40cc03e77301102cb30072cf3f1063e0b28e01 ,
+                        0xc878eec7c5266f1100615afce373197a2feb0c80e4c9170e99bf3f79d2ab468c ,
+                        0xbba498572759b045872e4c4ed675590700c4160ef8bb05b726efee2dfa8cecae ,
+                        0xf76e2bf6e9ef030a63b55fd376003fafbec38abb6a70e771d1c7e344c7ef6c60 ,
+                        0xc56eddb1fa67ad57b417c084750556dc8fbc21bd83a6eb79a00ee946de225757 ,
+                        0xb06e82a6ebd908e01f092d2db91539fa9f9b451f8b936dfe67b435fbd632e11f ,
+                        0xe1af6617806b376a7cc6276cbf7c9424fa489c2ee9a35f2cdabc9a1baf0d732d ,
+                        0x5b007cf346a64537205ffa4cf46988e9b34b56ed60e61bdf84ba90f500da6fb5 ,
+                        0x8aaf9c75b09de8831057bb835956ede32f5bdb07bd8cc5009636b3e29bd9cb4d ,
+                        0x2fbe5bf42188edeee2e9966de6a4664b035fc44a007797ccb16cc172f36d4d44 ,
+                        0x1f80f89a6c6b6edd8ece2909f41f946500e67e7fcebab5caff3ad95df4e64746 ,
+                        0xdd4ffecbc26d3df7fd5ce505ac01b0efb6f1ba1fef0bd1cc363adecaf27ab16d ,
+                        0x665ab8b5a9e36fdb57ede52d00b0e6e9ba9a9febd750fc51cdef62f9a59f8f5a ,
+                        0xbac1759f5e73f5b5cd0258bbe06b2b17278fbeb0d4d01e79bca517465bb9cbf1 ,
+                        0x5f2f585bf1caa6008cb9f89365dfaa94d7adcbe3a2b73a527bbc4b374bb73aeb ,
+                        0xa78b63ca5ed73880194353d22c5d925cf3c31366b7c9cb9df8d0aa37572b4a4b ,
+                        0x193ac33080c37139d6ae46be7e59b2e82d8ef492975d6ff1a6e7c41d3608c0e2 ,
+                        0x5277158ade5d7754b8cbca6fb7c2e418808ef9edcd6f8d5f6a9f6f70a8266201 ,
+                        0xccdf3850f4a6baab811be77b08c05ba713cd6f89df4a3cfd964700f41aa7fb31 ,
+                        0x562a2b635c2ff703487db0ade87d74736d1fb4fbeb417b01e49ce92f7a0bdd5e ,
+                        0xff33567f2fee1c80a6098d446f9f176a94d0d4fc590800d0635157d15be795ba ,
+                        0x2eeae13a00b58f7978c0c7f9628ed5761580a99e1ff071bede66a7ae1d03d0e0 ,
+                        0x455f0cf838dff1172d1929b21940e7777d33e0e37c1dded5f277ed8a04105d32 ,
+                        0x58f42679bbc125168d14d902a0f5fbbe1bf071bea4f75b4728804b1efe9b1d22 ,
+                        0xab3a968d145907206da78f077c9cafdd4eab9ed4b206406e71b6e82df15bd9c5 ,
+                        0x66ff2e26eb00346fc6808f809a34b362a4c83c804c067c44d5fd64a670007547 ,
+                        0x32e023b0d891754502883fda57f40e505f7323452600345e595ff4cd5359f557 ,
+                        0x361600a05b974ea26f9caed4c9f848914100351768f89f5e9373452d30385264 ,
+                        0x0800033e1198c19122fd00e20fd7137daf14b87a87f57f3da81700033e119dfe ,
+                        0x91227d006e1dc4804f843770d0adb60168c9808f1b4a3cade76f6fd50ea0d7eb ,
+                        0x0cf8b8a48cd7b58f146904901ac7808fab6a1ba771a44813809ca2fea26f88f4 ,
+                        0xd6bf48d3489106004d9f67c0c795357a5ec348515800052318f0716d5d471498 ,
+                        0x04c0808fcb0b3b521412c0d461a2d74fe61b36d5188006fbc3fd7f08c8255dbb ,
+                        0xbf816e000cf878aae02345810144d760c0c7630dae11ad1900033e9e2cf04891 ,
+                        0x1a409f2f45af94eceacb3ee100a4edcc13bd48b2b33ce548513500b9ff66c0c7 ,
+                        0xf365ff3b370880e6cd66885e1c39d18caa234595003277cc16bd3072aad93b32 ,
+                        0x150018f0f1599523456500b2ee3f2b7a3de47c67efcf2a07c0808f6f2b1b2992 ,
+                        0x8630e0e3e33a0d11bd0222222222222222222272a2ff0752526cbafcdcceba00 ,
+                        0x00002574455874646174653a63726561746500323031362d31312d3037543039 ,
+                        0x3a32353a34302b30313a303042d257d60000002574455874646174653a6d6f64 ,
+                        0x69667900323031362d31312d30375430393a32353a34302b30313a3030338fef ,
+                        0x6a0000001974455874536f667477617265007777772e696e6b73636170652e6f ,
+                        0x72679bee3c1a0000000049454e44ae426082
+                    End
+
+                    LayoutCachedLeft =566
+                    LayoutCachedTop =7483
+                    LayoutCachedWidth =1757
+                    LayoutCachedHeight =8560
+                    TabIndex =6
+                End
+                Begin Subform
+                    OverlapFlags =215
+                    Left =14796
+                    Top =1543
+                    Width =5145
+                    Height =2430
+                    TabIndex =5
+                    BorderColor =10921638
+                    Name ="FormTestSimple"
+                    SourceObject ="Form.FormTestSimple"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =14796
+                    LayoutCachedTop =1543
+                    LayoutCachedWidth =19941
+                    LayoutCachedHeight =3973
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =14796
+                            Top =1303
+                            Width =1590
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="FormTestSimpleÉtiquette"
+                            Caption ="FormTestSimple"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =14796
+                            LayoutCachedTop =1303
+                            LayoutCachedWidth =16386
+                            LayoutCachedHeight =1618
+                        End
+                    End
+                End
+            End
+        End
+        Begin PageFooter
+            DisplayWhen =1
+            Height =1134
+            Name ="ZonePiedPage"
+            AutoHeight =1
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+        End
+        Begin FormFooter
+            Height =1134
+            Name ="PiedFormulaire"
+            AutoHeight =1
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+        End
+    End
+End

+ 83 - 0
tests/results/source1/forms/FormTestDialog.bas

@@ -0,0 +1,83 @@
+Version =20
+VersionRequired =20
+Begin Form
+    PopUp = NotDefault
+    Modal = NotDefault
+    RecordSelectors = NotDefault
+    MaxButton = NotDefault
+    MinButton = NotDefault
+    AutoCenter = NotDefault
+    NavigationButtons = NotDefault
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    ScrollBars =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =4648
+    DatasheetFontHeight =11
+    ItemSuffix =1
+    Left =-20715
+    Top =2415
+    Right =-255
+    Bottom =15150
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xc87c8f5c13d9e440
+    End
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =3855
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin Label
+                    OverlapFlags =85
+                    Left =1247
+                    Top =1303
+                    Width =1871
+                    Height =567
+                    BorderColor =8355711
+                    ForeColor =8355711
+                    Name ="Étiquette0"
+                    Caption ="DialogTest"
+                    GridlineColor =10921638
+                    LayoutCachedLeft =1247
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =3118
+                    LayoutCachedHeight =1870
+                End
+            End
+        End
+    End
+End

+ 72 - 0
tests/results/source1/forms/FormTestPivot.bas

@@ -0,0 +1,72 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    DefaultView =3
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =0
+    DatasheetFontHeight =11
+    Right =20715
+    Bottom =12990
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0x6c8ac66513d9e440
+    End
+    RecordSource ="SELECT TableTestBaseFields.auto_number, TableTestBaseFields.string, TableTestBas"
+        "eFields.long_string, TableTestBaseFields.integer, TableTestBaseFields.long_int, "
+        "TableTestBaseFields.real, TableTestBaseFields.real_one_decimal, TableTestBaseFie"
+        "lds.real_double, TableTestBaseFields.decimal, TableTestBaseFields.datetime, Tabl"
+        "eTestBaseFields.boolean, TableTestBaseFields.string_with_default, TableTestBaseF"
+        "ields.numeric_with_condition, TableTestBaseFields.nonnull_date, TableTestBaseFie"
+        "lds.indexed_integer_no_decimal, TableTestRelation1.Id FROM TableTestBaseFields I"
+        "NNER JOIN (TableTestRelation4 INNER JOIN (TableTestRelation3 INNER JOIN (TableTe"
+        "stRelation2 INNER JOIN TableTestRelation1 ON TableTestRelation2.Id = TableTestRe"
+        "lation1.FK_TTR1_TTR2) ON TableTestRelation3.Id = TableTestRelation2.FK_TTR2_TTR3"
+        ") ON TableTestRelation4.Id = TableTestRelation3.FK_TTR3_TTR4) ON TableTestBaseFi"
+        "elds.auto_number = TableTestRelation1.FK_TTR1_TTR2 WHERE (((TableTestRelation1.I"
+        "d)=1)); "
+    DatasheetFontName ="Calibri"
+    AllowFormView =0
+    AllowDatasheetView =0
+    AllowPivotChartView =0
+    AllowPivotChartView =0
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    AllowLayoutView =0
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =0
+            Name ="Détail"
+            AutoHeight =1
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+        End
+    End
+End

+ 570 - 0
tests/results/source1/forms/FormTestSimple.bas

@@ -0,0 +1,570 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =4592
+    DatasheetFontHeight =11
+    ItemSuffix =11
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xb681270513d9e440
+    End
+    RecordSource ="TableWithData"
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin CommandButton
+            Width =1701
+            Height =283
+            FontSize =11
+            FontWeight =400
+            FontName ="Calibri"
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            UseTheme =1
+            Shape =1
+            Gradient =12
+            BackThemeColorIndex =4
+            BackTint =60.0
+            BorderLineStyle =0
+            BorderColor =16777215
+            BorderThemeColorIndex =4
+            BorderTint =60.0
+            ThemeFontIndex =1
+            HoverThemeColorIndex =4
+            HoverTint =40.0
+            PressedThemeColorIndex =4
+            PressedShade =75.0
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+        End
+        Begin CheckBox
+            BorderLineStyle =0
+            LabelX =230
+            LabelY =-30
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =2154
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2381
+                    Top =340
+                    Height =315
+                    ColumnWidth =1935
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="param"
+                    ControlSource ="param"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2381
+                    LayoutCachedTop =340
+                    LayoutCachedWidth =4082
+                    LayoutCachedHeight =655
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =737
+                            Top =340
+                            Width =660
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette5"
+                            Caption ="param"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =737
+                            LayoutCachedTop =340
+                            LayoutCachedWidth =1397
+                            LayoutCachedHeight =655
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2381
+                    Top =737
+                    Height =315
+                    ColumnWidth =2835
+                    TabIndex =1
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="key"
+                    ControlSource ="key"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2381
+                    LayoutCachedTop =737
+                    LayoutCachedWidth =4082
+                    LayoutCachedHeight =1052
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =737
+                            Top =737
+                            Width =405
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette6"
+                            Caption ="key"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =737
+                            LayoutCachedTop =737
+                            LayoutCachedWidth =1142
+                            LayoutCachedHeight =1052
+                        End
+                    End
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =623
+                    Top =1303
+                    Width =576
+                    Height =576
+                    TabIndex =2
+                    ForeColor =4210752
+                    Name ="Commande7"
+                    Caption ="Commande7"
+                    ControlTipText ="Enregistrement précédent"
+                    GridlineColor =10921638
+                    OnClickEmMacro = Begin
+                        Version =196611
+                        ColumnsShown =10
+                        Begin
+                            Action ="OnError"
+                            Argument ="0"
+                        End
+                        Begin
+                            Action ="GoToRecord"
+                            Argument ="-1"
+                            Argument =""
+                            Argument ="0"
+                        End
+                        Begin
+                            Condition ="[MacroError]<>0"
+                            Action ="MsgBox"
+                            Argument ="=[MacroError].[Description]"
+                            Argument ="-1"
+                            Argument ="0"
+                        End
+                        Begin
+                            Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+                                "nterfaceMacro For=\"Commande7\" xmlns=\"http://schemas.microsoft.com/office/acce"
+                                "ssservices/2009/11/application\" xmlns:a=\"http://schemas.microsoft.com/office/a"
+                                "ccessservices/2009/11/forms\"><"
+                        End
+                        Begin
+                            Comment ="_AXL:Statements><Action Name=\"OnError\"/><Action Name=\"GoToRecord\"><Argument "
+                                "Name=\"Record\">Previous</Argument></Action><ConditionalBlock><If><Condition>[Ma"
+                                "croError]&lt;&gt;0</Condition><Statements><Action Name=\"MessageBox\"><Argument "
+                                "Name=\"Message\">=[Macr"
+                        End
+                        Begin
+                            Comment ="_AXL:oError].[Description]</Argument></Action></Statements></If></ConditionalBlo"
+                                "ck></Statements></UserInterfaceMacro>"
+                        End
+                    End
+                    ImageData = Begin
+                        0x2800000010000000100000000100200000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000000000000000000b0482000b0482050000000000000000000000000 ,
+                        0x0000000000000000000000004068ff0000000000000000000000000000000000 ,
+                        0x000000000000000000000000b0502050904820ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000a0482040d06830ff905030ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000b0502040d06030fff06820ffa05030ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0xb0502050d06830fff07030fff06820ffa05830ff000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000b0502050 ,
+                        0xe07040ffffa060fff08850fff07030ffb06040ff000000000000000000000000 ,
+                        0x000000000000000000000000000000000000000000000000d0704040e08850ff ,
+                        0xffc0a0ffffb090ffffa070ffff8040ffb06840ff000000000000000000000000 ,
+                        0x000000000000000000000000000000000000000000000000e0906000e0906040 ,
+                        0xe08850ffffc0a0ffffb080ffff8850ffc07040ff000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e0906000 ,
+                        0xe0906040e08860ffffc0a0ffff9870ffd07850ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0xe0906000e0906040e08860ffffc0a0ffd07850ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000e0906000f0906030e08860ffd08050ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000e0906000f0906020e08850ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000e0906000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000
+                    End
+
+                    LayoutCachedLeft =623
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =1199
+                    LayoutCachedHeight =1879
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =1530
+                    Top =1303
+                    Width =576
+                    Height =576
+                    TabIndex =3
+                    ForeColor =4210752
+                    Name ="Commande8"
+                    Caption ="Commande8"
+                    ControlTipText ="Enregistrement suivant"
+                    GridlineColor =10921638
+                    OnClickEmMacro = Begin
+                        Version =196611
+                        ColumnsShown =10
+                        Begin
+                            Action ="OnError"
+                            Argument ="0"
+                        End
+                        Begin
+                            Action ="GoToRecord"
+                            Argument ="-1"
+                            Argument =""
+                            Argument ="1"
+                        End
+                        Begin
+                            Condition ="[MacroError]<>0"
+                            Action ="MsgBox"
+                            Argument ="=[MacroError].[Description]"
+                            Argument ="-1"
+                            Argument ="0"
+                        End
+                        Begin
+                            Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+                                "nterfaceMacro For=\"Commande8\" xmlns=\"http://schemas.microsoft.com/office/acce"
+                                "ssservices/2009/11/application\" xmlns:a=\"http://schemas.microsoft.com/office/a"
+                                "ccessservices/2009/11/forms\"><"
+                        End
+                        Begin
+                            Comment ="_AXL:Statements><Action Name=\"OnError\"/><Action Name=\"GoToRecord\"/><Conditio"
+                                "nalBlock><If><Condition>[MacroError]&lt;&gt;0</Condition><Statements><Action Nam"
+                                "e=\"MessageBox\"><Argument Name=\"Message\">=[MacroError].[Description]</Argumen"
+                                "t></Action></Statemen"
+                        End
+                        Begin
+                            Comment ="_AXL:ts></If></ConditionalBlock></Statements></UserInterfaceMacro>"
+                        End
+                    End
+                    ImageData = Begin
+                        0x2800000010000000100000000100200000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000b0482050 ,
+                        0xb048200000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e06830ff ,
+                        0xb050205000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e06830ff ,
+                        0x904820ffa0482040000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e07040ff ,
+                        0xd07040ff904820ffb05020400000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e07840ff ,
+                        0xe08850ffd05820ff904820ffb050205000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e07850ff ,
+                        0xf0a070fff07830ffd05820ff904820ffb0502050000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e08050ff ,
+                        0xf0b080ffff9860fff07830ffd05820ffa05830ffd0704060e090600000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e08860ff ,
+                        0xffb890ffffa870ffff9860ffd07040ffe0906040e09060000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e09060ff ,
+                        0xffc0a0ffffb890ffd07840ffe0906040e0906000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e09870ff ,
+                        0xffc0a0ffe08050f0e0906040e090600000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e09870ff ,
+                        0xe08860fff0906030e09060000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e09870ff ,
+                        0xf0906020e0906000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e0906020 ,
+                        0xe090600000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e0906000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000
+                    End
+
+                    LayoutCachedLeft =1530
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =2106
+                    LayoutCachedHeight =1879
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =2551
+                    Top =1303
+                    Width =576
+                    Height =576
+                    TabIndex =4
+                    ForeColor =4210752
+                    Name ="Commande9"
+                    Caption ="Commande9"
+                    ControlTipText ="Sauvegarder enregistrement"
+                    GridlineColor =10921638
+                    OnClickEmMacro = Begin
+                        Version =196611
+                        ColumnsShown =10
+                        Begin
+                            Action ="OnError"
+                            Argument ="0"
+                        End
+                        Begin
+                            Action ="RunCommand"
+                            Argument ="97"
+                        End
+                        Begin
+                            Condition ="[MacroError]<>0"
+                            Action ="MsgBox"
+                            Argument ="=[MacroError].[Description]"
+                            Argument ="-1"
+                            Argument ="0"
+                        End
+                        Begin
+                            Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+                                "nterfaceMacro For=\"Commande9\" xmlns=\"http://schemas.microsoft.com/office/acce"
+                                "ssservices/2009/11/application\" xmlns:a=\"http://schemas.microsoft.com/office/a"
+                                "ccessservices/2009/11/forms\"><"
+                        End
+                        Begin
+                            Comment ="_AXL:Statements><Action Name=\"OnError\"/><Action Name=\"SaveRecord\"/><Conditio"
+                                "nalBlock><If><Condition>[MacroError]&lt;&gt;0</Condition><Statements><Action Nam"
+                                "e=\"MessageBox\"><Argument Name=\"Message\">=[MacroError].[Description]</Argumen"
+                                "t></Action></Statemen"
+                        End
+                        Begin
+                            Comment ="_AXL:ts></If></ConditionalBlock></Statements></UserInterfaceMacro>"
+                        End
+                    End
+                    ImageData = Begin
+                        0x2800000010000000100000000100200000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000b09880ff201010ff201010ff201010ff201010ff201010ff ,
+                        0x201010ff201010ff201810ff201810ff201810ff201810ff201810ff00000000 ,
+                        0x0000000000000000c0a090fffff8f0fffff8f0fffff0f0fffff0e0fff0e8e0ff ,
+                        0xf0e8d0fff0e0d0fff0e0d0fff0e0d0fff0e0d0fff0e0d0ff403830ff00000000 ,
+                        0x0000000000000000c0a090ffffffffffd07850ffd07840ffd07040ffc07040ff ,
+                        0xc07040ffc07850ffd09070ffd0a890ffd0a890fff0f0f0ff909090ff00000000 ,
+                        0x0000000000000000c0a890ffffffffffd07850fff0b8a0fff0b090fff0a880ff ,
+                        0xf0a880fff0b090ffe0b0a0ff804040ff703840ff703840ff703840ff703840ff ,
+                        0x703840ff703840ffc0a890ffffffffffd07850ffd07850ffd07840ffd07040ff ,
+                        0xd08050ffe0a890ffa05850ffc07870ff604840ffd0d8d0ffd0d8d0ff605040ff ,
+                        0xc06060ff703840ffc0a8a0fffffffffffffffffffffffffffffffffffff8f0ff ,
+                        0xfff8f0fffff8f0ffb06060ffe09090ff605040ff605040ff605040ff605040ff ,
+                        0xc07070ff703840ffc0a8a0ffc0a8a0ffc0a890ffc0a090ffc0a090ffc0a090ff ,
+                        0xc0a8a0ffe0d0c0ffc07070fff0a8b0ffe0a0a0ffe098a0ffe09090ffe08890ff ,
+                        0xd08080ff703840ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000d08080ffd07070ffd06860ffd06860ffc05850ffc05850ff ,
+                        0xb05040ff804040ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000d08890ffe07070ffffffffffffffffffffffffffffffffff ,
+                        0xc05850ff904850ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000d09090ffe07070ffffffffffffffffffffffffffffffffff ,
+                        0xd06860ffa05860ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000e0a0a0ffd09090ffd08890ffd08080ffc07070ffc06870ff ,
+                        0xc06870ffc06860ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000
+                    End
+
+                    LayoutCachedLeft =2551
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =3127
+                    LayoutCachedHeight =1879
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =3458
+                    Top =1303
+                    Width =576
+                    Height =576
+                    TabIndex =5
+                    ForeColor =4210752
+                    Name ="Commande10"
+                    Caption ="Commande10"
+                    ControlTipText ="Fermer formulaire"
+                    GridlineColor =10921638
+                    OnClickEmMacro = Begin
+                        Version =196611
+                        ColumnsShown =8
+                        Begin
+                            Action ="Close"
+                            Argument ="-1"
+                            Argument =""
+                            Argument ="0"
+                        End
+                        Begin
+                            Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+                                "nterfaceMacro For=\"Commande10\" xmlns=\"http://schemas.microsoft.com/office/acc"
+                                "essservices/2009/11/application\" xmlns:a=\"http://schemas.microsoft.com/office/"
+                                "accessservices/2009/11/forms\">"
+                        End
+                        Begin
+                            Comment ="_AXL:<Statements><Action Name=\"CloseWindow\"/></Statements></UserInterfaceMacro"
+                                ">"
+                        End
+                    End
+                    ImageData = Begin
+                        0x2800000010000000100000000100200000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000010081080 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000000000000000000000000000000000040485020100810e0104050ff ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000040404080405860ff106890ff2080a0f0 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000607070ff80a0b0ff4080a0ff20a0d0ff40a8e0ff2078a0ff ,
+                        0x101020ff101020ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000708890ffa0d8f0ff60d0ffff50c0f0ff30a8e0ff1080b0ff ,
+                        0xe0d8d0ff102020ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000708890ffb0e8f0ff80e0ffff60c8f0ff50b8f0ff1088c0ff ,
+                        0xf0d8d0ff202830ff000000000000000090482030904820ff0000000000000000 ,
+                        0x0000000000000000808890ffb0e8f0ff80e0ffff60d0ffff404050ff1090c0ff ,
+                        0xf0e0d0ff303840ff0000000090482030a05030ffa05020ff0000000000000000 ,
+                        0x00000000000000008090a0ffc0f0ffff90e0ffff70d8ffff60c8f0ff0090c0ff ,
+                        0xf0e0e0ff404050ff90482030a05030ffd07840ffb05830ffa05020ffa04820ff ,
+                        0x904820ff904820ff8090a0ffc0f0ffffa0e8ffff80d8ffff70d0f0ff40b0e0ff ,
+                        0xf0e8e0ff605050ffa05830ffe08860fff09060fff08850ffe07850ffd07040ff ,
+                        0xb06840ff904820ff8098a0ffc0f0ffffa0e8ffff90e8ffff80e0ffff80b8d0ff ,
+                        0xf0e8e0ffe09870ffffc0a0ffffb090ffffa070fff09060fff08850ffe07850ff ,
+                        0xd07040ffa05020ff8098a0ffc0f0ffffc0f8ffffa0e0f0ff90a8b0ffc0c8d0ff ,
+                        0xf0f0e0ff908080fff0a070ffffc0a0ffffb090ffffb090ffffa880fff0a080ff ,
+                        0xe09870ffb05030ff90a0a0ffe0f8ffffb0c8d0ff90a0b0fff0f0f0fffff8f0ff ,
+                        0xf0f0f0ff607080ffe0987050f0a070ffffc0a0ffd06830ffe09870ffe09060ff ,
+                        0xe08860ffe08050ff90a0b0ff90a8b0ffc0c8d0ffffffffffffffffffffffffff ,
+                        0xffffffff708890ff00000000e0987050e09870ffd07040ff0000000000000000 ,
+                        0x000000000000000090a0b0ff90a0b0ff90a0b0ff90a0b0ff90a0a0ff8098a0ff ,
+                        0x8098a0ff9098a0ff0000000000000000e0987050e09870ff0000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000
+                    End
+
+                    LayoutCachedLeft =3458
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =4034
+                    LayoutCachedHeight =1879
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+            End
+        End
+    End
+End

+ 24 - 0
tests/results/source1/macros/MacroTest.bas

@@ -0,0 +1,24 @@
+Version =196611
+ColumnsShown =0
+Begin
+    Action ="MsgBox"
+    Argument ="MacroTestOk"
+    Argument ="0"
+    Argument ="4"
+    Argument ="MacroTestOk"
+End
+Begin
+    Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+        "nterfaceMacro MinimumClientDesignVersion=\"14.0.0000.0000\" xmlns=\"http://schem"
+        "as.microsoft.com/office/accessservices/2009/11/application\" xmlns:a=\"http://sc"
+        "hemas.microsoft.com/office/acc"
+End
+Begin
+    Comment ="_AXL:essservices/2009/11/forms\"><Statements><Action Name=\"MessageBox\"><Argume"
+        "nt Name=\"Message\">MacroTestOk</Argument><Argument Name=\"Beep\">No</Argument><"
+        "Argument Name=\"Type\">Information</Argument><Argument Name=\"Title\">MacroTestO"
+        "k</Argument></Action></S"
+End
+Begin
+    Comment ="_AXL:tatements></UserInterfaceMacro>"
+End

+ 27 - 0
tests/results/source1/modules/ModuleTest.bas

@@ -0,0 +1,27 @@
+Option Compare Database
+
+' with references:
+' Visual Basic for Applications
+' Microsoft Access 14.0 Object Library
+' Microsoft Office Runtime 1.0 Type Library
+' Microsoft Office 14.0 Access Database engine object
+' Microsoft ActiveX Data Object 2.8 Library
+' Microsoft Scipring Runtime
+' Microsoft ADO Ext 6.0 for DDL and Security
+
+
+Public Sub TestModule()
+
+    Dim rs As DAO.Recordset
+    
+    Set rs = CurrentDb.OpenRecordset("TableWithData", dbOpenSnapshot)
+    
+    rs.MoveFirst
+    Do Until rs.EOF
+    
+        Debug.Print rs![param], rs![key]
+    
+        rs.MoveNext
+    Loop
+
+End Sub

+ 44 - 0
tests/results/source1/queries/DeleteTest.bas

@@ -0,0 +1,44 @@
+Operation =5
+Option =0
+Where ="(((TableWithData.param)=\"param2\"))"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Expression ="TableWithData.*"
+    Expression ="TableWithData.param"
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbBoolean "UseTransaction" ="-1"
+dbBoolean "FailOnError" ="0"
+dbByte "Orientation" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =771
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 55 - 0
tests/results/source1/queries/InsertTest.bas

@@ -0,0 +1,55 @@
+Operation =3
+Name ="TableWithData"
+Option =0
+Where ="(((\"param5\")=\"param1\"))"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Alias ="new"
+    Name ="param"
+    Expression ="\"param5\""
+    Name ="key"
+    Expression ="TableWithData.key"
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbBoolean "UseTransaction" ="-1"
+dbByte "Orientation" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="new"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =651
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 81 - 0
tests/results/source1/queries/SelectTestMultiTables.bas

@@ -0,0 +1,81 @@
+Operation =1
+Option =0
+Begin InputTables
+    Name ="TableTestRelation1"
+    Name ="TableTestRelation3"
+    Name ="TableTestRelation2"
+End
+Begin OutputColumns
+    Expression ="TableTestRelation1.Id"
+    Expression ="TableTestRelation3.Data"
+End
+Begin Joins
+    LeftTable ="TableTestRelation2"
+    RightTable ="TableTestRelation1"
+    Expression ="TableTestRelation2.Id = TableTestRelation1.FK_TTR1_TTR2"
+    Flag =1
+    LeftTable ="TableTestRelation3"
+    RightTable ="TableTestRelation2"
+    Expression ="TableTestRelation3.Id = TableTestRelation2.FK_TTR2_TTR3"
+    Flag =1
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableTestRelation1.Id"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestRelation3.Data"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableTestRelation1"
+        Name =""
+    End
+    Begin
+        Left =588
+        Top =73
+        Right =732
+        Bottom =217
+        Top =0
+        Name ="TableTestRelation3"
+        Name =""
+    End
+    Begin
+        Left =258
+        Top =40
+        Right =402
+        Bottom =184
+        Top =0
+        Name ="TableTestRelation2"
+        Name =""
+    End
+End

+ 56 - 0
tests/results/source1/queries/SelectTestOrderedFiltered.bas

@@ -0,0 +1,56 @@
+Operation =1
+Option =0
+Where ="(((TableWithData.param) Like \"param*\"))"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Expression ="TableWithData.param"
+    Expression ="TableWithData.key"
+End
+Begin OrderBy
+    Expression ="TableWithData.param"
+    Flag =0
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =553
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 111 - 0
tests/results/source1/queries/SelectTestSimpleCase.bas

@@ -0,0 +1,111 @@
+Operation =1
+Option =0
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Expression ="TableWithData.param"
+    Expression ="TableWithData.key"
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableTestBaseFields.auto_number"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.string"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.long_string"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.integer"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.long_int"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real_one_decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real_double"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.datetime"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.boolean"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.string_with_default"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.numeric_with_condition"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.nonnull_date"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.indexed_integer_no_decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =587
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 42 - 0
tests/results/source1/queries/SelectTestWithDataConnection.bas

@@ -0,0 +1,42 @@
+Operation =1
+Option =0
+Connect =";DATABASE=C:\\APPLIS_PARC\\OpenAccess\\tests\\start_state\\db.accdb"
+Begin InputTables
+    Name ="linked_table"
+End
+Begin OutputColumns
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+Begin
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="linked_table"
+        Name =""
+    End
+End

+ 53 - 0
tests/results/source1/queries/SelectTestWithProperties.bas

@@ -0,0 +1,53 @@
+Operation =1
+Option =25
+RowCount ="25"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Expression ="TableWithData.param"
+    Expression ="TableWithData.key"
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+dbText "Description" ="this is a description"
+Begin
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 114 - 0
tests/results/source1/queries/UpdateTest.bas

@@ -0,0 +1,114 @@
+Operation =4
+Option =0
+Where ="(((TableWithData.param)=\"param3\"))"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Name ="TableWithData.key"
+    Expression ="\"key3_up\""
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+dbBoolean "UseTransaction" ="-1"
+dbBoolean "FailOnError" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableTestBaseFields.auto_number"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.string"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.long_string"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.integer"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.long_int"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real_one_decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real_double"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.datetime"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.boolean"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.string_with_default"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.numeric_with_condition"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.nonnull_date"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.indexed_integer_no_decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =553
+    Left =0
+    Top =0
+    ColumnsShown =579
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 5 - 0
tests/results/source1/references.csv

@@ -0,0 +1,5 @@
+{B35FBDE9-7042-11D3-9C0F-00C04F72DD5F},1,0
+{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28},12,0
+{2A75196C-D9EB-4129-B803-931327F72D5C},2,8
+{420B2830-E718-11CF-893D-00A0C9054228},1,0
+{00000600-0000-0010-8000-00AA006D2EA4},6,0

+ 8 - 0
tests/results/source1/relations/TableTestRelation2TableTestRelation1.txt

@@ -0,0 +1,8 @@
+2
+TableTestRelation2TableTestRelation1
+TableTestRelation2
+TableTestRelation1
+Field = Begin
+Id
+FK_TTR1_TTR2
+End

+ 8 - 0
tests/results/source1/relations/TableTestRelation3TableTestRelation2.txt

@@ -0,0 +1,8 @@
+0
+TableTestRelation3TableTestRelation2
+TableTestRelation3
+TableTestRelation2
+Field = Begin
+Id
+FK_TTR2_TTR3
+End

+ 8 - 0
tests/results/source1/relations/TableTestRelation4TableTestRelation3.txt

@@ -0,0 +1,8 @@
+4352
+TableTestRelation4TableTestRelation3
+TableTestRelation4
+TableTestRelation3
+Field = Begin
+Id
+FK_TTR3_TTR4
+End

+ 376 - 0
tests/results/source1/reports/ReportTest.bas

@@ -0,0 +1,376 @@
+Version =20
+VersionRequired =20
+Begin Report
+    LayoutForPrint = NotDefault
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    DateGrouping =1
+    GrpKeepTogether =1
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =10890
+    DatasheetFontHeight =11
+    ItemSuffix =29
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0x18175c7013d9e440
+    End
+    RecordSource ="TableWithData"
+    DatasheetFontName ="Calibri"
+    PrtMip = Begin
+        0x68010000680100006801000068010000000000008a2a00005005000001000000 ,
+        0x010000006801000000000000a10700000100000001000000
+    End
+    FilterOnLoad =0
+    FitToPage =1
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin CommandButton
+            Width =1701
+            Height =283
+            FontSize =11
+            FontWeight =400
+            FontName ="Calibri"
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            UseTheme =1
+            Shape =1
+            Gradient =12
+            BackThemeColorIndex =4
+            BackTint =60.0
+            BorderLineStyle =0
+            BorderColor =16777215
+            BorderThemeColorIndex =4
+            BorderTint =60.0
+            ThemeFontIndex =1
+            HoverThemeColorIndex =4
+            HoverTint =40.0
+            PressedThemeColorIndex =4
+            PressedShade =75.0
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            ShowDatePicker =0
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin EmptyCell
+            Height =240
+            GridlineColor =12632256
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin FormHeader
+            KeepTogether = NotDefault
+            Height =0
+            BackColor =15849926
+            Name ="EntêteÉtat"
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =2
+            BackTint =20.0
+        End
+        Begin PageHeader
+            Height =737
+            Name ="ZoneEntêtePage"
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin Label
+                    TextAlign =2
+                    Left =1133
+                    Top =113
+                    Width =4480
+                    Height =511
+                    FontSize =16
+                    FontWeight =700
+                    BorderColor =8355711
+                    ForeColor =9592887
+                    Name ="Étiquette2"
+                    Caption ="Formatted Title"
+                    FontName ="Verdana"
+                    GridlineColor =10921638
+                    LayoutCachedLeft =1133
+                    LayoutCachedTop =113
+                    LayoutCachedWidth =5613
+                    LayoutCachedHeight =624
+                    ThemeFontIndex =-1
+                    ForeThemeColorIndex =4
+                    ForeTint =100.0
+                    ForeShade =75.0
+                End
+            End
+        End
+        Begin Section
+            KeepTogether = NotDefault
+            Height =1360
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    IMESentenceMode =3
+                    Left =3061
+                    Top =226
+                    Height =315
+                    ColumnWidth =1935
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="param"
+                    ControlSource ="param"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =3061
+                    LayoutCachedTop =226
+                    LayoutCachedWidth =4762
+                    LayoutCachedHeight =541
+                    Begin
+                        Begin Label
+                            Left =1360
+                            Top =226
+                            Width =660
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette3"
+                            Caption ="param"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1360
+                            LayoutCachedTop =226
+                            LayoutCachedWidth =2020
+                            LayoutCachedHeight =541
+                        End
+                    End
+                End
+                Begin TextBox
+                    IMESentenceMode =3
+                    Left =3061
+                    Top =623
+                    Height =315
+                    ColumnWidth =2835
+                    TabIndex =1
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="key"
+                    ControlSource ="key"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =3061
+                    LayoutCachedTop =623
+                    LayoutCachedWidth =4762
+                    LayoutCachedHeight =938
+                    Begin
+                        Begin Label
+                            Left =1360
+                            Top =623
+                            Width =390
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette4"
+                            Caption ="key"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1360
+                            LayoutCachedTop =623
+                            LayoutCachedWidth =1750
+                            LayoutCachedHeight =938
+                        End
+                    End
+                End
+            End
+        End
+        Begin PageFooter
+            Height =1134
+            Name ="ZonePiedPage"
+            AutoHeight =255
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OldBorderStyle =0
+                    TextAlign =1
+                    BackStyle =0
+                    IMESentenceMode =3
+                    Left =283
+                    Width =3600
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="Texte5"
+                    ControlSource ="=\"Page \" & [Page] & \" sur \" & [Pages]"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =283
+                    LayoutCachedWidth =3883
+                    LayoutCachedHeight =315
+                End
+            End
+        End
+        Begin FormFooter
+            KeepTogether = NotDefault
+            Height =1134
+            Name ="PiedÉtat"
+            AutoHeight =1
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin EmptyCell
+                    Left =225
+                    Top =60
+                    Width =690
+                    Height =690
+                    Name ="Auto_LogoCelluleVide"
+                    GroupTable =2
+                    GridlineColor =10921638
+                    LayoutCachedLeft =225
+                    LayoutCachedTop =60
+                    LayoutCachedWidth =915
+                    LayoutCachedHeight =750
+                    RowEnd =1
+                    LayoutGroup =1
+                    GroupTable =2
+                End
+                Begin EmptyCell
+                    Left =975
+                    Top =60
+                    Width =4650
+                    Height =690
+                    Name ="Auto_EnTeteCelluleVide"
+                    GroupTable =2
+                    GridlineColor =10921638
+                    HorizontalAnchor =2
+                    LayoutCachedLeft =975
+                    LayoutCachedTop =60
+                    LayoutCachedWidth =5625
+                    LayoutCachedHeight =750
+                    RowEnd =1
+                    ColumnStart =1
+                    ColumnEnd =1
+                    LayoutGroup =1
+                    GroupTable =2
+                End
+                Begin TextBox
+                    Enabled = NotDefault
+                    Locked = NotDefault
+                    OldBorderStyle =0
+                    TextAlign =3
+                    BackStyle =0
+                    IMESentenceMode =3
+                    Left =5685
+                    Top =60
+                    Width =5100
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =8210719
+                    Name ="Auto_Date"
+                    ControlSource ="=Date()"
+                    Format ="Medium Date"
+                    GroupTable =2
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =5685
+                    LayoutCachedTop =60
+                    LayoutCachedWidth =10785
+                    LayoutCachedHeight =375
+                    ColumnStart =2
+                    ColumnEnd =2
+                    LayoutGroup =1
+                    ForeThemeColorIndex =2
+                    ForeTint =100.0
+                    GroupTable =2
+                End
+                Begin TextBox
+                    Enabled = NotDefault
+                    Locked = NotDefault
+                    OldBorderStyle =0
+                    TextAlign =3
+                    BackStyle =0
+                    IMESentenceMode =3
+                    Left =5685
+                    Top =435
+                    Width =5100
+                    Height =315
+                    TabIndex =1
+                    BorderColor =10921638
+                    ForeColor =8210719
+                    Name ="Auto_Heure"
+                    ControlSource ="=Time()"
+                    Format ="Short Time"
+                    GroupTable =2
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =5685
+                    LayoutCachedTop =435
+                    LayoutCachedWidth =10785
+                    LayoutCachedHeight =750
+                    RowStart =1
+                    RowEnd =1
+                    ColumnStart =2
+                    ColumnEnd =2
+                    LayoutGroup =1
+                    ForeThemeColorIndex =2
+                    ForeTint =100.0
+                    GroupTable =2
+                End
+            End
+        End
+    End
+End
+CodeBehindForm
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+Option Compare Database
+
+Private Sub Commande1_Click()
+    MsgBox "salut"
+End Sub

+ 5 - 0
tests/results/source1/reports/ReportTest.pv

@@ -0,0 +1,5 @@
+1
+9
+2970
+2100
+0

+ 2 - 0
tests/results/source1/tables/TableTestAdvancedFields.txt

@@ -0,0 +1,2 @@
+monetary	hypertext	calculated	combobox	combobox_multichoice
+101	www.wikipedia.com#http://www.wikipedia.com#	2	a	

+ 2 - 0
tests/results/source1/tables/TableTestBaseFields.txt

@@ -0,0 +1,2 @@
+auto_number	string	long_string	integer	long_int	real	real_one_decimal	real_double	decimal	datetime	boolean	string_with_default	numeric_with_condition	nonnull_date	indexed_integer_no_decimal
+1	foo	foobar	1	1000000	1.608201E+07	1608.202	1.23123123123123E+17		27/04/2008	Vrai	default value	1	5/12/2011	123

+ 5 - 0
tests/results/source1/tables/TableWithData.txt

@@ -0,0 +1,5 @@
+param	key
+param1	key1
+param2	key2
+param3	key3
+with_special_chars	éèà@~êëç

+ 3 - 0
tests/results/source1/tables/USysOpenAccess.txt

@@ -0,0 +1,3 @@
+key	val
+include_tables	USysOpenAccess,TableWithData,TableTestBaseFields,TableTestAdvancedFields
+sources_date	

+ 7 - 0
tests/results/source1/tbldef/TableTestAdvancedFields.sql

@@ -0,0 +1,7 @@
+CREATE TABLE [TableTestAdvancedFields] (
+  [monetary] CURRENCY ,
+  [hypertext] LONGTEXT ,
+  [calculated] SHORT ,
+  [combobox] VARCHAR (255),
+  [combobox_multichoice] VARCHAR 
+)

+ 17 - 0
tests/results/source1/tbldef/TableTestBaseFields.sql

@@ -0,0 +1,17 @@
+CREATE TABLE [TableTestBaseFields] (
+  [auto_number] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [string] VARCHAR (255),
+  [long_string] LONGTEXT ,
+  [integer] SHORT ,
+  [long_int] LONG ,
+  [real] SINGLE ,
+  [real_one_decimal] SINGLE ,
+  [real_double] DOUBLE ,
+  [decimal] DECIMAL (18, 0),
+  [datetime] DATETIME ,
+  [boolean] BIT ,
+  [string_with_default] VARCHAR (255),
+  [numeric_with_condition] LONG ,
+  [nonnull_date] VARCHAR (255),
+  [indexed_integer_no_decimal] SHORT 
+)

+ 5 - 0
tests/results/source1/tbldef/TableTestRelation1.sql

@@ -0,0 +1,5 @@
+CREATE TABLE [TableTestRelation1] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255),
+  [FK_TTR1_TTR2] LONG 
+)

+ 5 - 0
tests/results/source1/tbldef/TableTestRelation2.sql

@@ -0,0 +1,5 @@
+CREATE TABLE [TableTestRelation2] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255),
+  [FK_TTR2_TTR3] LONG 
+)

+ 5 - 0
tests/results/source1/tbldef/TableTestRelation3.sql

@@ -0,0 +1,5 @@
+CREATE TABLE [TableTestRelation3] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255),
+  [FK_TTR3_TTR4] LONG 
+)

+ 4 - 0
tests/results/source1/tbldef/TableTestRelation4.sql

@@ -0,0 +1,4 @@
+CREATE TABLE [TableTestRelation4] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255)
+)

+ 3 - 0
tests/results/source1/tbldef/TableTestSpecialChars_éèà@~êëç_[92]_[47]_[58]_[42]_[63]_[60]_[62]_[124].sql

@@ -0,0 +1,3 @@
+CREATE TABLE [TableTestSpecialChars_éčŕ@~ęëç_[92]_[47]_[58]_[42]_[63]_[60]_[62]_[124]] (
+  [éčŕ@~ęëç] VARCHAR (255)
+)

+ 4 - 0
tests/results/source1/tbldef/TableWithData.sql

@@ -0,0 +1,4 @@
+CREATE TABLE [TableWithData] (
+  [param] VARCHAR (255) CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [key] VARCHAR (255)
+)

+ 4 - 0
tests/results/source1/tbldef/TableWithProperties.sql

@@ -0,0 +1,4 @@
+CREATE TABLE [TableWithProperties] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255)
+)

+ 4 - 0
tests/results/source1/tbldef/USysOpenAccess.sql

@@ -0,0 +1,4 @@
+CREATE TABLE [USysOpenAccess] (
+  [key] VARCHAR (255),
+  [val] VARCHAR (255)
+)

+ 4 - 0
tests/results/source1/tbldef/linked_table.LNKD

@@ -0,0 +1,4 @@
+linked_table
+;DATABASE=.\db.accdb
+linked_table
+Id

+ 29 - 28
tests/run_tests.bat

@@ -2,72 +2,73 @@
 cd .\tests
 cd .\tests
 
 
 echo clean the directories (if they exist)
 echo clean the directories (if they exist)
-if exist .\work del /f /s /q .\work
-if exist .\results del /f /s /q .\results
-	
+if exist .\work del /f /s /q .\work || exit %errorlevel%
+if exist .\results del /f /s /q .\results || exit %errorlevel%
+
 echo make the directories (if they do not)
 echo make the directories (if they do not)
-if not exist .\work md .\work
-if not exist .\results md .\results
+if not exist .\work md .\work || exit %errorlevel%
+if not exist .\results md .\results || exit %errorlevel%
 
 
 echo unpack openaccess.accda if it does not exist in ..\
 echo unpack openaccess.accda if it does not exist in ..\
-if not exist ..\OpenAccess.accda unzip ..\OpenAccess.zip
+if not exist ..\OpenAccess.accda unzip ..\OpenAccess.zip || exit %errorlevel%
 
 
 echo prepare files
 echo prepare files
-unzip .\initial\project0.zip -d .\work
-unzip .\initial\db.zip -d .\work
-unzip .\initial\empty_project.zip -d .\work
+unzip .\initial\project0.zip -d .\work || exit %errorlevel%
+unzip .\initial\db.zip -d .\work || exit %errorlevel%
+unzip .\initial\empty_project.zip -d .\work || exit %errorlevel%
 
 
 echo ** tests: step 1 **
 echo ** tests: step 1 **
 
 
 echo run the test_export macro
 echo run the test_export macro
-.\work\project0.accdb /X test_export
+.\work\project0.accdb /X test_export || exit %errorlevel%
 
 
 echo control existence of zipped app
 echo control existence of zipped app
 python assert_exists.py .\work\project0.zip
 python assert_exists.py .\work\project0.zip
 
 
 echo clean sources
 echo clean sources
-del .\work\source\modules\test_methods.bas
-del .\work\source\macros\test_export.bas
-del .\work\source\macros\test_import.bas
+del .\work\source\modules\test_methods.bas || exit %errorlevel%
+del .\work\source\macros\test_export.bas || exit %errorlevel%
+del .\work\source\macros\test_import.bas || exit %errorlevel%
 
 
 echo copy source to results
 echo copy source to results
-robocopycopy /e /NFL /NDL /NJH /nc /ns /np .\works\source .\results\source1
+robocopy /e /NFL /NDL /NJH /NJS /nc /ns /np .\work\source .\results\source1
 
 
 echo control the result
 echo control the result
-python compare.py .\results\source1 .\reference\source
+python compare.py .\results\source1 .\reference\source || exit %errorlevel%
 
 
 echo ** tests: step 2 **
 echo ** tests: step 2 **
 
 
 echo run import in empty_project.accdb
 echo run import in empty_project.accdb
-.\work\empty_project.accdb /X test_import
+.\work\empty_project.accdb /X test_import || exit %errorlevel%
 
 
 echo copy to results
 echo copy to results
-copy .\work\empty_project.accdb .\results\result1.accdb
+copy .\work\empty_project.accdb .\results\result1.accdb || exit %errorlevel%
 
 
 echo control existence of backup
 echo control existence of backup
-python assert_exists.py .\work\empty_project.accdb.old
+python assert_exists.py .\work\empty_project.accdb.old || exit %errorlevel%
 
 
 echo run import in project0.accdb
 echo run import in project0.accdb
-.\work\project0.accdb /X test_import
+.\work\project0.accdb /X test_import || exit %errorlevel%
 
 
 echo copy to results
 echo copy to results
-copy .\work\project0.accdb .\results\result2.accdb
+copy .\work\project0.accdb .\results\result2.accdb || exit %errorlevel%
 
 
 echo control existence of backup
 echo control existence of backup
-python assert_exists.py .\work\project0.accdb.old
+python assert_exists.py .\work\project0.accdb.old || exit %errorlevel%
 
 
 echo ** tests : step 3 **
 echo ** tests : step 3 **
 
 
 echo make sources from result1.accdb
 echo make sources from result1.accdb
-.\results\result1.accdb /X test_export
-move .\results\source .\results\source2
+.\results\result1.accdb /X test_export || exit %errorlevel%
+move .\results\source .\results\source2 || exit %errorlevel%
 echo control result
 echo control result
-python compare.py .\results\source2 .\reference\source
+python compare.py .\results\source2 .\reference\source || exit %errorlevel%
 
 
 echo make sources from result3.accdb
 echo make sources from result3.accdb
-.\results\result2.accdb /X test_export
-move .\results\source .\results\source3
+.\results\result2.accdb /X test_export || exit %errorlevel%
+move .\results\source .\results\source3 || exit %errorlevel%
 echo control result
 echo control result
-python compare.py .\results\source3 .\reference\source  
+python compare.py .\results\source3 .\reference\source   || exit %errorlevel%
 
 
-echo ** end **
+echo ** end **
+exit 0

+ 113 - 0
tests/run_tests.py

@@ -0,0 +1,113 @@
+from distutils.dir_util import copy_tree
+import os
+import sys
+
+import compare
+import file
+
+def clean_sources(sources_path):
+    print("Clean the sources")
+
+    # remove the source code of test module and macros
+    for file_path in ("modules\\test_methods.bas", 
+                      "macros\\test_export.bas", 
+                      "macros\\test_import.bas"):
+        sources_path = os.path.abspath(sources_path)
+        try:
+            os.remove( file.fjoin(sources_path, file_path) )
+        except FileNotFoundError:
+            pass
+        
+    # remove the reference to OpenAccess.accda from references.csv
+    path = file.fjoin(sources_path, "references.csv")
+    tmp_path = file.fjoin(sources_path, "references_tmp.csv")
+    if file.fexists(path):
+        with open(path, "r") as ref_file:
+            with open(tmp_path, "w") as new_ref_file:
+                for line in ref_file:
+                    if line.strip() != os.path.abspath("..\OpenAccess.accda"):
+                        new_ref_file.write(line)
+    os.remove(path)
+    os.rename(tmp_path, path)
+
+
+print("\n** PREPARATION **")
+
+if not file.fexists("..\\OpenAccess.accda"):
+    print("unzip OpenAccess.zip in .\\work")
+    os.system("unzip -q ..\\OpenAccess.zip -d .\\work")
+
+for subdir in (".\\work", ".\\results"):
+    if file.fexists(subdir):
+        print("clean "+subdir)
+        file.frmdir(subdir)
+    else:
+        print("make dir "+subdir)
+        file.fmkdir(subdir)
+
+
+for zipped_file in ("project0.zip", "db.zip", "empty_project.zip"):
+    print("unzip .\\initial\\{} to .\\work".format(zipped_file))
+    os.system("unzip  -q .\\initial\\{} -d .\\work".format(zipped_file))
+
+clean_sources(".\\reference\\source")
+
+
+
+print("\n** TEST EXPORT **")
+
+accdb_path = ".\\work\\project0.accdb"
+print("Export the sources from " + accdb_path)
+os.system( accdb_path + " /X test_export" )
+
+clean_sources( ".\\work\\source\\" )
+
+zipped_project0 = ".\\work\\project0.zip"
+print("control existence of " + zipped_project0)
+if not file.fexists( zipped_project0 ):
+    print( zipped_project0 +" does not exist" )
+    sys.exit(1)
+
+source = ".\\work\\source"
+target = ".\\results\\source1"
+print("Copy {} to {}".format(source, target))
+copy_tree(source, target)
+
+print("control the result")
+result = compare.compare_dirs( ".\\results\\source1",  ".\\reference\\source" )
+if result != 0:
+    sys.exit(result)
+
+print("\n** TEST IMPORTS **")
+
+result_count = 1
+for import_project in (".\\work\\empty_project.accdb", ".\\work\\project0.accdb"):
+
+    print("Import .\\work\\sources in " + import_project)
+    os.system(import_project + " /X test_import")
+    
+    result_count += 1
+    print("copy {} to {}".format(import_project, ".\\results\\result{}.accdb".format(result_count)))
+    file.fcopy(import_project, ".\\results\\result{}.accdb".format(result_count))
+    
+    print("control existence of backup")
+    if not file.fexists(import_project + ".old"):
+        print(import_project + ".old do not exist")
+        sys.exit(1)
+        
+
+print("** TEST RESULTS **")
+
+for id_result in range(2, result_count + 1):
+    
+    resulting_accdb = ".\\results\\result{}.accdb".format(id_result)
+    print("Export " + resulting_accdb)
+    os.system(resulting_accdb + " /X test_export")
+    print("rename .\\results\\source to .\\results\\source{}".format(id_result))
+    os.rename(".\\results\\source", ".\\results\\source{}".format(id_result))
+    print("Control the result")
+    compare.compare_dirs( ".\\results\\source{}".format(id_result), ".\\reference\\source")
+
+
+print("** end **")
+sys.exit(0)

+ 0 - 5
tests/update_registry.py

@@ -1,5 +0,0 @@
-'''
-Created on 23 nov. 2016
-
-@author: olivier.massot
-'''

BIN
tests/work/project0.zip


+ 40 - 0
tests/work/source/database.properties

@@ -0,0 +1,40 @@
+Connect		12
+QueryTimeout	60	3
+ANSI Query Mode	0	4
+Themed Form Controls	1	4
+Use Microsoft Access 2007 compatible cache	0	4
+Clear Cache on Close	0	4
+Never Cache	0	4
+AccessVersion	09.50	10
+NavPane Category	0	4
+Show Navigation Pane Search Bar	1	4
+Build	727	4
+ProjVer	119	3
+HasOfflineLists	70	3
+UseMDIMode	0	2
+ShowDocumentTabs	Vrai	1
+Picture Property Storage Format	0	4
+WebDesignMode	0	2
+CheckTruncatedNumFields	1	4
+Theme Resource Name	Office Theme	10
+StartUpShowDBWindow	Vrai	1
+StartUpShowStatusBar	Vrai	1
+AllowShortcutMenus	Vrai	1
+AllowFullMenus	Vrai	1
+AllowBuiltInToolbars	Vrai	1
+AllowToolbarChanges	Vrai	1
+AllowSpecialKeys	Vrai	1
+UseAppIconForFrmRpt	Faux	1
+AllowDatasheetSchema	Vrai	1
+DesignWithData	Vrai	1
+Show Values Limit	1000	4
+Show Values in Indexed	1	4
+Show Values in Non-Indexed	1	4
+Show Values in Remote	0	4
+Auto Compact	0	4
+NavPane Closed	0	4
+NavPane Width	344	4
+NavPane View By	0	4
+NavPane Sort By	1	4
+Property Sheet Label Width	3525	4
+AppTitle	Project0 for CI OpenAccess	10

+ 394 - 0
tests/work/source/forms/FormTestAdvancedControls.bas

@@ -0,0 +1,394 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =6994
+    DatasheetFontHeight =11
+    ItemSuffix =7
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0x64febd1c13d9e440
+    End
+    RecordSource ="TableTestAdvancedFields"
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin BoundObjectFrame
+            AddColon = NotDefault
+            SizeMode =3
+            SpecialEffect =2
+            BorderLineStyle =0
+            Width =4536
+            Height =2835
+            LabelX =-1701
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin ComboBox
+            AddColon = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AllowValueListEdits =1
+            InheritValueList =1
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ForeThemeColorIndex =2
+            ForeShade =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Attachment
+            BackStyle =0
+            BorderLineStyle =0
+            PictureSizeMode =3
+            Width =1701
+            Height =1701
+            LabelX =-1701
+            AddColon =0
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =5952
+            Name ="Détail"
+            AutoHeight =1
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    Left =2082
+                    Top =226
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="monetary"
+                    ControlSource ="monetary"
+                    Format ="#,##0.00 €;-#,##0.00 €"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2082
+                    LayoutCachedTop =226
+                    LayoutCachedWidth =3783
+                    LayoutCachedHeight =541
+                    CurrencySymbol ="€"
+                    ColLCID =1036
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =226
+                            Width =975
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette0"
+                            Caption ="monetary"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =226
+                            LayoutCachedWidth =2082
+                            LayoutCachedHeight =541
+                        End
+                    End
+                End
+                Begin BoundObjectFrame
+                    OverlapFlags =87
+                    Left =2172
+                    Top =737
+                    Width =855
+                    Height =855
+                    TabIndex =1
+                    BorderColor =10921638
+                    Name ="ole_object"
+                    ControlSource ="ole_object"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2172
+                    LayoutCachedTop =737
+                    LayoutCachedWidth =3027
+                    LayoutCachedHeight =1592
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =737
+                            Width =1065
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette1"
+                            Caption ="ole_object"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =737
+                            LayoutCachedWidth =2172
+                            LayoutCachedHeight =1052
+                        End
+                    End
+                End
+                Begin TextBox
+                    FontUnderline = NotDefault
+                    IsHyperlink = NotDefault
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    Left =2097
+                    Top =1984
+                    Width =4320
+                    Height =315
+                    TabIndex =2
+                    BorderColor =10921638
+                    ForeColor =16711680
+                    Name ="hypertext"
+                    ControlSource ="hypertext"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2097
+                    LayoutCachedTop =1984
+                    LayoutCachedWidth =6417
+                    LayoutCachedHeight =2299
+                    ForeThemeColorIndex =10
+                    ForeTint =100.0
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =1984
+                            Width =990
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette2"
+                            Caption ="hypertext"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =1984
+                            LayoutCachedWidth =2097
+                            LayoutCachedHeight =2299
+                        End
+                    End
+                End
+                Begin Attachment
+                    Left =1992
+                    Top =2777
+                    Width =855
+                    Height =855
+                    BorderColor =10921638
+                    Name ="attached"
+                    ControlSource ="attached"
+                    GridlineColor =10921638
+                    TabIndex =3
+
+                    LayoutCachedLeft =1992
+                    LayoutCachedTop =2777
+                    LayoutCachedWidth =2847
+                    LayoutCachedHeight =3632
+                    Begin
+                        Begin Label
+                            OverlapFlags =87
+                            Left =1107
+                            Top =2777
+                            Width =885
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette3"
+                            Caption ="attached"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =2777
+                            LayoutCachedWidth =1992
+                            LayoutCachedHeight =3092
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    Left =2127
+                    Top =3968
+                    Height =315
+                    TabIndex =4
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="calculated"
+                    ControlSource ="calculated"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2127
+                    LayoutCachedTop =3968
+                    LayoutCachedWidth =3828
+                    LayoutCachedHeight =4283
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =3968
+                            Width =1020
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette4"
+                            Caption ="calculated"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =3968
+                            LayoutCachedWidth =2127
+                            LayoutCachedHeight =4283
+                        End
+                    End
+                End
+                Begin ComboBox
+                    LimitToList = NotDefault
+                    RowSourceTypeInt =1
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    ListWidth =1440
+                    Left =2157
+                    Top =4592
+                    Height =315
+                    TabIndex =5
+                    BorderColor =10921638
+                    ForeColor =4138256
+                    Name ="combobox"
+                    ControlSource ="combobox"
+                    RowSourceType ="Value List"
+                    RowSource ="\"a\";\"b\";\"c\""
+                    ColumnWidths ="1440"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2157
+                    LayoutCachedTop =4592
+                    LayoutCachedWidth =3858
+                    LayoutCachedHeight =4907
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =4592
+                            Width =1050
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette5"
+                            Caption ="combobox"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =4592
+                            LayoutCachedWidth =2157
+                            LayoutCachedHeight =4907
+                        End
+                    End
+                End
+                Begin ComboBox
+                    LimitToList = NotDefault
+                    AutoExpand = NotDefault
+                    AllowAutoCorrect = NotDefault
+                    RowSourceTypeInt =1
+                    OverlapFlags =87
+                    IMESentenceMode =3
+                    ListWidth =1440
+                    Left =3357
+                    Top =5442
+                    Height =315
+                    TabIndex =6
+                    BorderColor =10921638
+                    ForeColor =4138256
+                    Name ="combobox_multichoice"
+                    ControlSource ="combobox_multichoice"
+                    RowSourceType ="Value List"
+                    RowSource ="\"a\";\"b\";\"c\";\"d\";\"e\""
+                    ColumnWidths ="1440"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =3357
+                    LayoutCachedTop =5442
+                    LayoutCachedWidth =5058
+                    LayoutCachedHeight =5757
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =1107
+                            Top =5442
+                            Width =2250
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette6"
+                            Caption ="combobox_multichoice"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1107
+                            LayoutCachedTop =5442
+                            LayoutCachedWidth =3357
+                            LayoutCachedHeight =5757
+                        End
+                    End
+                End
+            End
+        End
+    End
+End

+ 631 - 0
tests/work/source/forms/FormTestBaseControls.bas

@@ -0,0 +1,631 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =6994
+    DatasheetFontHeight =11
+    ItemSuffix =15
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xc8d4222013d9e440
+    End
+    RecordSource ="TableTestBaseFields"
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin CheckBox
+            BorderLineStyle =0
+            LabelX =230
+            LabelY =-30
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =7401
+            Name ="Détail"
+            AutoHeight =1
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =396
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="auto_number"
+                    ControlSource ="auto_number"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =396
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =711
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =396
+                            Width =1335
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette0"
+                            Caption ="auto_number"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =396
+                            LayoutCachedWidth =1788
+                            LayoutCachedHeight =711
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =792
+                    Height =315
+                    TabIndex =1
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="string"
+                    ControlSource ="string"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =792
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =1107
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =792
+                            Width =600
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette1"
+                            Caption ="string"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =792
+                            LayoutCachedWidth =1053
+                            LayoutCachedHeight =1107
+                        End
+                    End
+                End
+                Begin TextBox
+                    EnterKeyBehavior = NotDefault
+                    ScrollBars =2
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =1189
+                    Width =4320
+                    Height =1008
+                    TabIndex =2
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="long_string"
+                    ControlSource ="long_string"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =1189
+                    LayoutCachedWidth =6474
+                    LayoutCachedHeight =2197
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =1189
+                            Width =1110
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette2"
+                            Caption ="long_string"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =1189
+                            LayoutCachedWidth =1563
+                            LayoutCachedHeight =1504
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =2266
+                    Height =315
+                    TabIndex =3
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="integer"
+                    ControlSource ="integer"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =2266
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =2581
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =2266
+                            Width =750
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette3"
+                            Caption ="integer"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =2266
+                            LayoutCachedWidth =1203
+                            LayoutCachedHeight =2581
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =2663
+                    Height =315
+                    TabIndex =4
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="long_int"
+                    ControlSource ="long_int"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =2663
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =2978
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =2663
+                            Width =840
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette4"
+                            Caption ="long_int"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =2663
+                            LayoutCachedWidth =1293
+                            LayoutCachedHeight =2978
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =3060
+                    Height =315
+                    TabIndex =5
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="real"
+                    ControlSource ="real"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =3060
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =3375
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =3060
+                            Width =435
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette5"
+                            Caption ="real"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =3060
+                            LayoutCachedWidth =888
+                            LayoutCachedHeight =3375
+                        End
+                    End
+                End
+                Begin TextBox
+                    DecimalPlaces =1
+                    OverlapFlags =215
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =3457
+                    Height =315
+                    ColumnWidth =2010
+                    TabIndex =6
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="real_one_decimal"
+                    ControlSource ="real_one_decimal"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =3457
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =3772
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =453
+                            Top =3457
+                            Width =1740
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette6"
+                            Caption ="real_one_decimal"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =3457
+                            LayoutCachedWidth =2193
+                            LayoutCachedHeight =3772
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =3854
+                    Height =315
+                    ColumnWidth =2235
+                    TabIndex =7
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="real_double"
+                    ControlSource ="real_double"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =3854
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =4169
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =3854
+                            Width =1200
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette7"
+                            Caption ="real_double"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =3854
+                            LayoutCachedWidth =1653
+                            LayoutCachedHeight =4169
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =4251
+                    Height =315
+                    TabIndex =8
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="decimal"
+                    ControlSource ="decimal"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =4251
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =4566
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =4251
+                            Width =810
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette8"
+                            Caption ="decimal"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =4251
+                            LayoutCachedWidth =1263
+                            LayoutCachedHeight =4566
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =4648
+                    Height =315
+                    TabIndex =9
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="datetime"
+                    ControlSource ="datetime"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =4648
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =4963
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =4648
+                            Width =930
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette9"
+                            Caption ="datetime"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =4648
+                            LayoutCachedWidth =1383
+                            LayoutCachedHeight =4963
+                        End
+                    End
+                End
+                Begin CheckBox
+                    OverlapFlags =85
+                    Left =2154
+                    Top =5044
+                    TabIndex =10
+                    BorderColor =10921638
+                    Name ="boolean"
+                    ControlSource ="boolean"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =5044
+                    LayoutCachedWidth =2414
+                    LayoutCachedHeight =5284
+                    Begin
+                        Begin Label
+                            OverlapFlags =247
+                            Left =2384
+                            Top =5014
+                            Width =840
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette10"
+                            Caption ="boolean"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =2384
+                            LayoutCachedTop =5014
+                            LayoutCachedWidth =3224
+                            LayoutCachedHeight =5329
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =215
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =5385
+                    Height =315
+                    TabIndex =11
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="string_with_default"
+                    ControlSource ="string_with_default"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =5385
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =5700
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =453
+                            Top =5385
+                            Width =1905
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette11"
+                            Caption ="string_with_default"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =5385
+                            LayoutCachedWidth =2358
+                            LayoutCachedHeight =5700
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =215
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =5781
+                    Height =315
+                    ColumnWidth =2490
+                    TabIndex =12
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="numeric_with_condition"
+                    ControlSource ="numeric_with_condition"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =5781
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =6096
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =453
+                            Top =5781
+                            Width =2355
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette12"
+                            Caption ="numeric_with_condition"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =5781
+                            LayoutCachedWidth =2808
+                            LayoutCachedHeight =6096
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =6178
+                    Height =315
+                    TabIndex =13
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="nonnull_date"
+                    ControlSource ="nonnull_date"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =6178
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =6493
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =453
+                            Top =6178
+                            Width =1320
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette13"
+                            Caption ="nonnull_date"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =6178
+                            LayoutCachedWidth =1773
+                            LayoutCachedHeight =6493
+                        End
+                    End
+                End
+                Begin TextBox
+                    DecimalPlaces =0
+                    OverlapFlags =215
+                    IMESentenceMode =3
+                    Left =2154
+                    Top =6575
+                    Height =315
+                    ColumnWidth =3975
+                    TabIndex =14
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="indexed_integer_no_decimal"
+                    ControlSource ="indexed_integer_no_decimal"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2154
+                    LayoutCachedTop =6575
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =6890
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =453
+                            Top =6575
+                            Width =2805
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette14"
+                            Caption ="indexed_integer_no_decimal"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =453
+                            LayoutCachedTop =6575
+                            LayoutCachedWidth =3258
+                            LayoutCachedHeight =6890
+                        End
+                    End
+                End
+            End
+        End
+    End
+End

+ 179 - 0
tests/work/source/forms/FormTestCodeBehind.bas

@@ -0,0 +1,179 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =4875
+    DatasheetFontHeight =11
+    ItemSuffix =3
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xfa6eb94d13d9e440
+    End
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin CommandButton
+            Width =1701
+            Height =283
+            FontSize =11
+            FontWeight =400
+            FontName ="Calibri"
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            UseTheme =1
+            Shape =1
+            Gradient =12
+            BackThemeColorIndex =4
+            BackTint =60.0
+            BorderLineStyle =0
+            BorderColor =16777215
+            BorderThemeColorIndex =4
+            BorderTint =60.0
+            ThemeFontIndex =1
+            HoverThemeColorIndex =4
+            HoverTint =40.0
+            PressedThemeColorIndex =4
+            PressedShade =75.0
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =2437
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =1984
+                    Top =396
+                    Width =1757
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="TestDisplay"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =1984
+                    LayoutCachedTop =396
+                    LayoutCachedWidth =3741
+                    LayoutCachedHeight =711
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =285
+                            Top =390
+                            Width =1140
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette1"
+                            Caption ="TestDisplay"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =285
+                            LayoutCachedTop =390
+                            LayoutCachedWidth =1425
+                            LayoutCachedHeight =705
+                        End
+                    End
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =1247
+                    Top =1190
+                    Width =2608
+                    Height =397
+                    TabIndex =1
+                    ForeColor =4210752
+                    Name ="TestCommand"
+                    Caption ="TestVBA"
+                    OnClick ="[Event Procedure]"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =1247
+                    LayoutCachedTop =1190
+                    LayoutCachedWidth =3855
+                    LayoutCachedHeight =1587
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+            End
+        End
+    End
+End
+CodeBehindForm
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+Option Compare Database
+
+Private Sub TestCommand_Click()
+
+    Me.TestDisplay.Value = "hello world!"
+
+End Sub

+ 1465 - 0
tests/work/source/forms/FormTestComplex.bas

@@ -0,0 +1,1465 @@
+Version =20
+VersionRequired =20
+Begin Form
+    RecordSelectors = NotDefault
+    NavigationButtons = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =5
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =20239
+    DatasheetFontHeight =11
+    ItemSuffix =28
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xaf8dda3113d9e440
+    End
+    RecordSource ="SELECT TableTestBaseFields.auto_number, TableTestBaseFields.string, TableTestBas"
+        "eFields.long_string, TableTestBaseFields.integer, TableTestBaseFields.long_int, "
+        "TableTestBaseFields.real, TableTestBaseFields.real_one_decimal, TableTestBaseFie"
+        "lds.real_double, TableTestBaseFields.decimal, TableTestBaseFields.datetime, Tabl"
+        "eTestBaseFields.boolean, TableTestBaseFields.string_with_default, TableTestBaseF"
+        "ields.numeric_with_condition, TableTestBaseFields.nonnull_date, TableTestBaseFie"
+        "lds.indexed_integer_no_decimal, TableTestRelation1.Id FROM TableTestBaseFields I"
+        "NNER JOIN (TableTestRelation4 INNER JOIN (TableTestRelation3 INNER JOIN (TableTe"
+        "stRelation2 INNER JOIN TableTestRelation1 ON TableTestRelation2.Id = TableTestRe"
+        "lation1.FK_TTR1_TTR2) ON TableTestRelation3.Id = TableTestRelation2.FK_TTR2_TTR3"
+        ") ON TableTestRelation4.Id = TableTestRelation3.FK_TTR3_TTR4) ON TableTestBaseFi"
+        "elds.auto_number = TableTestRelation1.FK_TTR1_TTR2 WHERE (((TableTestRelation1.I"
+        "d)=1)); "
+    Caption ="I am FormTestComplex"
+    DatasheetFontName ="Calibri"
+    PrtMip = Begin
+        0x6801000068010000680100006801000000000000201c0000e010000001000000 ,
+        0x010000006801000000000000a10700000100000001000000
+    End
+    FilterOnLoad =0
+    SplitFormOrientation =1
+    SplitFormOrientation =1
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Line
+            BorderLineStyle =0
+            Width =1701
+            BorderThemeColorIndex =0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Image
+            BackStyle =0
+            OldBorderStyle =0
+            BorderLineStyle =0
+            SizeMode =3
+            PictureAlignment =2
+            Width =1701
+            Height =1701
+            BorderColor =16777215
+            GridlineColor =16777215
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin OptionButton
+            BorderLineStyle =0
+            LabelX =230
+            LabelY =-30
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin OptionGroup
+            SpecialEffect =3
+            BorderLineStyle =0
+            Width =1701
+            Height =1701
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin ComboBox
+            AddColon = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AllowValueListEdits =1
+            InheritValueList =1
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ForeThemeColorIndex =2
+            ForeShade =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Subform
+            BorderLineStyle =0
+            Width =1701
+            Height =1701
+            BorderThemeColorIndex =1
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            BorderShade =65.0
+            ShowPageHeaderAndPageFooter =1
+        End
+        Begin Chart
+            SpecialEffect =2
+            OldBorderStyle =1
+            Width =4536
+            Height =2835
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ForeThemeColorIndex =2
+            ForeShade =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin PageBreak
+            Width =283
+        End
+        Begin Tab
+            Width =5103
+            Height =3402
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            UseTheme =1
+            Shape =3
+            BackThemeColorIndex =1
+            BackShade =85.0
+            BorderLineStyle =0
+            BorderColor =16777215
+            BorderThemeColorIndex =2
+            BorderTint =60.0
+            HoverThemeColorIndex =1
+            PressedThemeColorIndex =1
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+        End
+        Begin Page
+            Width =1701
+            Height =1701
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin EmptyCell
+            Height =240
+            GridlineColor =12632256
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin NavigationControl
+            BorderWidth =1
+            BorderLineStyle =0
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin NavigationButton
+            Width =283
+            Height =283
+            ForeColor =-2
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            HoverColor =-2
+            HoverThemeColorIndex =2
+            HoverTint =20.0
+            PressedColor =-2
+            PressedThemeColorIndex =2
+            PressedTint =60.0
+            HoverForeColor =-2
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeColor =-2
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+            BackColor =15790320
+            BackThemeColorIndex =1
+            OldBorderStyle =0
+            BorderLineStyle =0
+            BorderThemeColorIndex =3
+            BorderShade =90.0
+            ThemeFontIndex =1
+            FontName ="Calibri"
+            FontWeight =400
+            FontSize =11
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+        End
+        Begin FormHeader
+            Height =453
+            BackColor =15849926
+            Name ="EntêteFormulaire"
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =2
+            BackTint =20.0
+        End
+        Begin PageHeader
+            DisplayWhen =1
+            Height =453
+            Name ="ZoneEntêtePage"
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+        End
+        Begin Section
+            CanGrow = NotDefault
+            Height =13889
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin Tab
+                    OverlapFlags =85
+                    TextFontFamily =18
+                    Left =390
+                    Top =340
+                    Width =5790
+                    Height =4762
+                    Name ="CtlTab0"
+                    FontName ="Cambria"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =390
+                    LayoutCachedTop =340
+                    LayoutCachedWidth =6180
+                    LayoutCachedHeight =5102
+                    BackColor =14277081
+                    BorderColor =13995605
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    ForeColor =4210752
+                    Begin
+                        Begin Page
+                            OverlapFlags =87
+                            Left =465
+                            Top =810
+                            Width =5640
+                            Height =4215
+                            BorderColor =10921638
+                            Name ="TestPage1"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =465
+                            LayoutCachedTop =810
+                            LayoutCachedWidth =6105
+                            LayoutCachedHeight =5025
+                            WebImagePaddingLeft =2
+                            WebImagePaddingTop =2
+                            WebImagePaddingRight =2
+                            WebImagePaddingBottom =2
+                        End
+                        Begin Page
+                            OverlapFlags =215
+                            Left =465
+                            Top =810
+                            Width =5640
+                            Height =4215
+                            BorderColor =10921638
+                            Name ="TestPage2"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =465
+                            LayoutCachedTop =810
+                            LayoutCachedWidth =6105
+                            LayoutCachedHeight =5025
+                            WebImagePaddingLeft =2
+                            WebImagePaddingTop =2
+                            WebImagePaddingRight =2
+                            WebImagePaddingBottom =2
+                        End
+                        Begin Page
+                            OverlapFlags =215
+                            Left =465
+                            Top =810
+                            Width =5640
+                            Height =4215
+                            BorderColor =10921638
+                            Name ="TestPage3"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =465
+                            LayoutCachedTop =810
+                            LayoutCachedWidth =6105
+                            LayoutCachedHeight =5025
+                            WebImagePaddingLeft =2
+                            WebImagePaddingTop =2
+                            WebImagePaddingRight =2
+                            WebImagePaddingBottom =2
+                        End
+                    End
+                End
+                Begin NavigationControl
+                    OldBorderStyle =0
+                    OverlapFlags =85
+                    Left =6750
+                    Top =870
+                    Height =914
+                    TabIndex =1
+                    BorderColor =16777215
+                    ForeColor =4138256
+                    Name ="ContrôleNavigation4"
+                    GroupTable =2
+                    TopPadding =0
+                    BottomPadding =0
+                    HorizontalAnchor =2
+
+                    LayoutCachedLeft =6750
+                    LayoutCachedTop =870
+                    LayoutCachedWidth =13950
+                    LayoutCachedHeight =1784
+                    LayoutGroup =2
+                    NavigationSubform ="SousFormulaireNavigation"
+                    GridlineColor =10921638
+                    GroupTable =2
+                    Begin
+                        Begin NavigationButton
+                            OverlapFlags =87
+                            Left =6750
+                            Top =870
+                            Width =1440
+                            Height =405
+                            ForeColor =4210752
+                            Name ="BoutonNavigation9"
+                            Caption ="Menu"
+                            GroupTable =1
+                            LeftPadding =0
+                            TopPadding =0
+                            BottomPadding =0
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =6750
+                            LayoutCachedTop =870
+                            LayoutCachedWidth =8190
+                            LayoutCachedHeight =1275
+                            LayoutGroup =1
+                            HoverColor =15849926
+                            PressedColor =13995605
+                            HoverForeColor =4210752
+                            PressedForeColor =4210752
+                            BackColor =16777215
+                            BorderColor =12835293
+                            GroupTable =1
+                            WebImagePaddingRight =2
+                        End
+                        Begin NavigationButton
+                            OverlapFlags =87
+                            Left =8220
+                            Top =870
+                            Width =1440
+                            Height =405
+                            ForeColor =4210752
+                            Name ="BoutonNavigation11"
+                            Caption ="Outils"
+                            GroupTable =1
+                            LeftPadding =0
+                            TopPadding =0
+                            BottomPadding =0
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =8220
+                            LayoutCachedTop =870
+                            LayoutCachedWidth =9660
+                            LayoutCachedHeight =1275
+                            ColumnStart =1
+                            ColumnEnd =1
+                            LayoutGroup =1
+                            HoverColor =15849926
+                            PressedColor =13995605
+                            HoverForeColor =4210752
+                            PressedForeColor =4210752
+                            BackColor =16777215
+                            BorderColor =12835293
+                            GroupTable =1
+                            WebImagePaddingRight =2
+                        End
+                        Begin NavigationButton
+                            OverlapFlags =87
+                            Left =9690
+                            Top =870
+                            Width =1875
+                            Height =405
+                            ForeColor =4210752
+                            Name ="BoutonNavigation5"
+                            Caption ="[Ajouter nouveau]"
+                            ControlTipText ="Add a form or report by dropping it here"
+                            GroupTable =1
+                            LeftPadding =0
+                            TopPadding =0
+                            BottomPadding =0
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =9690
+                            LayoutCachedTop =870
+                            LayoutCachedWidth =11565
+                            LayoutCachedHeight =1275
+                            ColumnStart =2
+                            ColumnEnd =2
+                            LayoutGroup =1
+                            DefaultInsertButton =1
+                            HoverColor =15849926
+                            PressedColor =13995605
+                            HoverForeColor =4210752
+                            PressedForeColor =4210752
+                            BackColor =16777215
+                            BorderColor =12835293
+                            GroupTable =1
+                            WebImagePaddingRight =2
+                        End
+                    End
+                End
+                Begin Subform
+                    OverlapFlags =85
+                    Left =6750
+                    Top =1785
+                    Width =7200
+                    Height =7200
+                    TabIndex =2
+                    BorderColor =10921638
+                    Name ="SousFormulaireNavigation"
+                    GroupTable =2
+                    TopPadding =0
+                    BottomPadding =0
+                    GridlineColor =10921638
+                    HorizontalAnchor =2
+                    VerticalAnchor =2
+
+                    LayoutCachedLeft =6750
+                    LayoutCachedTop =1785
+                    LayoutCachedWidth =13950
+                    LayoutCachedHeight =8985
+                    RowStart =1
+                    RowEnd =1
+                    LayoutGroup =2
+                    GroupTable =2
+                End
+                Begin PageBreak
+                    OverlapFlags =85
+                    Top =10714
+                    Name ="SautDePage13"
+                End
+                Begin OptionGroup
+                    OverlapFlags =85
+                    Left =396
+                    Top =5725
+                    Width =1146
+                    Height =1273
+                    TabIndex =3
+                    BorderColor =10921638
+                    Name ="Cadre14"
+                    DefaultValue ="1"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =396
+                    LayoutCachedTop =5725
+                    LayoutCachedWidth =1542
+                    LayoutCachedHeight =6998
+                    Begin
+                        Begin Label
+                            BackStyle =1
+                            OverlapFlags =215
+                            Left =516
+                            Top =5605
+                            Width =840
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette15"
+                            Caption ="Cadre14"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =516
+                            LayoutCachedTop =5605
+                            LayoutCachedWidth =1356
+                            LayoutCachedHeight =5920
+                            BackThemeColorIndex =-1
+                        End
+                        Begin OptionButton
+                            SpecialEffect =2
+                            OverlapFlags =87
+                            Left =582
+                            Top =5963
+                            OptionValue =1
+                            BorderColor =10921638
+                            Name ="Option17"
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =582
+                            LayoutCachedTop =5963
+                            LayoutCachedWidth =842
+                            LayoutCachedHeight =6203
+                            Begin
+                                Begin Label
+                                    OverlapFlags =247
+                                    Left =812
+                                    Top =5935
+                                    Width =510
+                                    Height =315
+                                    BorderColor =8355711
+                                    ForeColor =8355711
+                                    Name ="Étiquette18"
+                                    Caption ="opt1"
+                                    GridlineColor =10921638
+                                    LayoutCachedLeft =812
+                                    LayoutCachedTop =5935
+                                    LayoutCachedWidth =1322
+                                    LayoutCachedHeight =6250
+                                End
+                            End
+                        End
+                        Begin OptionButton
+                            SpecialEffect =2
+                            OverlapFlags =87
+                            Left =582
+                            Top =6293
+                            OptionValue =2
+                            BorderColor =10921638
+                            Name ="Option19"
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =582
+                            LayoutCachedTop =6293
+                            LayoutCachedWidth =842
+                            LayoutCachedHeight =6533
+                            Begin
+                                Begin Label
+                                    OverlapFlags =247
+                                    Left =812
+                                    Top =6265
+                                    Width =510
+                                    Height =315
+                                    BorderColor =8355711
+                                    ForeColor =8355711
+                                    Name ="Étiquette20"
+                                    Caption ="opt2"
+                                    GridlineColor =10921638
+                                    LayoutCachedLeft =812
+                                    LayoutCachedTop =6265
+                                    LayoutCachedWidth =1322
+                                    LayoutCachedHeight =6580
+                                End
+                            End
+                        End
+                        Begin OptionButton
+                            SpecialEffect =2
+                            OverlapFlags =87
+                            Left =582
+                            Top =6623
+                            OptionValue =3
+                            BorderColor =10921638
+                            Name ="Option21"
+                            GridlineColor =10921638
+
+                            LayoutCachedLeft =582
+                            LayoutCachedTop =6623
+                            LayoutCachedWidth =842
+                            LayoutCachedHeight =6863
+                            Begin
+                                Begin Label
+                                    OverlapFlags =247
+                                    Left =812
+                                    Top =6595
+                                    Width =510
+                                    Height =315
+                                    BorderColor =8355711
+                                    ForeColor =8355711
+                                    Name ="Étiquette22"
+                                    Caption ="opt3"
+                                    GridlineColor =10921638
+                                    LayoutCachedLeft =812
+                                    LayoutCachedTop =6595
+                                    LayoutCachedWidth =1322
+                                    LayoutCachedHeight =6910
+                                End
+                            End
+                        End
+                    End
+                End
+                Begin Chart
+                    ColumnHeads = NotDefault
+                    Enabled = NotDefault
+                    Locked = NotDefault
+                    SizeMode =1
+                    RowSourceTypeInt =2
+                    OverlapFlags =85
+                    Left =2551
+                    Top =5669
+                    Width =2041
+                    Height =1814
+                    TabIndex =4
+                    BorderColor =10921638
+                    ForeColor =4138256
+                    Name ="Graphique23"
+                    OleData = Begin
+                        0x00400000d0cf11e0a1b11ae1000000000000000000000000000000003e000300 ,
+                        0xfeff090006000000000000000000000001000000020000000000000000100000 ,
+                        0x0400000001000000feffffff0000000003000000ffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff52006f006f007400200045006e007400720079000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000016000500ffffffffffffffff050000000308020000000000c0000000 ,
+                        0x00000046000000000000000000000000e0df26f6c344d2010f000000401a0000 ,
+                        0x00000000010043006f006d0070004f0062006a00000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000120002010200000003000000ffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000400000069000000 ,
+                        0x0000000001004f006c0065000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000a000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000003500000014000000 ,
+                        0x0000000057006f0072006b0062006f006f006b00000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000012000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000006000000b00b0000 ,
+                        0x000000000e000000fdffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xfffffffffffffffffffffffffffffffffffffffffffffffffefffffffeffffff ,
+                        0x1000000011000000120000001300000014000000150000001600000017000000 ,
+                        0x18000000190000001a0000001b0000001c000000feffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff52006f006f007400200045006e007400720079000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000016000500ffffffffffffffff050000000308020000000000c0000000 ,
+                        0x00000046000000000000000000000000808a098cc444d2010600000080110000 ,
+                        0x00000000010043006f006d0070004f0062006a00000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000120002010200000003000000ffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000400000069000000 ,
+                        0x0000000001004f006c0065000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000a000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000003500000014000000 ,
+                        0x0000000057006f0072006b0062006f006f006b00000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000012000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x000000000000000000000000000000000000000000000000060000006d0a0000 ,
+                        0x00000000ffffffffffffffff05000000fdfffffffefffffffeffffff07000000 ,
+                        0x08000000090000000a0000000b0000000c0000001d000000ffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffff1e000000feffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff010000000200000036000000feffffff05000000feffffff07000000 ,
+                        0x08000000090000000a0000000b0000000c0000000d0000000e0000000f000000 ,
+                        0x1000000011000000120000001300000014000000150000001600000017000000 ,
+                        0x18000000190000001a0000001b0000001c0000001d0000001e0000001f000000 ,
+                        0x2000000021000000220000002300000024000000250000002600000027000000 ,
+                        0x28000000290000002a0000002b0000002c0000002d0000002e0000002f000000 ,
+                        0xfefffffffffffffffffffffffffffffffffffffffffffffffeffffff37000000 ,
+                        0x38000000390000003a0000003b0000003c0000003d0000003e0000003f000000 ,
+                        0x400000004100000042000000430000004400000045000000feffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff03004100630063006500730073004f0062006a005300690074006500 ,
+                        0x4400610074006100000000000000000000000000000000000000000000000000 ,
+                        0x0000000026000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000300000038000000 ,
+                        0x0000000002004f006c0065005000720065007300300030003000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000180002010100000004000000ffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000084040000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000ffffffff030000000400000001000000ffffffff0000000000000000 ,
+                        0x1d1c0000fc110000420400000100090000032102000002002400000000000400 ,
+                        0x000003010800050000000b0200000000050000000c02af001101050000000902 ,
+                        0x00000000050000000102ffffff000400000004010d0004000000020102000300 ,
+                        0x00001e00040000002701ffff030000001e00040000002701ffff030000001e00 ,
+                        0x050000000102ffffff00050000000902000000001c000000fb02f3ff00000000 ,
+                        0x0000bc0238000000000000000100000000000000000000000000000000000000 ,
+                        0x0000000038000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000100feff030a0000ffffffff0308020000000000c000000000000046 ,
+                        0x1a000000477261706869717565204d6963726f736f6674204772617068000700 ,
+                        0x000047426966663500100000004d5347726170682e43686172742e3800f439b2 ,
+                        0x71000000000000000000000000005c0020002200ac2022003b005b0052006500 ,
+                        0x64005d0009081000800605006732cd07c18001000606000042000200b0042200 ,
+                        0x020000001e043300050017000123002c002300230030005c0020002200ac2022 ,
+                        0x003b005c002d0023002c002300230030005c0020002200ac2022001e043d0006 ,
+                        0x001c000123002c002300230030005c0020002200ac2022003b005b0052006500 ,
+                        0x64005d005c002d0023002c002300230030005c0020002200ac2022001e043f00 ,
+                        0x07001d000123002c002300230030002e00300030005c0020002200ac2022003b ,
+                        0x005c002d0023002c002300230030002e00300030005c0020002200ac2022001e ,
+                        0x044900080022000123002c002300230030002e00300030005c0020002200ac20 ,
+                        0x22003b005b005200650064005d005c002d0023002c002300230030002e003000 ,
+                        0x30005c0020002200ac2022001e0471002a003600015f002d002a00200023002c ,
+                        0x002300230030005c0020002200ac2022005f002d003b005c002d002a00200023 ,
+                        0x002c002300230030005c0020002200ac2022005f002d003b005f002d002a0020 ,
+                        0x0022002d0022005c0020002200ac2022005f002d003b005f002d0040005f002d ,
+                        0x001e046b0029003300015f002d002a00200023002c002300230030005c002000 ,
+                        0x5f00ac205f002d003b005c002d002a00200023002c002300230030005c002000 ,
+                        0x5f00ac205f002d003b005f002d002a00200022002d0022005c0020005f00ac20 ,
+                        0x5f002d003b005f002d0040005f002d001e0481002c003e00015f002d002a0020 ,
+                        0x0023002c002300230030002e00300030005c0020002200ac2022005f002d003b ,
+                        0x005c002d002a00200023002c002300230030002e00300030005c0020002200ac ,
+                        0x2022005f002d003b005f002d002a00200022002d0022003f003f005c00200022 ,
+                        0x00ac2022005f002d003b005f002d0040005f002d001e047b002b003b00015f00 ,
+                        0x2d002a00200023002c002300230030002e00300030005c0020005f00ac205f00 ,
+                        0x2d003b005c002d002a00200023002c002300230030002e00300030005c002000 ,
+                        0x5f00ac205f002d003b005f002d002a00200022002d0022003f003f005c002000 ,
+                        0x5f00ac205f002d003b005f002d0040005f002d0031001e00a0000100ff7fbc02 ,
+                        0x0000000000cb0701430061006c00690062007200690031001e00a0000100ff7f ,
+                        0xbc020000000000cb0701430061006c00690062007200690031001e00c3000100 ,
+                        0xff7fbc020000000000cb0701430061006c00690062007200690031001e00c800 ,
+                        0x0100ff7fbc020000000200cb0701430061006c00690062007200690031001e00 ,
+                        0xa0000100ff7fbc020000000000cb0701430061006c0069006200720069003100 ,
+                        0x1e00a0000100ff7fbc020000000000cb0701430061006c006900620072006900 ,
+                        0x31001e00c8000100ff7fbc020000000000cb0701430061006c00690062007200 ,
+                        0x69003d0012003408ea061c11a80c000000200023002c00238500080024040000 ,
+                        0x000200000a00000009081000800600806732cd07c18001000606000060100a00 ,
+                        0x5a0f9c09c8000000030060100a004a10aa0aa0000100050060100a004a10aa0a ,
+                        0xa00000000600ac02020038009200e200380000000000ffffff00ff00000000ff ,
+                        0x00000000ff00ffff0000ff00ff0000ffff008000000000800000000080008080 ,
+                        0x00008000800000808000c0c0c000808080009999ff0099336600ffffcc00ccff ,
+                        0xff0066006600ff8080000066cc00ccccff0000008000ff00ff00ffff000000ff ,
+                        0xff008000800080000000008080000000ff0000ccff00ccffff00ccffcc00ffff ,
+                        0x990099ccff00ff99cc00cc99ff00ffcc99003366ff0033cccc0099cc0000ffcc ,
+                        0x0000ff990000ff66000066669900969696000033660033996600003300003333 ,
+                        0x0000993300009933660033339900333333005c100e00030000000000ffffff00 ,
+                        0x000000005210040001021000331000008c000400210021002610020007005310 ,
+                        0x0400000001005410040000000200551006000100000000010400110000000000 ,
+                        0x0000000800457870723130303004001400000001000000000b00536f6d6d6544 ,
+                        0x657265616c571001000159100800650465040f3cd21e3d000a0069ff1ffe7e36 ,
+                        0x761100003e000e0001010100010100010001000000005810020000001d001100 ,
+                        0x0301000100000001000100010001000100341000000110020000000210100000 ,
+                        0x00000000000000e8ffcb000080820033100000a0000400010001006410080000 ,
+                        0x0001000000010003100c00030001000400040001000000331000005110080000 ,
+                        0x010200000001000d100a00000003014500730074005110080001010200000001 ,
+                        0x0051100800020102000000000051100800030102000000000006100800ffff00 ,
+                        0x0000000000331000005f1002000000341000004510020000003410000003100c ,
+                        0x00030001000400040001000000331000005110080000010200000002000d100e ,
+                        0x00000005014f0075006500730074005110080001010200000002005110080002 ,
+                        0x0102000000000051100800030102000000000006100800ffff01000100000033 ,
+                        0x1000005f1002000000341000004510020000003410000003100c000300010004 ,
+                        0x00040001000000331000005110080000010200000003000d100c00000004014e ,
+                        0x006f007200640051100800010102000000030051100800020102000000000051 ,
+                        0x100800030102000000000006100800ffff020002000000331000005f10020000 ,
+                        0x0034100000451002000000341000004410040001000000241002000200251020 ,
+                        0x000202010000000000b4ffffff86ffffff0000000000000000b1004d00f00500 ,
+                        0x00331000004f1014000200020000000000000000000000000000000000261002 ,
+                        0x0006005110080000010200000000003410000024100200030025102000020201 ,
+                        0x0000000000b4ffffff86ffffff0000000000000000b1004d00f0050000331000 ,
+                        0x004f101400020002000000000000000000000000000000000026100200050051 ,
+                        0x10080000010200000000003410000046100200010041101200000099000000d0 ,
+                        0x0300006f0e0000dc0a0000331000004f1014000200020099000000d00300006f ,
+                        0x0e0000dc0a00001d101200000000000000000000000000000000000000331000 ,
+                        0x0020100800010001000100010062101200000000000100000001000000000000 ,
+                        0x00ef001e101e0002000301000000000000000000000000000000000000000023 ,
+                        0x004d000000341000001d10120001000000000000000000000000000000000033 ,
+                        0x1000001f102a0000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000001f011e101e000200030100000000000000 ,
+                        0x0000000000000000000000000023004d00000021100200010007100c00000000 ,
+                        0x000000000009004d003410000014101400000000000000000000000000000000 ,
+                        0x0000000000331000001710060000009600000022100a0000000000000000000f ,
+                        0x0034100000341000002510200002020100000000007904000049000000ae0600 ,
+                        0x003102000081004d0000000000331000004f1014000200020000000000000000 ,
+                        0x0070000000170000002610020003005110080000010200000000000d102a0000 ,
+                        0x0013015400610062006c00650054006500730074004200610073006500460069 ,
+                        0x0065006c006400730027100600010000000000341000003410000000020e0000 ,
+                        0x000000000000000000000000000a000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000001f011e101e000200030100000000 ,
+                        0x0000000000000000000000000000000023004d00000021100200010007100c00 ,
+                        0x000000000000000009004d003410000014101400000000000000000000000000 ,
+                        0x0000000000000000331000001710060000009600000022100a00000000000000 ,
+                        0x00000f0034100000341000002510200002020100000000007904000049000000 ,
+                        0xae0600003102000081004d0000000000331000004f1014000200020000000000 ,
+                        0x0000000070000000170000002610020007005110080000010200000000000d10 ,
+                        0x2a00000013015400610062006c00650054006500730074004200610073006500 ,
+                        0x4600690065006c00640073002710060001000000000034100000341000000002 ,
+                        0x0e0000000000040000000000030000000a000000000000000000000000000000 ,
+                        0x0000000001000002000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000002243616c6962726900000000000000000000000000 ,
+                        0x000000000000000000000000040000002d0100001c000000fb02100007000000 ,
+                        0x0000bc02000000000102022253797374656d0077c8173c00d8f223007e07cf77 ,
+                        0x4091d27728113d00e4f22300040000002d010100040000002d01000004000000 ,
+                        0x2d010100010000000200000036000000feffffff05000000feffffff07000000 ,
+                        0x08000000090000000a0000000b0000000c0000000d0000000e0000000f000000 ,
+                        0x1000000011000000120000001300000014000000150000001600000017000000 ,
+                        0x18000000190000001a0000001b0000001c0000001d0000001e0000001f000000 ,
+                        0x2000000021000000220000002300000024000000250000002600000027000000 ,
+                        0x28000000290000002a0000002b0000002c0000002d0000002e0000002f000000 ,
+                        0x3000000031000000320000003300000034000000fefffffffeffffff37000000 ,
+                        0x38000000390000003a0000003b0000003c0000003d0000003e0000003f000000 ,
+                        0x4000000041000000420000004300000044000000450000004600000047000000 ,
+                        0x48000000490000004a0000004b0000004c0000004d0000004e0000004f000000 ,
+                        0x5000000051000000520000005300000054000000550000005600000057000000 ,
+                        0x58000000590000005a0000005b0000005c0000005d0000005e0000005f000000 ,
+                        0x6000000061000000620000006300000064000000650000006600000067000000 ,
+                        0x68000000feffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ,
+                        0xffffffff03004100630063006500730073004f0062006a005300690074006500 ,
+                        0x4400610074006100000000000000000000000000000000000000000000000000 ,
+                        0x0000000026000200ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000300000038000000 ,
+                        0x0000000002004f006c0065005000720065007300300030003000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000180002010100000004000000ffffffff000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000720d0000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000ffffffffffffffffffffffff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000ffffffff030000000400000001000000ffffffff0000000000000000 ,
+                        0x1d1c0000fc110000300d00000100090000039806000008002400000000000400 ,
+                        0x000003010800050000000b0200000000050000000c02af001101050000000902 ,
+                        0x00000000050000000102ffffff000400000004010d0004000000020102000300 ,
+                        0x00001e00040000002701ffff030000001e00040000002701ffff030000001e00 ,
+                        0x050000000102ffffff00050000000902000000001c000000fb02f3ff00000000 ,
+                        0x0000bc0238000000000000000100000000000000000000000000000000000000 ,
+                        0x0000000038000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000100feff030a0000ffffffff0308020000000000c000000000000046 ,
+                        0x1a000000477261706869717565204d6963726f736f6674204772617068000700 ,
+                        0x000047426966663500100000004d5347726170682e43686172742e3800f439b2 ,
+                        0x71000000000000000000000000005c0020002200ac2022003b005b0052006500 ,
+                        0x64005d0009081000800605006732cd07c18001000606000042000200b0042200 ,
+                        0x020000001e043300050017000123002c002300230030005c0020002200ac2022 ,
+                        0x003b005c002d0023002c002300230030005c0020002200ac2022001e043d0006 ,
+                        0x001c000123002c002300230030005c0020002200ac2022003b005b0052006500 ,
+                        0x64005d005c002d0023002c002300230030005c0020002200ac2022001e043f00 ,
+                        0x07001d000123002c002300230030002e00300030005c0020002200ac2022003b ,
+                        0x005c002d0023002c002300230030002e00300030005c0020002200ac2022001e ,
+                        0x044900080022000123002c002300230030002e00300030005c0020002200ac20 ,
+                        0x22003b005b005200650064005d005c002d0023002c002300230030002e003000 ,
+                        0x30005c0020002200ac2022001e0471002a003600015f002d002a00200023002c ,
+                        0x002300230030005c0020002200ac2022005f002d003b005c002d002a00200023 ,
+                        0x002c002300230030005c0020002200ac2022005f002d003b005f002d002a0020 ,
+                        0x0022002d0022005c0020002200ac2022005f002d003b005f002d0040005f002d ,
+                        0x001e046b0029003300015f002d002a00200023002c002300230030005c002000 ,
+                        0x5f00ac205f002d003b005c002d002a00200023002c002300230030005c002000 ,
+                        0x5f00ac205f002d003b005f002d002a00200022002d0022005c0020005f00ac20 ,
+                        0x5f002d003b005f002d0040005f002d001e0481002c003e00015f002d002a0020 ,
+                        0x0023002c002300230030002e00300030005c0020002200ac2022005f002d003b ,
+                        0x005c002d002a00200023002c002300230030002e00300030005c0020002200ac ,
+                        0x2022005f002d003b005f002d002a00200022002d0022003f003f005c00200022 ,
+                        0x00ac2022005f002d003b005f002d0040005f002d001e047b002b003b00015f00 ,
+                        0x2d002a00200023002c002300230030002e00300030005c0020005f00ac205f00 ,
+                        0x2d003b005c002d002a00200023002c002300230030002e00300030005c002000 ,
+                        0x5f00ac205f002d003b005f002d002a00200022002d0022003f003f005c002000 ,
+                        0x5f00ac205f002d003b005f002d0040005f002d0031001e00a0000100ff7fbc02 ,
+                        0x0000000000c90701430061006c00690062007200690031001e00a0000100ff7f ,
+                        0xbc020000000000c90701430061006c00690062007200690031001e00c3000100 ,
+                        0xff7fbc020000000000c90701430061006c00690062007200690031001e00a000 ,
+                        0x0100ff7fbc020000000000c90701430061006c00690062007200690031001e00 ,
+                        0xa0000100ff7fbc020000000000c90701430061006c0069006200720069003100 ,
+                        0x1e00c8000100ff7fbc020000000000c90701430061006c006900620072006900 ,
+                        0x31001e00c8000100ff7fbc020000000200c90701430061006c00690062007200 ,
+                        0x69003d0012003408ea061c11a80c000000200023002c00238500080024040000 ,
+                        0x000200000a00000009081000800600806732cd07c18001000606000060100a00 ,
+                        0x4a10aa0aa0000000030060100a004a10aa0aa0000100050060100a005a0f9c09 ,
+                        0xc80000000700ac02020038009200e200380000000000ffffff00ff00000000ff ,
+                        0x00000000ff00ffff0000ff00ff0000ffff008000000000800000000080008080 ,
+                        0x00008000800000808000c0c0c000808080009999ff0099336600ffffcc00ccff ,
+                        0xff0066006600ff8080000066cc00ccccff0000008000ff00ff00ffff000000ff ,
+                        0xff008000800080000000008080000000ff0000ccff00ccffff00ccffcc00ffff ,
+                        0x990099ccff00ff99cc00cc99ff00ffcc99003366ff0033cccc0099cc0000ffcc ,
+                        0x0000ff990000ff66000066669900969696000033660033996600003300003333 ,
+                        0x0000993300009933660033339900333333005c100e00030000000000ffffff00 ,
+                        0x000000005210040001021000331000008c000400210021002610020006005310 ,
+                        0x0400000004005410040000000500551006000100000000010400130000000100 ,
+                        0x0000000a0031657220207472696d2e0400120000000200000000090032652020 ,
+                        0x7472696d2e04001200000003000000000900336520207472696d2e0400120000 ,
+                        0x0004000000000900346520207472696d2e04000c000100000000000003004573 ,
+                        0x7403000f0001000100000000666666666666344003000f000100020000000066 ,
+                        0x66666666663b4003000f0001000300000000000000000080564003000f000100 ,
+                        0x0400000000666666666666344004000e000200000000000005004f7565737403 ,
+                        0x000f00020001000000009a99999999993e4003000f0002000200000000cdcccc ,
+                        0xcccc4c434003000f0002000300000000cdcccccccc4c414003000f0002000400 ,
+                        0x0000009a99999999993f4004000d000300000000000004004e6f726403000f00 ,
+                        0x030001000000003333333333f3464003000f0003000200000000333333333373 ,
+                        0x474003000f0003000300000000000000000080464003000f0003000400000000 ,
+                        0x3333333333f34540571001000159100800650465040f3cd21e3d000a0069ff1f ,
+                        0xfe7e36761100003e000e0001010100010100010001000000005810020000001d ,
+                        0x0011000301000100000001000100010001000100341000000110020000000210 ,
+                        0x10000000000000000000e8ffcb000080820033100000a0000400010001006410 ,
+                        0x0800000001000000010003100c00030001000400040001000000331000005110 ,
+                        0x080000010200000001000d100a00000003014500730074005110080001010200 ,
+                        0x0000010051100800020102000000000051100800030102000000000006100800 ,
+                        0xffff000000000000331000005f10020000003410000045100200000034100000 ,
+                        0x03100c0003000100040004000100000033100000511008000001020000000200 ,
+                        0x0d100e00000005014f0075006500730074005110080001010200000002005110 ,
+                        0x0800020102000000000051100800030102000000000006100800ffff01000100 ,
+                        0x0000331000005f1002000000341000004510020000003410000003100c000300 ,
+                        0x01000400040001000000331000005110080000010200000003000d100c000000 ,
+                        0x04014e006f007200640051100800010102000000030051100800020102000000 ,
+                        0x000051100800030102000000000006100800ffff020002000000331000005f10 ,
+                        0x0200000034100000451002000000341000004410040009000000241002000200 ,
+                        0x251020000202010000000000b4ffffff86ffffff0000000000000000b1004d00 ,
+                        0xf0030000331000004f1014000200020000000000000000000000000000000000 ,
+                        0x2610020003005110080000010200000000003410000024100200030025102000 ,
+                        0x0202010000000000b4ffffff86ffffff0000000000000000b1004d00f0030000 ,
+                        0x331000004f101400020002000000000000000000000000000000000026100200 ,
+                        0x0500511008000001020000000000341000004610020001004110120000004402 ,
+                        0x0000c4040000c30c000056070000331000004f1014000200020099000000d003 ,
+                        0x00006f0e0000dc0a00001d101200000000000000000000000000000000000000 ,
+                        0x3310000020100800010001000100010062101200000000000100000001000000 ,
+                        0x00000000ef001e101e0002000301000000000000000000000000000000000000 ,
+                        0x000023004d000000341000001d10120001000000000000000000000000000000 ,
+                        0x0000331000001f102a0000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000001f011e101e000200030100000000 ,
+                        0x0000000000000000000000000000000023004d00000021100200010007100c00 ,
+                        0x000000000000000009004d003410000014101400000000000000000000000000 ,
+                        0x0000000000000000331000001710060000009600000022100a00000000000000 ,
+                        0x00000f0034100000341000002510200002020100000000007904000049000000 ,
+                        0xae0600003102000081004d0000000000331000004f1014000200020000000000 ,
+                        0x0000000070000000170000002610020007005110080000010200000000000d10 ,
+                        0x2a00000013015400610062006c00650054006500730074004200610073006500 ,
+                        0x4600690065006c00640073002710060001000000000034100000341000000002 ,
+                        0x0e0000000000040000000000030000000a000000000000000000000000000000 ,
+                        0x0000000001000002000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000002243616c6962726900000000000000000000000000 ,
+                        0x000000000000000000000000040000002d0100001c000000fb02100007000000 ,
+                        0x0000bc02000000000102022253797374656d0077308d4200e4f021007e07cf77 ,
+                        0x4091d27788534500f0f02100040000002d010100040000002d0100001c000000 ,
+                        0xfb02f5ff000000000000bc02000000000000002243616c696272690000000000 ,
+                        0x0000000000000000000000000000000000000000040000002d01020004000000 ,
+                        0x2d010100040000002d010200040000002d010000040000002d01010004000000 ,
+                        0x2d010000040000002d010100040000002701ffff030000001e00040000002d01 ,
+                        0x0000050000000102ffffff0005000000090200000000070000001604ae001001 ,
+                        0x00000000040000002d010100040000002701ffff030000001e00040000002d01 ,
+                        0x0000050000000102ffffff0005000000090200000000070000001604ae001001 ,
+                        0x0000000008000000fa0200000100000000000000040000002d01030008000000 ,
+                        0xfa0200000000000000000000040000002d010400040000002d01010004000000 ,
+                        0x2701ffff030000001e00040000002d010000040000002d010300050000000102 ,
+                        0xffffff00050000000902000000000700000016048900020132002a0005000000 ,
+                        0x140275002b000400000004010d00040000000201010005000000130275000101 ,
+                        0x05000000140265002b000500000013026500010105000000140256002b000500 ,
+                        0x000013025600010105000000140246002b000500000013024600010105000000 ,
+                        0x140237002b0005000000130237000101040000002d010400040000002d010100 ,
+                        0x040000002701ffff030000001e00040000002d010000040000002d0103000500 ,
+                        0x00000102ffffff0005000000090200000000070000001604ae00100100000000 ,
+                        0x040000002d010400040000002d010100040000002701ffff030000001e000400 ,
+                        0x00002d010000040000002d010300050000000102ffffff000500000009020000 ,
+                        0x0000070000001604aa000c0104000400040000002d010400040000002d010100 ,
+                        0x040000002701ffff030000001e00040000002d010000040000002d0103000500 ,
+                        0x00000102ffffff00050000000902000000000700000016048600030136002a00 ,
+                        0x040000002d010400040000002d010100040000002701ffff030000001e000400 ,
+                        0x00002d010000040000002d010300050000000102ffffff000500000009020000 ,
+                        0x00000700000016048500040134002a0008000000fa0200000100000000000000 ,
+                        0x040000002d01050004000000f001030007000000fc0200009999ff0000000400 ,
+                        0x00002d010300050000000902ffffff000500000001029999ff00040000000401 ,
+                        0x0d0004000000020102000e000000240305003400740040007400400084003400 ,
+                        0x8400340074000e000000240305006a006f0076006f00760084006a0084006a00 ,
+                        0x6f000e000000240305009f003f00ab003f00ab0084009f0084009f003f000e00 ,
+                        0x000024030500d5007400e1007400e1008400d5008400d500740007000000fc02 ,
+                        0x0000993366000000040000002d01060004000000f00103000500000001029933 ,
+                        0x66000e0000002403050040006c004c006c004c0084004000840040006c000e00 ,
+                        0x00002403050076006600810066008100840076008400760066000e0000002403 ,
+                        0x0500ab006900b7006900b7008400ab008400ab0069000e00000024030500e100 ,
+                        0x6c00ec006c00ec008400e1008400e1006c0007000000fc020000ffffcc000000 ,
+                        0x040000002d01030004000000f0010600050000000102ffffcc000e0000002403 ,
+                        0x05004c00610058006100580084004c0084004c0061000e000000240305008100 ,
+                        0x60008d0060008d00840081008400810060000e00000024030500b7006100c300 ,
+                        0x6100c3008400b7008400b70061000e00000024030500ec006200f8006200f800 ,
+                        0x8400ec008400ec006200040000002d01040007000000fc020000ffffff000000 ,
+                        0x040000002d010600040000002d010100040000002701ffff030000001e000400 ,
+                        0x00002d010000040000002d010300040000002d010500050000000102ffffcc00 ,
+                        0x050000000902ffffff000700000016048600030136002a00040000002d010400 ,
+                        0x040000002d010600040000002d010100040000002701ffff030000001e000400 ,
+                        0x00002d010000040000002d010300040000002d010500050000000102ffffcc00 ,
+                        0x050000000902ffffff00070000001604ae0010010000000008000000fa020000 ,
+                        0x0100000000000000040000002d01070004000000f00105000500000014023700 ,
+                        0x2b00050000000102ffffff000400000004010d00040000000201010005000000 ,
+                        0x130284002b00040000002d010200050000001402840028000500000013028400 ,
+                        0x2b000500000014027500280005000000130275002b0005000000140265002800 ,
+                        0x05000000130265002b000500000014025600280005000000130256002b000500 ,
+                        0x000014024600280005000000130246002b000500000014023700280005000000 ,
+                        0x130237002b0005000000140284002b0005000000130284000101050000001402 ,
+                        0x87002b0005000000130284002b00050000001402870061000500000013028400 ,
+                        0x610005000000140287009600050000001302840096000500000014028700cc00 ,
+                        0x0500000013028400cc0005000000140287000101050000001302840001010400 ,
+                        0x00002d010000040000002d010100040000002d010000040000002d0104000400 ,
+                        0x00002d010600040000002d010100040000002701ffff030000001e0004000000 ,
+                        0x2d010000040000002d010300040000002d010700050000000102ffffff000500 ,
+                        0x00000902ffffff000700000016042000c10007004f0005000000090200000000 ,
+                        0x0400000004010d00040000000201010024000000320a0c005200130000005461 ,
+                        0x626c6554657374426173654669656c6473000600060007000300070006000700 ,
+                        0x050005000700060005000700060003000700030007000500040000002d010100 ,
+                        0x040000002d010000040000002d010400040000002d010600040000002d010100 ,
+                        0x040000002701ffff030000001e00040000002d010000040000002d0103000400 ,
+                        0x00002d010700050000000102ffffff0005000000090200000000070000001604 ,
+                        0xae00100100000000040000002d010400040000002d010600040000002d010100 ,
+                        0x040000002701ffff030000001e00040000002d010000040000002d0103000400 ,
+                        0x00002d010700050000000102ffffff0005000000090200000000070000001604 ,
+                        0xae00100100000000040000002d010200040000002d010400040000002d010600 ,
+                        0x040000002d010100040000002701ffff030000001e00040000002d0102000400 ,
+                        0x00002d010300040000002d010700050000000102ffffff000500000009020000 ,
+                        0x0000070000001604ae001001000000000400000004010d000400000002010100 ,
+                        0x09000000320a7e001d0001000000300006000a000000320a6f00170002000000 ,
+                        0x3230060006000a000000320a5f001700020000003430060006000a000000320a ,
+                        0x50001700020000003630060006000a000000320a400017000200000038300600 ,
+                        0x06000c000000320a310011000300000031303000060006000600040000002d01 ,
+                        0x0400040000002d010600040000002d010100040000002701ffff030000001e00 ,
+                        0x040000002d010200040000002d010300040000002d010700050000000102ffff ,
+                        0xff0005000000090200000000070000001604ae00100100000000040000002d01 ,
+                        0x0400040000002d010600040000002d010100040000002701ffff030000001e00 ,
+                        0x040000002d010200040000002d010300040000002d010700050000000102ffff ,
+                        0xff0005000000090200000000070000001604ae00100100000000040000000401 ,
+                        0x0d00040000000201010016000000320a8e0031000a0000003165722020747269 ,
+                        0x6d2e060006000400020002000400040003000900030015000000320a8e006800 ,
+                        0x09000000326520207472696d2e00060006000200020004000400030009000300 ,
+                        0x15000000320a8e009e0009000000336520207472696d2e000600060002000200 ,
+                        0x0400040003000900030015000000320a8e00d30009000000346520207472696d ,
+                        0x2e00060006000200020004000400030009000300040000002d01040004000000 ,
+                        0x2d010600040000002d010100040000002701ffff030000001e00040000002d01 ,
+                        0x0200040000002d010300040000002d010700050000000102ffffff0005000000 ,
+                        0x090200000000070000001604ae0010010000000007000000fc02000000000000 ,
+                        0x0000040000002d01050004000000f0010300040000002d01040004000000f001 ,
+                        0x0700040000002d010100040000002701ffff030000001e00050000000102ffff ,
+                        0xff0005000000090200000000040000002701ffff030000001e00050000000102 ,
+                        0xffffff0005000000090200000000040000002701ffff03000000000000000000 ,
+                        0x00000000000000000000000000004e414e490000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000040000002d010000040000002d010100040000002d01000004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604ae0010010000000004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604ae0010010000000004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604aa000c010400040004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604a10003012c000e0004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604a20004012a000c0004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604a10003012c000e0004000000 ,
+                        0x2d010100040000002701ffff030000001e00040000002d010000050000000102 ,
+                        0xffffff0005000000090200000000070000001604ae0010010000000004000000 ,
+                        0x2d010100040000002d010000040000002d010100040000002701ffff03000000 ,
+                        0x1e00040000002d010000050000000102ffffff00050000000902000000000700 ,
+                        0x000016042000c10007004f000400000004010d00040000000201010024000000 ,
+                        0x320a0c005200130000005461626c6554657374426173654669656c6473000600 ,
+                        0x0600070003000700060007000500050007000600050007000600030007000300 ,
+                        0x07000500040000002d010100040000002d010000040000002d01010004000000 ,
+                        0x2701ffff030000001e00040000002d010000050000000102ffffff0005000000 ,
+                        0x090200000000070000001604ae00100100000000040000002d01010004000000 ,
+                        0x2701ffff030000001e00050000000102ffffff00050000000902000000000400 ,
+                        0x00002701ffff030000001e00050000000102ffffff0005000000090200000000 ,
+                        0x040000002701ffff030000000000000000000000000000000000000000000000 ,
+                        0x4e414e490000000000000902ffffff000500000001029999ff00040000000401 ,
+                        0x0d0004000000020102000e000000240305003400740040007400400084003400 ,
+                        0x8400340074000e000000240305006a006f0076006f00760084006a0084006a00 ,
+                        0x6f000e000000240305009f003f00ab003f00ab0084009f0084009f003f000e00 ,
+                        0x000024030500d5007400e1007400e1008400d5008400d500740007000000fc02 ,
+                        0x0000993366000000040000002d01060004000000f00103000500000001029933 ,
+                        0x66000e0000000000
+                    End
+                    RowSourceType ="Table/Query"
+                    RowSource ="SELECT Null,Sum([real]) AS [SommeDereal] FROM [TableTestBaseFields];"
+                    LinkChildFields ="auto_number"
+                    LinkMasterFields ="auto_number"
+                    Class ="MSGraph.Chart.8"
+                    OLEClass ="Microsoft Graph Chart"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2551
+                    LayoutCachedTop =5669
+                    LayoutCachedWidth =4592
+                    LayoutCachedHeight =7483
+                End
+                Begin Line
+                    OverlapFlags =85
+                    Left =6349
+                    Top =737
+                    Width =0
+                    Height =7370
+                    Name ="Trait24"
+                    GridlineColor =10921638
+                    LayoutCachedLeft =6349
+                    LayoutCachedTop =737
+                    LayoutCachedWidth =6349
+                    LayoutCachedHeight =8107
+                End
+                Begin Image
+                    Left =566
+                    Top =7483
+                    Width =1191
+                    Height =1077
+                    BorderColor =10921638
+                    Name ="Image25"
+                    Picture ="logo.png"
+                    GridlineColor =10921638
+                    ImageData = Begin
+                        0x89504e470d0a1a0a0000000d4948445200000200000002000803000000c3a624 ,
+                        0xc80000000467414d410000b18f0bfc6105000000206348524d00007a26000080 ,
+                        0x840000fa00000080e8000075300000ea6000003a98000017709cba513c000002 ,
+                        0xf1504c5445000000006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df000 ,
+                        0x6df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0 ,
+                        0x006df0006df0006df0006df0006df0006df0006df0006df0006df0006df0006d ,
+                        0xf0006df0006df0006df0006df0006df0006df000000062c5d3e0000000f97452 ,
+                        0x4e53007408e46504da5701ce48c13ab32dfda422fa9619f58711ef790ae76a05 ,
+                        0xdd5c02d24dc63fb732fea926fb9a1cf78c13f17e0cea6f07e16103d652ca44bc ,
+                        0x36ae2afc9f1ff99116f3820eec317d60436edb704cbb2b99f61278e356c534a3 ,
+                        0xe9cf3ead200bd8b828f410e0c2a0f8065dcc3baa1d88ed67d545b4259271eb24 ,
+                        0xd9239d5190219b1e97941b188e17158a1485f28381f00f7f7c0d7a592793626b ,
+                        0xa675b0b9c32f387342df4b1a86d4cba177a2cd404fa5d05ba750e8af3c53c955 ,
+                        0x80ab5a2e2cde096db68bb263335edc66d16c9e3568c85f8dbf84499c41547bb5 ,
+                        0xee474669c4b1be4e293dac397258c79564bd98bae6373076d3d78f68b7076800 ,
+                        0x000001624b47440088051d48000000097048597300000dd700000dd70142289b ,
+                        0x780000000774494d4507e00b0709192891f382e70000159f4944415478daeddd ,
+                        0x795c5675bec0f12384e242e4868aa26822498a5b1ab813281a6a2ea1a6a6566e ,
+                        0x9826b9b5a88968a3b9a4e6924e26da58a335deca5b8ee6945a5663352ed9e6d4 ,
+                        0x4cb77bbb75ab516b9a69e6fc770111e19c6739fbef39e77c3e7ff92a79ceeffc ,
+                        0x7eef041eced724898888888888888888887c508d28d12b207145d590e4e86b62 ,
+                        0x442f83c414734db42cc9b25cb356ace8a590f3c5d6aa597af8650064b9761dd1 ,
+                        0xab21a7ab53bbfce82f0390e5baf5442f889cac5edd8a83bf024096e3ae15bd28 ,
+                        0x72aa6be32a8ffd2a0039febafaa217464e54ffba78391000596ed0b091e8c591 ,
+                        0xdd356ad8a0ea99570320cb8d139a885e20d9599384c6d54f5c0140969b364b14 ,
+                        0xbd48b2abc4664d95e7ad0220cbcd5b24895e28d951528be6ead30e0040965bb6 ,
+                        0x4a16bd58b2bae4562d039d754000b2dcba8de8f592b5b5691df8a4830090e5eb ,
+                        0xdb8a5e325957dbeb839d735000b29cd24ef4b2c99adaa5043fe51000e4d41bda ,
+                        0x8b5e3a99affd0da9b23100b29c766307d1cb277375b8312de411870620cb1dd3 ,
+                        0x3b89be05325ea7f48e610e381c0059eedca5abe8db206375edd239ecf1860720 ,
+                        0xcbdd6eea2efa56487fdd6feaa6e170b50090e51e376788be1dd257c6cd3d341d ,
+                        0xad3600b29cd953f41d919e7a666a3c58ad0064b9576fd137455aebdd4bf3b16a ,
+                        0x0720cb7dfa8abe31d252df3e3a0e550f0059eed75ff4cd51b8faf7d375a4fa00 ,
+                        0xc859b7648bbe410a55f62d59fa4e54270059ce193050f44d52b0060ec8d17b9e ,
+                        0xba01c872eea0c1a26f9402357850aefed3340040966f65a030f28aaa71ab91b3 ,
+                        0x34044066a030d22a1bf3339441000c14465497c7fc9c05c04061e45431e6e734 ,
+                        0x00060a23a3ca313fe701305028be2a637e2200305028b66a637e420030502830 ,
+                        0xc5989f20000c140a4a35e6270c000385020a30e627100003850e1770cc4f2800 ,
+                        0x060a1d2cc8989f60000c143a55b0313fe100182874a2e0637e1100409653f244 ,
+                        0x6f90b7cb4b317f46b60260a0d0ce428ff9450600060a6d2bdc985fa40060a0d0 ,
+                        0x96c28ff9450e0059ee3c8481424beb3a24fc985f240160a0d0d2b48df9451600 ,
+                        0x59ee319481424bca18aa6dcc2fd2003050684d3d33ed3c235b01c872af61a2b7 ,
+                        0xcfed0dd33ee667398021b70d377f01060acda46bcc2f48c36f1b6210c0082976 ,
+                        0xe428f30b60a0d0683ac7fc02366a64ac34c23080d26ecf1f6d760d0c141a4af7 ,
+                        0x989fbad1f9b797bd922900923466ec1d6617c240a1ee0c8cf929bb63ec98cbaf ,
+                        0x65128024c58c1b6f76310c14eacad0985ff5c68fab1cde320da0b409779a7dfe ,
+                        0x908142cd191cf3ab52833b2754793d2b004852a341134dae8a81424d191ef3ab ,
+                        0x6ce2a0ea0f6a5b034092ba0f9d6472650c1486cdc4985f4593862adf84b70a40 ,
+                        0x6993ef32f995290385a13333e65756d65d93d52f6a210049ba3bdde4e3c80c14 ,
+                        0x06cfdc989f2c374dbf3bd0cb5a0a4092ee6931c5dc3219280c9cd931bf292dee ,
+                        0x09fcc2160328fd3c5567aaa9479318280c90c931bfd4a975827e7d653980d2a6 ,
+                        0x359c6e66b90c142a3239e637bde1b4102f6e0700499a51a3c0cc921928ac92c9 ,
+                        0x31bf821a3342bebc3d002429a3e74c33cb66a0b02293637e337b867bf0c62e00 ,
+                        0xa5e5dd3bcbc4d2192894cc8ef9cdba57c320868d002469601733ebf7fd40a1b9 ,
+                        0x31bfe65d34fd90cd56009234fbbe3926eec1df0385a6c6fce6dc375bdb556c06 ,
+                        0x505ae1fd264616c6fb76a0b0ad891fb2a6dd5fa8f93af60390a4b9f3e61bbf19 ,
+                        0x7f0e149a19f39b3f6fae8e2b3901a0f46bd9050b0ddf8f0f070acd8cf92d5ca0 ,
+                        0xeffb27670094f6c083866fca67038526c6fc521f7c40efd51c0320490f3d6cf8 ,
+                        0x49161f0d149a18f3cb7df821fdd7731080240d5eb4d8e8cdf964a0d0c498dfe2 ,
+                        0x45861eac731480244d357a7bbe18283435e637d5d835dd03c0f3038526c7fc7c ,
+                        0x0040963397883e25fb5a92696e6f7c0140f6f04363754c6e0d005c9ecf003c62 ,
+                        0xec7b5d00284a7bc4a500462c2d3242a012c0b2628fb4cc0c80b4a2a59507e836 ,
+                        0x0092b47c85fe279d2a01141bd8ae88acd83880062b96573940f70190a4ec7cbd ,
+                        0x438e00a82c273fbbda01ba1180243dfa2b7d04005051ceaf1e551ca03b014852 ,
+                        0x87957a1e1c034079b35656fe78ccf5002469d5c3da7ffc0180d23a3ebc2ac001 ,
+                        0xba178024352ad6fa378d00401e5d5c6d6cc2130024e9b1d5da08f81ec0e8d58f ,
+                        0x053940770390a435e95ae61f7c0ea071fa9aa007e8760092b4765df889325f03 ,
+                        0x98be6e6d8803743f00497a3c21dc33433e06909bf078c803f4020049eab47e43 ,
+                        0xc85df02d800deb833c14e7310092346663a887a27c0aa0f3c631610fd02b0024 ,
+                        0xa9c9139b825ed69700363d116258da83002469f3966023b13e04d074cb664d07 ,
+                        0xe825009234786be06122df0198bf35ccb3be1e0520494f6e0bf41722fa0cc0ad ,
+                        0xdb9ed47c805e0320495dc7aa2feb2f006335cc4278188014e0fafe02a0eb0001 ,
+                        0xe0ce000000000000000000000094014015000000000000000000008037020000 ,
+                        0x0000000000000000500600550000000000000000000000de0800000000000000 ,
+                        0x0000004019005401000000000000000000007823000000000000000000000065 ,
+                        0x00500500000000000000000000e08d0000000000000000000000940140150000 ,
+                        0x0000000000000000803702000000000000000000005006005500000000000000 ,
+                        0x00000000de080000000000000000000040190054010000000000000000000078 ,
+                        0x2300000000000000000000006500500500000000000000000000e08ddc0aa0e9 ,
+                        0xa875db7f9d0c00d3090490fcebedeb46350db1b65000ca9b3efea91d79b30160 ,
+                        0x26310066e7ed786afcf4706b0b0ba0bc9cda454fd7bb070006731cc03df59e2e ,
+                        0xaa9da3696dda0094173f656749ef4e00d09f93003af52ed939255efbda7400b8 ,
+                        0x5c8f5d5dda740080ae1c02d0a14d975d3df4ae4d3780f2baed9e57eba1580068 ,
+                        0xcc7600b10fd59ab7bb9ba1b5190350de8667060cfd4d1200c2672780a4df0c1d ,
+                        0xf0cc06e36b3301a0bc597356b4d893088090d90420714f8b157366995c9b5900 ,
+                        0xe5c5675ef7ec734d00102ceb013479eed9eb32757ca9173c4b005ceeb7fd86ec ,
+                        0xdd078000590a60dfde21fd7e6bddda2c0450dec494e75fb8f26b005464198017 ,
+                        0x9e4f9968f1daac06503500546419001b0a05e096927b7fd7d8c46b03a0229100 ,
+                        0x1acfd95f724b887f1feea781b1cb47fec78b2f8d3674edf971cd5e0efbfeb1fa ,
+                        0xc30050b57b5e6e1637dfd0553b4eba6e6c9bfab192153f0e4e5e7260db7fbed2 ,
+                        0xd1c02ad25e5af9ea72001803b0fcd5952fa519b85e4eeb835b7fff50b2a63f41 ,
+                        0xf43c0f90d17ed9d683adb5fd8ca15a870e97bc1605003d00a25e2b397c48ff95 ,
+                        0x1a2cbc7fcb9169313a3e85e87f202466da912e37bcd040f7d2fe505c6b2e0054 ,
+                        0x05d892b9b58affa07b7fb3a6dc3568dced49814ecc96278292fabffec6d14cbd ,
+                        0x7f3e451f5db447f16c81fa37f919c0ec3d8b8e46eb7cf5f8e1bbd61f3bde3dc4 ,
+                        0x61d9f748d8ec376b0dba6b4a96aef5ce1a9f7ea41100ae7475271a1d491fafef ,
+                        0x8dddd4b7e2e6dd977722ec31d9fd4c60f7e3c7d6ef1aaeeb8dc982836f4f4802 ,
+                        0x805c012069c2db070b74bd648f77de1d3a41eb233ace3c141a95d72ae18f2d75 ,
+                        0x30185d77de8181001878605e5d3ddf6647ef5e7d72cf93ba8ec6c9a78213df7b ,
+                        0xbfa69ebdf940fd8ffc05e0033d2ff4c19f0a67183814518f851bcc5f0074e5b2 ,
+                        0xb980530b0dfdc01200d58b5f78eaca2f5d0660849458eff499537abf57044065 ,
+                        0x69a7ce9cae97e8f6c9a0a8b31fde3847c7fb8700282b67ce8d1f9e8d521ca03b ,
+                        0x0194979477b2e1396d5fecfa1ec0e8730d4fe6557d4fcf0b00cacb78f3a301cf ,
+                        0xe486bb7f3f03c87d66c0476f66043d40b703282f79dab18f3fd914e2b23e05b0 ,
+                        0xe9938f8f4d4b0e7d809e00505eec9271f34605f931b7ff00cc1f356fdc92d8e0 ,
+                        0xbbe5410097cbeef9e93beacbfa0bc03b9ff6ccd67c805e035096fab2fe02a0eb ,
+                        0x0001e0ce00000000000000000000009401401500000000000000000000803702 ,
+                        0x00000000000000000000500600550000000000000000000000de080000000000 ,
+                        0x0000000000401900540100000000000000000000782300000000000000000000 ,
+                        0x006500500500000000000000000000e08d000000000000000000000094014015 ,
+                        0x0000000000000000000080370200000000000000000000500600550000000000 ,
+                        0x000000000000de08000000000000000000004019005401000000000000000000 ,
+                        0x00782300000000000000000000006500500500000000000000000000e08d0000 ,
+                        0x0000000000000000009401401500000000000000000000803702000000000000 ,
+                        0x00000000500600550000000000000000000000de080000000000000000005c6d ,
+                        0x73fdbe9fb5ba696343f565fd05a0e1c69b5a7dd6b7fe661f00c8583badf0c08e ,
+                        0x9279e70fcf5c38312df865fd05e04a691317ce3c7c7e5ec98e0385d3d6667805 ,
+                        0x40f77dc7fffcf9822f56efffcbb9e17f4dd5b85dfe0450add4bf0e3ff797fdab ,
+                        0xbf58f0f99f8fefebee5a009da71bda2e00289adef9caaf221a40ece6fa13bedc ,
+                        0x7e7acb806893db0580a0450fe8727afb7f4d583e38420074cdceeb3deeab2f56 ,
+                        0xdf1b377e4ab72cabb60b00e14b9b98f9dfff7326bdd99f4a3f47ac3ae1208013 ,
+                        0xab8ebf7ce49ab1eb8a0ecf7ca1798e3ddb0500bd8dbee3d4d747f39f7ff6e6ff ,
+                        0x2dfc66608cc500663fd6ffdb033b6a24e4ffdf27a7a2473bb15d003057e7b77e ,
+                        0xb77be7534fdcf6ea677d9736893503e0d4a8da05b9ce6e555900b0b0acc58f5c ,
+                        0x1f3727c46f9034bf943d05783fc05f00d2f4bf9ca5890110dffca5b8fc2dd7ec ,
+                        0xcd5b13abfe97fe0210bb266fef355bf2e35e6a1e2f646d4e02485d7c2aa568e3 ,
+                        0x5707ceaeaaf24e97fab7f90bc0d59dc85875f6c0571b8b524e2dd6fa96991539 ,
+                        0x006053669ffd096f1ff92e7b76a06f51d4bfdfaf00ae363bfbbb236f27ecef93 ,
+                        0xb9c9feb5d909a057faf73f4c5e9218fa7b54f58701e06a894b26fff07d7a2f1b ,
+                        0xd76627007e1c5c91653f0eb6210b01c41f9af44ed1a7a78f547a0540459601e8 ,
+                        0x75e4f4a745ef4c3a64e1d78ba601cc2af85bbf0b5b2fee6dd7e8ca57763c10a2 ,
+                        0xccf20742321ab5db7b71eb857e7f2b9865766d06016c9af2c9ce8f6bb41ad6bf ,
+                        0x897ab9005066e713414dfa0f6b55e3e39d9f4c31f805a31e00f1875e4939b3fe ,
+                        0xf4e785f543fef80100ca9c7924ec44fdc2cf4faf3f93f28aaecf10e101cc2a38 ,
+                        0x77b8e1908b23dfdb17a365b10050e7f4338131fbde1b797148c3c3e7347c8608 ,
+                        0x05e05249abdeb78fd1764d008448e043a1636eefddaae45288b5f154b003f154 ,
+                        0x30000000000000000000500600550000000000000000000000de080000000000 ,
+                        0x0000000000401900540100000000000000000000782300000000000000000000 ,
+                        0x006500500500000000000000000000e08d000000000000000000000094014015 ,
+                        0x0000000000000000000080370200000000000000000000500600550000000000 ,
+                        0x000000000000de08000000000000000000004019005401000000000000000000 ,
+                        0x00782300000000000000000000006500500500000000000000000000e08d0000 ,
+                        0x0000000000000000009401401500000000000000000000803702000000000000 ,
+                        0x00000000500600550000000000000000000000de0800000000000010a0a81fd4 ,
+                        0x97f517801fa27c0c60cf8f4d035cd65f00e4a63feef127805563a704beaccf00 ,
+                        0x943665ec2abf0188dabe3b3ed865fd074096e3776f0ff1a9c07300becbdf14e2 ,
+                        0xb27e0450daa6fceffc01a0c3b647426f974f0194f6c8b60e5e0770e2d84ff172 ,
+                        0x982a012c2bf648cb340228fd54f0d3b1131e0650b8a2b386ff5eea18b9a83b0a ,
+                        0x0ba0b4ce2b0a951fe60d0073bfa8a9e1f601505acd2fe656fb300f00486c352a ,
+                        0xec1ffd00b85afca85689573fccf5005e3bbf41eb9d03e04a1bcebf76e5c3dc0d ,
+                        0xe0d1adc375dc3600aa347ceba3e51fe6620089f75d4ad577d300a85aeaa5fb12 ,
+                        0xdd0b60d1b7457afee80740c036147dbbc8a5003a1ab85d0004a872235d06c060 ,
+                        0x00081a005c1e0000000000781a40cc03e77301102cb30072cf3f1063e0b28e01 ,
+                        0xc878eec7c5266f1100615afce373197a2feb0c80e4c9170e99bf3f79d2ab468c ,
+                        0xbba498572759b045872e4c4ed675590700c4160ef8bb05b726efee2dfa8cecae ,
+                        0xf76e2bf6e9ef030a63b55fd376003fafbec38abb6a70e771d1c7e344c7ef6c60 ,
+                        0xc56eddb1fa67ad57b417c084750556dc8fbc21bd83a6eb79a00ee946de225757 ,
+                        0xb06e82a6ebd908e01f092d2db91539fa9f9b451f8b936dfe67b435fbd632e11f ,
+                        0xe1af6617806b376a7cc6276cbf7c9424fa489c2ee9a35f2cdabc9a1baf0d732d ,
+                        0x5b007cf346a64537205ffa4cf46988e9b34b56ed60e61bdf84ba90f500da6fb5 ,
+                        0x8aaf9c75b09de8831057bb835956ede32f5bdb07bd8cc5009636b3e29bd9cb4d ,
+                        0x2fbe5bf42188edeee2e9966de6a4664b035fc44a007797ccb16cc172f36d4d44 ,
+                        0x1f80f89a6c6b6edd8ece2909f41f946500e67e7fcebab5caff3ad95df4e64746 ,
+                        0xdd4ffecbc26d3df7fd5ce505ac01b0efb6f1ba1fef0bd1cc363adecaf27ab16d ,
+                        0x665ab8b5a9e36fdb57ede52d00b0e6e9ba9a9febd750fc51cdef62f9a59f8f5a ,
+                        0xbac1759f5e73f5b5cd0258bbe06b2b17278fbeb0d4d01e79bca517465bb9cbf1 ,
+                        0x5f2f585bf1caa6008cb9f89365dfaa94d7adcbe3a2b73a527bbc4b374bb73aeb ,
+                        0xa78b63ca5ed73880194353d22c5d925cf3c31366b7c9cb9df8d0aa37572b4a4b ,
+                        0x193ac33080c37139d6ae46be7e59b2e82d8ef492975d6ff1a6e7c41d3608c0e2 ,
+                        0x5277158ade5d7754b8cbca6fb7c2e418808ef9edcd6f8d5f6a9f6f70a8266201 ,
+                        0xccdf3850f4a6baab811be77b08c05ba713cd6f89df4a3cfd964700f41aa7fb31 ,
+                        0x562a2b635c2ff703487db0ade87d74736d1fb4fbeb417b01e49ce92f7a0bdd5e ,
+                        0xff33567f2fee1c80a6098d446f9f176a94d0d4fc590800d0635157d15be795ba ,
+                        0x2eeae13a00b58f7978c0c7f9628ed5761580a99e1ff071bede66a7ae1d03d0e0 ,
+                        0x455f0cf838dff1172d1929b21940e7777d33e0e37c1dded5f277ed8a04105d32 ,
+                        0x58f42679bbc125168d14d902a0f5fbbe1bf071bea4f75b4728804b1efe9b1d22 ,
+                        0xab3a968d145907206da78f077c9cafdd4eab9ed4b206406e71b6e82df15bd9c5 ,
+                        0x66ff2e26eb00346fc6808f809a34b362a4c83c804c067c44d5fd64a670007547 ,
+                        0x32e023b0d891754502883fda57f40e505f7323452600345e595ff4cd5359f557 ,
+                        0x361600a05b974ea26f9caed4c9f848914100351768f89f5e9373452d30385264 ,
+                        0x0800033e1198c19122fd00e20fd7137daf14b87a87f57f3da81700033e119dfe ,
+                        0x91227d006e1dc4804f843770d0adb60168c9808f1b4a3cade76f6fd50ea0d7eb ,
+                        0x0cf8b8a48cd7b58f146904901ac7808fab6a1ba771a44813809ca2fea26f88f4 ,
+                        0xd6bf48d3489106004d9f67c0c795357a5ec348515800052318f0716d5d471498 ,
+                        0x04c0808fcb0b3b521412c0d461a2d74fe61b36d5188006fbc3fd7f08c8255dbb ,
+                        0xbf816e000cf878aae02345810144d760c0c7630dae11ad1900033e9e2cf04891 ,
+                        0x1a409f2f45af94eceacb3ee100a4edcc13bd48b2b33ce548513500b9ff66c0c7 ,
+                        0xf365ff3b370880e6cd66885e1c39d18caa234595003277cc16bd3072aad93b32 ,
+                        0x150018f0f1599523456500b2ee3f2b7a3de47c67efcf2a07c0808f6f2b1b2992 ,
+                        0x8630e0e3e33a0d11bd0222222222222222222272a2ff0752526cbafcdcceba00 ,
+                        0x00002574455874646174653a63726561746500323031362d31312d3037543039 ,
+                        0x3a32353a34302b30313a303042d257d60000002574455874646174653a6d6f64 ,
+                        0x69667900323031362d31312d30375430393a32353a34302b30313a3030338fef ,
+                        0x6a0000001974455874536f667477617265007777772e696e6b73636170652e6f ,
+                        0x72679bee3c1a0000000049454e44ae426082
+                    End
+
+                    LayoutCachedLeft =566
+                    LayoutCachedTop =7483
+                    LayoutCachedWidth =1757
+                    LayoutCachedHeight =8560
+                    TabIndex =6
+                End
+                Begin Subform
+                    OverlapFlags =215
+                    Left =14796
+                    Top =1543
+                    Width =5145
+                    Height =2430
+                    TabIndex =5
+                    BorderColor =10921638
+                    Name ="FormTestSimple"
+                    SourceObject ="Form.FormTestSimple"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =14796
+                    LayoutCachedTop =1543
+                    LayoutCachedWidth =19941
+                    LayoutCachedHeight =3973
+                    Begin
+                        Begin Label
+                            OverlapFlags =93
+                            Left =14796
+                            Top =1303
+                            Width =1590
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="FormTestSimpleÉtiquette"
+                            Caption ="FormTestSimple"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =14796
+                            LayoutCachedTop =1303
+                            LayoutCachedWidth =16386
+                            LayoutCachedHeight =1618
+                        End
+                    End
+                End
+            End
+        End
+        Begin PageFooter
+            DisplayWhen =1
+            Height =1134
+            Name ="ZonePiedPage"
+            AutoHeight =1
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+        End
+        Begin FormFooter
+            Height =1134
+            Name ="PiedFormulaire"
+            AutoHeight =1
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+        End
+    End
+End

+ 83 - 0
tests/work/source/forms/FormTestDialog.bas

@@ -0,0 +1,83 @@
+Version =20
+VersionRequired =20
+Begin Form
+    PopUp = NotDefault
+    Modal = NotDefault
+    RecordSelectors = NotDefault
+    MaxButton = NotDefault
+    MinButton = NotDefault
+    AutoCenter = NotDefault
+    NavigationButtons = NotDefault
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    ScrollBars =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =4648
+    DatasheetFontHeight =11
+    ItemSuffix =1
+    Left =-20715
+    Top =2415
+    Right =-255
+    Bottom =15150
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xc87c8f5c13d9e440
+    End
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =3855
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin Label
+                    OverlapFlags =85
+                    Left =1247
+                    Top =1303
+                    Width =1871
+                    Height =567
+                    BorderColor =8355711
+                    ForeColor =8355711
+                    Name ="Étiquette0"
+                    Caption ="DialogTest"
+                    GridlineColor =10921638
+                    LayoutCachedLeft =1247
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =3118
+                    LayoutCachedHeight =1870
+                End
+            End
+        End
+    End
+End

+ 72 - 0
tests/work/source/forms/FormTestPivot.bas

@@ -0,0 +1,72 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    DefaultView =3
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =0
+    DatasheetFontHeight =11
+    Right =20715
+    Bottom =12990
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0x6c8ac66513d9e440
+    End
+    RecordSource ="SELECT TableTestBaseFields.auto_number, TableTestBaseFields.string, TableTestBas"
+        "eFields.long_string, TableTestBaseFields.integer, TableTestBaseFields.long_int, "
+        "TableTestBaseFields.real, TableTestBaseFields.real_one_decimal, TableTestBaseFie"
+        "lds.real_double, TableTestBaseFields.decimal, TableTestBaseFields.datetime, Tabl"
+        "eTestBaseFields.boolean, TableTestBaseFields.string_with_default, TableTestBaseF"
+        "ields.numeric_with_condition, TableTestBaseFields.nonnull_date, TableTestBaseFie"
+        "lds.indexed_integer_no_decimal, TableTestRelation1.Id FROM TableTestBaseFields I"
+        "NNER JOIN (TableTestRelation4 INNER JOIN (TableTestRelation3 INNER JOIN (TableTe"
+        "stRelation2 INNER JOIN TableTestRelation1 ON TableTestRelation2.Id = TableTestRe"
+        "lation1.FK_TTR1_TTR2) ON TableTestRelation3.Id = TableTestRelation2.FK_TTR2_TTR3"
+        ") ON TableTestRelation4.Id = TableTestRelation3.FK_TTR3_TTR4) ON TableTestBaseFi"
+        "elds.auto_number = TableTestRelation1.FK_TTR1_TTR2 WHERE (((TableTestRelation1.I"
+        "d)=1)); "
+    DatasheetFontName ="Calibri"
+    AllowFormView =0
+    AllowDatasheetView =0
+    AllowPivotChartView =0
+    AllowPivotChartView =0
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    AllowLayoutView =0
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =0
+            Name ="Détail"
+            AutoHeight =1
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+        End
+    End
+End

+ 570 - 0
tests/work/source/forms/FormTestSimple.bas

@@ -0,0 +1,570 @@
+Version =20
+VersionRequired =20
+Begin Form
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =4592
+    DatasheetFontHeight =11
+    ItemSuffix =11
+    Right =20460
+    Bottom =12735
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0xb681270513d9e440
+    End
+    RecordSource ="TableWithData"
+    DatasheetFontName ="Calibri"
+    FilterOnLoad =0
+    ShowPageMargins =0
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin CommandButton
+            Width =1701
+            Height =283
+            FontSize =11
+            FontWeight =400
+            FontName ="Calibri"
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            UseTheme =1
+            Shape =1
+            Gradient =12
+            BackThemeColorIndex =4
+            BackTint =60.0
+            BorderLineStyle =0
+            BorderColor =16777215
+            BorderThemeColorIndex =4
+            BorderTint =60.0
+            ThemeFontIndex =1
+            HoverThemeColorIndex =4
+            HoverTint =40.0
+            PressedThemeColorIndex =4
+            PressedShade =75.0
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+        End
+        Begin CheckBox
+            BorderLineStyle =0
+            LabelX =230
+            LabelY =-30
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin Section
+            Height =2154
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2381
+                    Top =340
+                    Height =315
+                    ColumnWidth =1935
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="param"
+                    ControlSource ="param"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2381
+                    LayoutCachedTop =340
+                    LayoutCachedWidth =4082
+                    LayoutCachedHeight =655
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =737
+                            Top =340
+                            Width =660
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette5"
+                            Caption ="param"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =737
+                            LayoutCachedTop =340
+                            LayoutCachedWidth =1397
+                            LayoutCachedHeight =655
+                        End
+                    End
+                End
+                Begin TextBox
+                    OverlapFlags =85
+                    IMESentenceMode =3
+                    Left =2381
+                    Top =737
+                    Height =315
+                    ColumnWidth =2835
+                    TabIndex =1
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="key"
+                    ControlSource ="key"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =2381
+                    LayoutCachedTop =737
+                    LayoutCachedWidth =4082
+                    LayoutCachedHeight =1052
+                    Begin
+                        Begin Label
+                            OverlapFlags =85
+                            Left =737
+                            Top =737
+                            Width =405
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette6"
+                            Caption ="key"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =737
+                            LayoutCachedTop =737
+                            LayoutCachedWidth =1142
+                            LayoutCachedHeight =1052
+                        End
+                    End
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =623
+                    Top =1303
+                    Width =576
+                    Height =576
+                    TabIndex =2
+                    ForeColor =4210752
+                    Name ="Commande7"
+                    Caption ="Commande7"
+                    ControlTipText ="Enregistrement précédent"
+                    GridlineColor =10921638
+                    OnClickEmMacro = Begin
+                        Version =196611
+                        ColumnsShown =10
+                        Begin
+                            Action ="OnError"
+                            Argument ="0"
+                        End
+                        Begin
+                            Action ="GoToRecord"
+                            Argument ="-1"
+                            Argument =""
+                            Argument ="0"
+                        End
+                        Begin
+                            Condition ="[MacroError]<>0"
+                            Action ="MsgBox"
+                            Argument ="=[MacroError].[Description]"
+                            Argument ="-1"
+                            Argument ="0"
+                        End
+                        Begin
+                            Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+                                "nterfaceMacro For=\"Commande7\" xmlns=\"http://schemas.microsoft.com/office/acce"
+                                "ssservices/2009/11/application\" xmlns:a=\"http://schemas.microsoft.com/office/a"
+                                "ccessservices/2009/11/forms\"><"
+                        End
+                        Begin
+                            Comment ="_AXL:Statements><Action Name=\"OnError\"/><Action Name=\"GoToRecord\"><Argument "
+                                "Name=\"Record\">Previous</Argument></Action><ConditionalBlock><If><Condition>[Ma"
+                                "croError]&lt;&gt;0</Condition><Statements><Action Name=\"MessageBox\"><Argument "
+                                "Name=\"Message\">=[Macr"
+                        End
+                        Begin
+                            Comment ="_AXL:oError].[Description]</Argument></Action></Statements></If></ConditionalBlo"
+                                "ck></Statements></UserInterfaceMacro>"
+                        End
+                    End
+                    ImageData = Begin
+                        0x2800000010000000100000000100200000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000000000000000000b0482000b0482050000000000000000000000000 ,
+                        0x0000000000000000000000004068ff0000000000000000000000000000000000 ,
+                        0x000000000000000000000000b0502050904820ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000a0482040d06830ff905030ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000b0502040d06030fff06820ffa05030ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0xb0502050d06830fff07030fff06820ffa05830ff000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000b0502050 ,
+                        0xe07040ffffa060fff08850fff07030ffb06040ff000000000000000000000000 ,
+                        0x000000000000000000000000000000000000000000000000d0704040e08850ff ,
+                        0xffc0a0ffffb090ffffa070ffff8040ffb06840ff000000000000000000000000 ,
+                        0x000000000000000000000000000000000000000000000000e0906000e0906040 ,
+                        0xe08850ffffc0a0ffffb080ffff8850ffc07040ff000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e0906000 ,
+                        0xe0906040e08860ffffc0a0ffff9870ffd07850ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0xe0906000e0906040e08860ffffc0a0ffd07850ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000e0906000f0906030e08860ffd08050ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000e0906000f0906020e08850ff000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000e0906000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000
+                    End
+
+                    LayoutCachedLeft =623
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =1199
+                    LayoutCachedHeight =1879
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =1530
+                    Top =1303
+                    Width =576
+                    Height =576
+                    TabIndex =3
+                    ForeColor =4210752
+                    Name ="Commande8"
+                    Caption ="Commande8"
+                    ControlTipText ="Enregistrement suivant"
+                    GridlineColor =10921638
+                    OnClickEmMacro = Begin
+                        Version =196611
+                        ColumnsShown =10
+                        Begin
+                            Action ="OnError"
+                            Argument ="0"
+                        End
+                        Begin
+                            Action ="GoToRecord"
+                            Argument ="-1"
+                            Argument =""
+                            Argument ="1"
+                        End
+                        Begin
+                            Condition ="[MacroError]<>0"
+                            Action ="MsgBox"
+                            Argument ="=[MacroError].[Description]"
+                            Argument ="-1"
+                            Argument ="0"
+                        End
+                        Begin
+                            Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+                                "nterfaceMacro For=\"Commande8\" xmlns=\"http://schemas.microsoft.com/office/acce"
+                                "ssservices/2009/11/application\" xmlns:a=\"http://schemas.microsoft.com/office/a"
+                                "ccessservices/2009/11/forms\"><"
+                        End
+                        Begin
+                            Comment ="_AXL:Statements><Action Name=\"OnError\"/><Action Name=\"GoToRecord\"/><Conditio"
+                                "nalBlock><If><Condition>[MacroError]&lt;&gt;0</Condition><Statements><Action Nam"
+                                "e=\"MessageBox\"><Argument Name=\"Message\">=[MacroError].[Description]</Argumen"
+                                "t></Action></Statemen"
+                        End
+                        Begin
+                            Comment ="_AXL:ts></If></ConditionalBlock></Statements></UserInterfaceMacro>"
+                        End
+                    End
+                    ImageData = Begin
+                        0x2800000010000000100000000100200000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000b0482050 ,
+                        0xb048200000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e06830ff ,
+                        0xb050205000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e06830ff ,
+                        0x904820ffa0482040000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e07040ff ,
+                        0xd07040ff904820ffb05020400000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e07840ff ,
+                        0xe08850ffd05820ff904820ffb050205000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e07850ff ,
+                        0xf0a070fff07830ffd05820ff904820ffb0502050000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e08050ff ,
+                        0xf0b080ffff9860fff07830ffd05820ffa05830ffd0704060e090600000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e08860ff ,
+                        0xffb890ffffa870ffff9860ffd07040ffe0906040e09060000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e09060ff ,
+                        0xffc0a0ffffb890ffd07840ffe0906040e0906000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e09870ff ,
+                        0xffc0a0ffe08050f0e0906040e090600000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e09870ff ,
+                        0xe08860fff0906030e09060000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e09870ff ,
+                        0xf0906020e0906000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e0906020 ,
+                        0xe090600000000000000000000000000000000000000000000000000000000000 ,
+                        0x00000000000000000000000000000000000000000000000000000000e0906000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000
+                    End
+
+                    LayoutCachedLeft =1530
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =2106
+                    LayoutCachedHeight =1879
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =2551
+                    Top =1303
+                    Width =576
+                    Height =576
+                    TabIndex =4
+                    ForeColor =4210752
+                    Name ="Commande9"
+                    Caption ="Commande9"
+                    ControlTipText ="Sauvegarder enregistrement"
+                    GridlineColor =10921638
+                    OnClickEmMacro = Begin
+                        Version =196611
+                        ColumnsShown =10
+                        Begin
+                            Action ="OnError"
+                            Argument ="0"
+                        End
+                        Begin
+                            Action ="RunCommand"
+                            Argument ="97"
+                        End
+                        Begin
+                            Condition ="[MacroError]<>0"
+                            Action ="MsgBox"
+                            Argument ="=[MacroError].[Description]"
+                            Argument ="-1"
+                            Argument ="0"
+                        End
+                        Begin
+                            Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+                                "nterfaceMacro For=\"Commande9\" xmlns=\"http://schemas.microsoft.com/office/acce"
+                                "ssservices/2009/11/application\" xmlns:a=\"http://schemas.microsoft.com/office/a"
+                                "ccessservices/2009/11/forms\"><"
+                        End
+                        Begin
+                            Comment ="_AXL:Statements><Action Name=\"OnError\"/><Action Name=\"SaveRecord\"/><Conditio"
+                                "nalBlock><If><Condition>[MacroError]&lt;&gt;0</Condition><Statements><Action Nam"
+                                "e=\"MessageBox\"><Argument Name=\"Message\">=[MacroError].[Description]</Argumen"
+                                "t></Action></Statemen"
+                        End
+                        Begin
+                            Comment ="_AXL:ts></If></ConditionalBlock></Statements></UserInterfaceMacro>"
+                        End
+                    End
+                    ImageData = Begin
+                        0x2800000010000000100000000100200000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000b09880ff201010ff201010ff201010ff201010ff201010ff ,
+                        0x201010ff201010ff201810ff201810ff201810ff201810ff201810ff00000000 ,
+                        0x0000000000000000c0a090fffff8f0fffff8f0fffff0f0fffff0e0fff0e8e0ff ,
+                        0xf0e8d0fff0e0d0fff0e0d0fff0e0d0fff0e0d0fff0e0d0ff403830ff00000000 ,
+                        0x0000000000000000c0a090ffffffffffd07850ffd07840ffd07040ffc07040ff ,
+                        0xc07040ffc07850ffd09070ffd0a890ffd0a890fff0f0f0ff909090ff00000000 ,
+                        0x0000000000000000c0a890ffffffffffd07850fff0b8a0fff0b090fff0a880ff ,
+                        0xf0a880fff0b090ffe0b0a0ff804040ff703840ff703840ff703840ff703840ff ,
+                        0x703840ff703840ffc0a890ffffffffffd07850ffd07850ffd07840ffd07040ff ,
+                        0xd08050ffe0a890ffa05850ffc07870ff604840ffd0d8d0ffd0d8d0ff605040ff ,
+                        0xc06060ff703840ffc0a8a0fffffffffffffffffffffffffffffffffffff8f0ff ,
+                        0xfff8f0fffff8f0ffb06060ffe09090ff605040ff605040ff605040ff605040ff ,
+                        0xc07070ff703840ffc0a8a0ffc0a8a0ffc0a890ffc0a090ffc0a090ffc0a090ff ,
+                        0xc0a8a0ffe0d0c0ffc07070fff0a8b0ffe0a0a0ffe098a0ffe09090ffe08890ff ,
+                        0xd08080ff703840ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000d08080ffd07070ffd06860ffd06860ffc05850ffc05850ff ,
+                        0xb05040ff804040ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000d08890ffe07070ffffffffffffffffffffffffffffffffff ,
+                        0xc05850ff904850ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000d09090ffe07070ffffffffffffffffffffffffffffffffff ,
+                        0xd06860ffa05860ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000e0a0a0ffd09090ffd08890ffd08080ffc07070ffc06870ff ,
+                        0xc06870ffc06860ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000
+                    End
+
+                    LayoutCachedLeft =2551
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =3127
+                    LayoutCachedHeight =1879
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+                Begin CommandButton
+                    OverlapFlags =85
+                    Left =3458
+                    Top =1303
+                    Width =576
+                    Height =576
+                    TabIndex =5
+                    ForeColor =4210752
+                    Name ="Commande10"
+                    Caption ="Commande10"
+                    ControlTipText ="Fermer formulaire"
+                    GridlineColor =10921638
+                    OnClickEmMacro = Begin
+                        Version =196611
+                        ColumnsShown =8
+                        Begin
+                            Action ="Close"
+                            Argument ="-1"
+                            Argument =""
+                            Argument ="0"
+                        End
+                        Begin
+                            Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+                                "nterfaceMacro For=\"Commande10\" xmlns=\"http://schemas.microsoft.com/office/acc"
+                                "essservices/2009/11/application\" xmlns:a=\"http://schemas.microsoft.com/office/"
+                                "accessservices/2009/11/forms\">"
+                        End
+                        Begin
+                            Comment ="_AXL:<Statements><Action Name=\"CloseWindow\"/></Statements></UserInterfaceMacro"
+                                ">"
+                        End
+                    End
+                    ImageData = Begin
+                        0x2800000010000000100000000100200000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000010081080 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x000000000000000000000000000000000000000040485020100810e0104050ff ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000040404080405860ff106890ff2080a0f0 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000607070ff80a0b0ff4080a0ff20a0d0ff40a8e0ff2078a0ff ,
+                        0x101020ff101020ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000708890ffa0d8f0ff60d0ffff50c0f0ff30a8e0ff1080b0ff ,
+                        0xe0d8d0ff102020ff000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000708890ffb0e8f0ff80e0ffff60c8f0ff50b8f0ff1088c0ff ,
+                        0xf0d8d0ff202830ff000000000000000090482030904820ff0000000000000000 ,
+                        0x0000000000000000808890ffb0e8f0ff80e0ffff60d0ffff404050ff1090c0ff ,
+                        0xf0e0d0ff303840ff0000000090482030a05030ffa05020ff0000000000000000 ,
+                        0x00000000000000008090a0ffc0f0ffff90e0ffff70d8ffff60c8f0ff0090c0ff ,
+                        0xf0e0e0ff404050ff90482030a05030ffd07840ffb05830ffa05020ffa04820ff ,
+                        0x904820ff904820ff8090a0ffc0f0ffffa0e8ffff80d8ffff70d0f0ff40b0e0ff ,
+                        0xf0e8e0ff605050ffa05830ffe08860fff09060fff08850ffe07850ffd07040ff ,
+                        0xb06840ff904820ff8098a0ffc0f0ffffa0e8ffff90e8ffff80e0ffff80b8d0ff ,
+                        0xf0e8e0ffe09870ffffc0a0ffffb090ffffa070fff09060fff08850ffe07850ff ,
+                        0xd07040ffa05020ff8098a0ffc0f0ffffc0f8ffffa0e0f0ff90a8b0ffc0c8d0ff ,
+                        0xf0f0e0ff908080fff0a070ffffc0a0ffffb090ffffb090ffffa880fff0a080ff ,
+                        0xe09870ffb05030ff90a0a0ffe0f8ffffb0c8d0ff90a0b0fff0f0f0fffff8f0ff ,
+                        0xf0f0f0ff607080ffe0987050f0a070ffffc0a0ffd06830ffe09870ffe09060ff ,
+                        0xe08860ffe08050ff90a0b0ff90a8b0ffc0c8d0ffffffffffffffffffffffffff ,
+                        0xffffffff708890ff00000000e0987050e09870ffd07040ff0000000000000000 ,
+                        0x000000000000000090a0b0ff90a0b0ff90a0b0ff90a0b0ff90a0a0ff8098a0ff ,
+                        0x8098a0ff9098a0ff0000000000000000e0987050e09870ff0000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000000000000000000000000000000000000000000000000000 ,
+                        0x0000000000000000
+                    End
+
+                    LayoutCachedLeft =3458
+                    LayoutCachedTop =1303
+                    LayoutCachedWidth =4034
+                    LayoutCachedHeight =1879
+                    BackColor =14136213
+                    BorderColor =14136213
+                    HoverColor =15060409
+                    PressedColor =9592887
+                    HoverForeColor =4210752
+                    PressedForeColor =4210752
+                    WebImagePaddingLeft =2
+                    WebImagePaddingTop =2
+                    WebImagePaddingRight =1
+                    WebImagePaddingBottom =1
+                End
+            End
+        End
+    End
+End

+ 24 - 0
tests/work/source/macros/MacroTest.bas

@@ -0,0 +1,24 @@
+Version =196611
+ColumnsShown =0
+Begin
+    Action ="MsgBox"
+    Argument ="MacroTestOk"
+    Argument ="0"
+    Argument ="4"
+    Argument ="MacroTestOk"
+End
+Begin
+    Comment ="_AXL:<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\015\012<UserI"
+        "nterfaceMacro MinimumClientDesignVersion=\"14.0.0000.0000\" xmlns=\"http://schem"
+        "as.microsoft.com/office/accessservices/2009/11/application\" xmlns:a=\"http://sc"
+        "hemas.microsoft.com/office/acc"
+End
+Begin
+    Comment ="_AXL:essservices/2009/11/forms\"><Statements><Action Name=\"MessageBox\"><Argume"
+        "nt Name=\"Message\">MacroTestOk</Argument><Argument Name=\"Beep\">No</Argument><"
+        "Argument Name=\"Type\">Information</Argument><Argument Name=\"Title\">MacroTestO"
+        "k</Argument></Action></S"
+End
+Begin
+    Comment ="_AXL:tatements></UserInterfaceMacro>"
+End

+ 27 - 0
tests/work/source/modules/ModuleTest.bas

@@ -0,0 +1,27 @@
+Option Compare Database
+
+' with references:
+' Visual Basic for Applications
+' Microsoft Access 14.0 Object Library
+' Microsoft Office Runtime 1.0 Type Library
+' Microsoft Office 14.0 Access Database engine object
+' Microsoft ActiveX Data Object 2.8 Library
+' Microsoft Scipring Runtime
+' Microsoft ADO Ext 6.0 for DDL and Security
+
+
+Public Sub TestModule()
+
+    Dim rs As DAO.Recordset
+    
+    Set rs = CurrentDb.OpenRecordset("TableWithData", dbOpenSnapshot)
+    
+    rs.MoveFirst
+    Do Until rs.EOF
+    
+        Debug.Print rs![param], rs![key]
+    
+        rs.MoveNext
+    Loop
+
+End Sub

+ 44 - 0
tests/work/source/queries/DeleteTest.bas

@@ -0,0 +1,44 @@
+Operation =5
+Option =0
+Where ="(((TableWithData.param)=\"param2\"))"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Expression ="TableWithData.*"
+    Expression ="TableWithData.param"
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbBoolean "UseTransaction" ="-1"
+dbBoolean "FailOnError" ="0"
+dbByte "Orientation" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =771
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 55 - 0
tests/work/source/queries/InsertTest.bas

@@ -0,0 +1,55 @@
+Operation =3
+Name ="TableWithData"
+Option =0
+Where ="(((\"param5\")=\"param1\"))"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Alias ="new"
+    Name ="param"
+    Expression ="\"param5\""
+    Name ="key"
+    Expression ="TableWithData.key"
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbBoolean "UseTransaction" ="-1"
+dbByte "Orientation" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="new"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =651
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 81 - 0
tests/work/source/queries/SelectTestMultiTables.bas

@@ -0,0 +1,81 @@
+Operation =1
+Option =0
+Begin InputTables
+    Name ="TableTestRelation1"
+    Name ="TableTestRelation3"
+    Name ="TableTestRelation2"
+End
+Begin OutputColumns
+    Expression ="TableTestRelation1.Id"
+    Expression ="TableTestRelation3.Data"
+End
+Begin Joins
+    LeftTable ="TableTestRelation2"
+    RightTable ="TableTestRelation1"
+    Expression ="TableTestRelation2.Id = TableTestRelation1.FK_TTR1_TTR2"
+    Flag =1
+    LeftTable ="TableTestRelation3"
+    RightTable ="TableTestRelation2"
+    Expression ="TableTestRelation3.Id = TableTestRelation2.FK_TTR2_TTR3"
+    Flag =1
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableTestRelation1.Id"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestRelation3.Data"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableTestRelation1"
+        Name =""
+    End
+    Begin
+        Left =588
+        Top =73
+        Right =732
+        Bottom =217
+        Top =0
+        Name ="TableTestRelation3"
+        Name =""
+    End
+    Begin
+        Left =258
+        Top =40
+        Right =402
+        Bottom =184
+        Top =0
+        Name ="TableTestRelation2"
+        Name =""
+    End
+End

+ 56 - 0
tests/work/source/queries/SelectTestOrderedFiltered.bas

@@ -0,0 +1,56 @@
+Operation =1
+Option =0
+Where ="(((TableWithData.param) Like \"param*\"))"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Expression ="TableWithData.param"
+    Expression ="TableWithData.key"
+End
+Begin OrderBy
+    Expression ="TableWithData.param"
+    Flag =0
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =553
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 111 - 0
tests/work/source/queries/SelectTestSimpleCase.bas

@@ -0,0 +1,111 @@
+Operation =1
+Option =0
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Expression ="TableWithData.param"
+    Expression ="TableWithData.key"
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableTestBaseFields.auto_number"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.string"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.long_string"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.integer"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.long_int"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real_one_decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real_double"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.datetime"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.boolean"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.string_with_default"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.numeric_with_condition"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.nonnull_date"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.indexed_integer_no_decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =587
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 42 - 0
tests/work/source/queries/SelectTestWithDataConnection.bas

@@ -0,0 +1,42 @@
+Operation =1
+Option =0
+Connect =";DATABASE=C:\\APPLIS_PARC\\OpenAccess\\tests\\start_state\\db.accdb"
+Begin InputTables
+    Name ="linked_table"
+End
+Begin OutputColumns
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+Begin
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="linked_table"
+        Name =""
+    End
+End

+ 53 - 0
tests/work/source/queries/SelectTestWithProperties.bas

@@ -0,0 +1,53 @@
+Operation =1
+Option =25
+RowCount ="25"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Expression ="TableWithData.param"
+    Expression ="TableWithData.key"
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+dbText "Description" ="this is a description"
+Begin
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =604
+    Left =0
+    Top =0
+    ColumnsShown =539
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 114 - 0
tests/work/source/queries/UpdateTest.bas

@@ -0,0 +1,114 @@
+Operation =4
+Option =0
+Where ="(((TableWithData.param)=\"param3\"))"
+Begin InputTables
+    Name ="TableWithData"
+End
+Begin OutputColumns
+    Name ="TableWithData.key"
+    Expression ="\"key3_up\""
+End
+dbBoolean "ReturnsRecords" ="-1"
+dbInteger "ODBCTimeout" ="60"
+dbByte "RecordsetType" ="0"
+dbBoolean "OrderByOn" ="0"
+dbByte "Orientation" ="0"
+dbByte "DefaultView" ="2"
+dbBoolean "FilterOnLoad" ="0"
+dbBoolean "OrderByOnLoad" ="-1"
+dbBoolean "TotalsRow" ="0"
+dbBoolean "UseTransaction" ="-1"
+dbBoolean "FailOnError" ="0"
+Begin
+    Begin
+        dbText "Name" ="TableTestBaseFields.auto_number"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.string"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.long_string"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.integer"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.long_int"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real_one_decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.real_double"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.datetime"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.boolean"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.string_with_default"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.numeric_with_condition"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.nonnull_date"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableTestBaseFields.indexed_integer_no_decimal"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.param"
+        dbLong "AggregateType" ="-1"
+    End
+    Begin
+        dbText "Name" ="TableWithData.key"
+        dbLong "AggregateType" ="-1"
+    End
+End
+Begin
+    State =0
+    Left =0
+    Top =0
+    Right =1336
+    Bottom =866
+    Left =-1
+    Top =-1
+    Right =1320
+    Bottom =553
+    Left =0
+    Top =0
+    ColumnsShown =579
+    Begin
+        Left =48
+        Top =12
+        Right =192
+        Bottom =156
+        Top =0
+        Name ="TableWithData"
+        Name =""
+    End
+End

+ 5 - 0
tests/work/source/references.csv

@@ -0,0 +1,5 @@
+{B35FBDE9-7042-11D3-9C0F-00C04F72DD5F},1,0
+{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28},12,0
+{2A75196C-D9EB-4129-B803-931327F72D5C},2,8
+{420B2830-E718-11CF-893D-00A0C9054228},1,0
+{00000600-0000-0010-8000-00AA006D2EA4},6,0

+ 8 - 0
tests/work/source/relations/TableTestRelation2TableTestRelation1.txt

@@ -0,0 +1,8 @@
+2
+TableTestRelation2TableTestRelation1
+TableTestRelation2
+TableTestRelation1
+Field = Begin
+Id
+FK_TTR1_TTR2
+End

+ 8 - 0
tests/work/source/relations/TableTestRelation3TableTestRelation2.txt

@@ -0,0 +1,8 @@
+0
+TableTestRelation3TableTestRelation2
+TableTestRelation3
+TableTestRelation2
+Field = Begin
+Id
+FK_TTR2_TTR3
+End

+ 8 - 0
tests/work/source/relations/TableTestRelation4TableTestRelation3.txt

@@ -0,0 +1,8 @@
+4352
+TableTestRelation4TableTestRelation3
+TableTestRelation4
+TableTestRelation3
+Field = Begin
+Id
+FK_TTR3_TTR4
+End

+ 376 - 0
tests/work/source/reports/ReportTest.bas

@@ -0,0 +1,376 @@
+Version =20
+VersionRequired =20
+Begin Report
+    LayoutForPrint = NotDefault
+    DividingLines = NotDefault
+    AllowDesignChanges = NotDefault
+    DefaultView =0
+    DateGrouping =1
+    GrpKeepTogether =1
+    PictureAlignment =2
+    DatasheetGridlinesBehavior =3
+    GridY =10
+    Width =10890
+    DatasheetFontHeight =11
+    ItemSuffix =29
+    DatasheetGridlinesColor =14806254
+    RecSrcDt = Begin
+        0x18175c7013d9e440
+    End
+    RecordSource ="TableWithData"
+    DatasheetFontName ="Calibri"
+    PrtMip = Begin
+        0x68010000680100006801000068010000000000008a2a00005005000001000000 ,
+        0x010000006801000000000000a10700000100000001000000
+    End
+    FilterOnLoad =0
+    FitToPage =1
+    DisplayOnSharePointSite =1
+    DatasheetAlternateBackColor =15921906
+    DatasheetGridlinesColor12 =0
+    FitToScreen =1
+    DatasheetBackThemeColorIndex =1
+    BorderThemeColorIndex =3
+    ThemeFontIndex =1
+    ForeThemeColorIndex =0
+    AlternateBackThemeColorIndex =1
+    AlternateBackShade =95.0
+    Begin
+        Begin Label
+            BackStyle =0
+            FontSize =11
+            FontName ="Calibri"
+            ThemeFontIndex =1
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =0
+            BorderTint =50.0
+            ForeThemeColorIndex =0
+            ForeTint =50.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin CommandButton
+            Width =1701
+            Height =283
+            FontSize =11
+            FontWeight =400
+            FontName ="Calibri"
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+            UseTheme =1
+            Shape =1
+            Gradient =12
+            BackThemeColorIndex =4
+            BackTint =60.0
+            BorderLineStyle =0
+            BorderColor =16777215
+            BorderThemeColorIndex =4
+            BorderTint =60.0
+            ThemeFontIndex =1
+            HoverThemeColorIndex =4
+            HoverTint =40.0
+            PressedThemeColorIndex =4
+            PressedShade =75.0
+            HoverForeThemeColorIndex =0
+            HoverForeTint =75.0
+            PressedForeThemeColorIndex =0
+            PressedForeTint =75.0
+        End
+        Begin TextBox
+            AddColon = NotDefault
+            FELineBreak = NotDefault
+            BorderLineStyle =0
+            Width =1701
+            LabelX =-1701
+            FontSize =11
+            FontName ="Calibri"
+            AsianLineBreak =1
+            ShowDatePicker =0
+            BackThemeColorIndex =1
+            BorderThemeColorIndex =1
+            BorderShade =65.0
+            ThemeFontIndex =1
+            ForeThemeColorIndex =0
+            ForeTint =75.0
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin EmptyCell
+            Height =240
+            GridlineColor =12632256
+            GridlineThemeColorIndex =1
+            GridlineShade =65.0
+        End
+        Begin FormHeader
+            KeepTogether = NotDefault
+            Height =0
+            BackColor =15849926
+            Name ="EntêteÉtat"
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =2
+            BackTint =20.0
+        End
+        Begin PageHeader
+            Height =737
+            Name ="ZoneEntêtePage"
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin Label
+                    TextAlign =2
+                    Left =1133
+                    Top =113
+                    Width =4480
+                    Height =511
+                    FontSize =16
+                    FontWeight =700
+                    BorderColor =8355711
+                    ForeColor =9592887
+                    Name ="Étiquette2"
+                    Caption ="Formatted Title"
+                    FontName ="Verdana"
+                    GridlineColor =10921638
+                    LayoutCachedLeft =1133
+                    LayoutCachedTop =113
+                    LayoutCachedWidth =5613
+                    LayoutCachedHeight =624
+                    ThemeFontIndex =-1
+                    ForeThemeColorIndex =4
+                    ForeTint =100.0
+                    ForeShade =75.0
+                End
+            End
+        End
+        Begin Section
+            KeepTogether = NotDefault
+            Height =1360
+            Name ="Détail"
+            AlternateBackColor =15921906
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    IMESentenceMode =3
+                    Left =3061
+                    Top =226
+                    Height =315
+                    ColumnWidth =1935
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="param"
+                    ControlSource ="param"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =3061
+                    LayoutCachedTop =226
+                    LayoutCachedWidth =4762
+                    LayoutCachedHeight =541
+                    Begin
+                        Begin Label
+                            Left =1360
+                            Top =226
+                            Width =660
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette3"
+                            Caption ="param"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1360
+                            LayoutCachedTop =226
+                            LayoutCachedWidth =2020
+                            LayoutCachedHeight =541
+                        End
+                    End
+                End
+                Begin TextBox
+                    IMESentenceMode =3
+                    Left =3061
+                    Top =623
+                    Height =315
+                    ColumnWidth =2835
+                    TabIndex =1
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="key"
+                    ControlSource ="key"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =3061
+                    LayoutCachedTop =623
+                    LayoutCachedWidth =4762
+                    LayoutCachedHeight =938
+                    Begin
+                        Begin Label
+                            Left =1360
+                            Top =623
+                            Width =390
+                            Height =315
+                            BorderColor =8355711
+                            ForeColor =8355711
+                            Name ="Étiquette4"
+                            Caption ="key"
+                            GridlineColor =10921638
+                            LayoutCachedLeft =1360
+                            LayoutCachedTop =623
+                            LayoutCachedWidth =1750
+                            LayoutCachedHeight =938
+                        End
+                    End
+                End
+            End
+        End
+        Begin PageFooter
+            Height =1134
+            Name ="ZonePiedPage"
+            AutoHeight =255
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin TextBox
+                    OldBorderStyle =0
+                    TextAlign =1
+                    BackStyle =0
+                    IMESentenceMode =3
+                    Left =283
+                    Width =3600
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =4210752
+                    Name ="Texte5"
+                    ControlSource ="=\"Page \" & [Page] & \" sur \" & [Pages]"
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =283
+                    LayoutCachedWidth =3883
+                    LayoutCachedHeight =315
+                End
+            End
+        End
+        Begin FormFooter
+            KeepTogether = NotDefault
+            Height =1134
+            Name ="PiedÉtat"
+            AutoHeight =1
+            AlternateBackThemeColorIndex =1
+            AlternateBackShade =95.0
+            BackThemeColorIndex =1
+            Begin
+                Begin EmptyCell
+                    Left =225
+                    Top =60
+                    Width =690
+                    Height =690
+                    Name ="Auto_LogoCelluleVide"
+                    GroupTable =2
+                    GridlineColor =10921638
+                    LayoutCachedLeft =225
+                    LayoutCachedTop =60
+                    LayoutCachedWidth =915
+                    LayoutCachedHeight =750
+                    RowEnd =1
+                    LayoutGroup =1
+                    GroupTable =2
+                End
+                Begin EmptyCell
+                    Left =975
+                    Top =60
+                    Width =4650
+                    Height =690
+                    Name ="Auto_EnTeteCelluleVide"
+                    GroupTable =2
+                    GridlineColor =10921638
+                    HorizontalAnchor =2
+                    LayoutCachedLeft =975
+                    LayoutCachedTop =60
+                    LayoutCachedWidth =5625
+                    LayoutCachedHeight =750
+                    RowEnd =1
+                    ColumnStart =1
+                    ColumnEnd =1
+                    LayoutGroup =1
+                    GroupTable =2
+                End
+                Begin TextBox
+                    Enabled = NotDefault
+                    Locked = NotDefault
+                    OldBorderStyle =0
+                    TextAlign =3
+                    BackStyle =0
+                    IMESentenceMode =3
+                    Left =5685
+                    Top =60
+                    Width =5100
+                    Height =315
+                    BorderColor =10921638
+                    ForeColor =8210719
+                    Name ="Auto_Date"
+                    ControlSource ="=Date()"
+                    Format ="Medium Date"
+                    GroupTable =2
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =5685
+                    LayoutCachedTop =60
+                    LayoutCachedWidth =10785
+                    LayoutCachedHeight =375
+                    ColumnStart =2
+                    ColumnEnd =2
+                    LayoutGroup =1
+                    ForeThemeColorIndex =2
+                    ForeTint =100.0
+                    GroupTable =2
+                End
+                Begin TextBox
+                    Enabled = NotDefault
+                    Locked = NotDefault
+                    OldBorderStyle =0
+                    TextAlign =3
+                    BackStyle =0
+                    IMESentenceMode =3
+                    Left =5685
+                    Top =435
+                    Width =5100
+                    Height =315
+                    TabIndex =1
+                    BorderColor =10921638
+                    ForeColor =8210719
+                    Name ="Auto_Heure"
+                    ControlSource ="=Time()"
+                    Format ="Short Time"
+                    GroupTable =2
+                    GridlineColor =10921638
+
+                    LayoutCachedLeft =5685
+                    LayoutCachedTop =435
+                    LayoutCachedWidth =10785
+                    LayoutCachedHeight =750
+                    RowStart =1
+                    RowEnd =1
+                    ColumnStart =2
+                    ColumnEnd =2
+                    LayoutGroup =1
+                    ForeThemeColorIndex =2
+                    ForeTint =100.0
+                    GroupTable =2
+                End
+            End
+        End
+    End
+End
+CodeBehindForm
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = True
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+Option Compare Database
+
+Private Sub Commande1_Click()
+    MsgBox "salut"
+End Sub

+ 5 - 0
tests/work/source/reports/ReportTest.pv

@@ -0,0 +1,5 @@
+1
+9
+2970
+2100
+0

+ 2 - 0
tests/work/source/tables/TableTestAdvancedFields.txt

@@ -0,0 +1,2 @@
+monetary	hypertext	calculated	combobox	combobox_multichoice
+101	www.wikipedia.com#http://www.wikipedia.com#	2	a	

+ 2 - 0
tests/work/source/tables/TableTestBaseFields.txt

@@ -0,0 +1,2 @@
+auto_number	string	long_string	integer	long_int	real	real_one_decimal	real_double	decimal	datetime	boolean	string_with_default	numeric_with_condition	nonnull_date	indexed_integer_no_decimal
+1	foo	foobar	1	1000000	1.608201E+07	1608.202	1.23123123123123E+17		27/04/2008	Vrai	default value	1	5/12/2011	123

+ 5 - 0
tests/work/source/tables/TableWithData.txt

@@ -0,0 +1,5 @@
+param	key
+param1	key1
+param2	key2
+param3	key3
+with_special_chars	éèà@~êëç

+ 3 - 0
tests/work/source/tables/USysOpenAccess.txt

@@ -0,0 +1,3 @@
+key	val
+include_tables	USysOpenAccess,TableWithData,TableTestBaseFields,TableTestAdvancedFields
+sources_date	

+ 7 - 0
tests/work/source/tbldef/TableTestAdvancedFields.sql

@@ -0,0 +1,7 @@
+CREATE TABLE [TableTestAdvancedFields] (
+  [monetary] CURRENCY ,
+  [hypertext] LONGTEXT ,
+  [calculated] SHORT ,
+  [combobox] VARCHAR (255),
+  [combobox_multichoice] VARCHAR 
+)

+ 17 - 0
tests/work/source/tbldef/TableTestBaseFields.sql

@@ -0,0 +1,17 @@
+CREATE TABLE [TableTestBaseFields] (
+  [auto_number] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [string] VARCHAR (255),
+  [long_string] LONGTEXT ,
+  [integer] SHORT ,
+  [long_int] LONG ,
+  [real] SINGLE ,
+  [real_one_decimal] SINGLE ,
+  [real_double] DOUBLE ,
+  [decimal] DECIMAL (18, 0),
+  [datetime] DATETIME ,
+  [boolean] BIT ,
+  [string_with_default] VARCHAR (255),
+  [numeric_with_condition] LONG ,
+  [nonnull_date] VARCHAR (255),
+  [indexed_integer_no_decimal] SHORT 
+)

+ 5 - 0
tests/work/source/tbldef/TableTestRelation1.sql

@@ -0,0 +1,5 @@
+CREATE TABLE [TableTestRelation1] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255),
+  [FK_TTR1_TTR2] LONG 
+)

+ 5 - 0
tests/work/source/tbldef/TableTestRelation2.sql

@@ -0,0 +1,5 @@
+CREATE TABLE [TableTestRelation2] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255),
+  [FK_TTR2_TTR3] LONG 
+)

+ 5 - 0
tests/work/source/tbldef/TableTestRelation3.sql

@@ -0,0 +1,5 @@
+CREATE TABLE [TableTestRelation3] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255),
+  [FK_TTR3_TTR4] LONG 
+)

+ 4 - 0
tests/work/source/tbldef/TableTestRelation4.sql

@@ -0,0 +1,4 @@
+CREATE TABLE [TableTestRelation4] (
+  [Id] AUTOINCREMENT CONSTRAINT [PrimaryKey] PRIMARY KEY  UNIQUE  NOT NULL ,
+  [Data] VARCHAR (255)
+)

Some files were not shown because too many files changed in this diff