OA_Table.bas 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. Option Compare Database
  2. Option Private Module
  3. Option Explicit
  4. 'Export a local table: definition (schema), data (is asked), properties, ## stored procedures? ##
  5. Public Sub ExportTable(ByVal tbl_name As String, _
  6. ByVal dirpath As String, _
  7. Optional withData As Boolean = True)
  8. On Error GoTo err
  9. Dim file_path As String
  10. dirpath = norm_dir_path(dirpath)
  11. mktree dirpath
  12. file_path = joinpaths(dirpath, to_filename(tbl_name) & ".xml")
  13. Application.ExportXML _
  14. ObjectType:=acExportTable, _
  15. DataSource:=tbl_name, _
  16. DataTarget:=file_path, _
  17. encoding:=acUTF8, _
  18. OtherFlags:=acExportAllTableAndFieldProperties + acEmbedSchema, _
  19. WhereCondition:="(" & CInt(withData) & ")"
  20. logger "ExportTable", "DEBUG", "Local Table " & tbl_name & " exported (withData=" & withData & ") to " & file_path
  21. Exit Sub
  22. err:
  23. logger "ExportTable", "CRITICAL", "Unable to export " & tbl_name & " [" & err.Description & "]"
  24. End Sub
  25. Public Sub ImportTable(ByVal file_path As String)
  26. On Error GoTo err
  27. logger "ImportTable", "DEBUG", "Try to import local table from " & file_path
  28. file_path = norm_path(file_path)
  29. Application.ImportXML file_path, acStructureAndData
  30. logger "ImportTable", "DEBUG", "> imported"
  31. Exit Sub
  32. err:
  33. logger "ImportTable", "CRITICAL", "Unable to import " & file_path & " [" & err.Description & "]"
  34. End Sub