How to: Migrate a project of the DATEC Access SDK
Move an Access application kept with the DATEC Access SDK (msaccess-sdk, project schema 1) to the WKL Office SDK,
so it builds with wkl-office from then on.
Solution overview
wkl-office migrate reads the old project file and its source folders and writes a new project into an empty folder;
the old project is only read. Then build, export once, and check with roundtrip.
| Old | New |
|---|---|
| COMReference items | source/references.json |
| DbProperty items | source/application/properties.json (typed) |
| Table data policies | TablePolicy items |
tbldef/*.xml | tables/<table>.table.json (through Access's ImportXML, read back with the SDK's table reader) |
tables/*.txt (tab-separated) | data/<table>.jsonl |
| Forms, reports, queries, macros, modules | the same texts in their folders |
| Themes | unpacked into themes/<name>/ |
Implementation
wkl-office migrate C:\Old\Customers\Customers.acproj -o C:\Work\Customers cd C:\Work\Customers wkl-office build Customers.acproj wkl-office export Customers.acproj wkl-office roundtrip Customers.acproj
migrateprints a note for every setting it has no place for; read them.buildmakes the database from the migrated sources.exportwrites the sources once as Access writes them: VBA spells every identifier the same way throughout the project, and Access adds form properties such asPublishOption. Commit the result as the start of the history.roundtripexits with 0 when the sources are stable: their build exports to the same sources. It does not show that the migration kept everything; read the notes ofmigrateand the warnings ofexport.
Remarks
- WKL Forms Object Library 2.0.
migratewith-okeeps the reference of the old project, also one to release 1.x (WklComponents). On a PC with release 2.0 registered,buildthen stops because the type library isn't registered in the version the reference asks for. In that case, first move the new project to release 2.0 in place withwkl-office migrate Customers.acproj(without-o); see `migrate`. - Empty texts. Text and memo fields allow empty texts after the migration, as the tables of the DATEC build did: tables created with ImportXML accept „“ although DAO reports AllowZeroLength False.
- Long binary data and attachments are not migrated: the data files of the DATEC SDK hold none.
- Paths in table data. The DATEC SDK replaces the escapes
\t,\n,\rbefore\\when it reads its data files, so a value with a backslash path could already be changed in the old sources. Check such values after the migration.
Related topics
en/wiki/msaccess/sdk/how-to/migrate-from-the-datec-sdk.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille