Repository navigation
Read forms and reports of the Access 2000 format - #102
Merged
Merged
Conversation
…ormat - Add control-property-generator.bas, which makes forms and reports for 16 control types with every property set to a value of its own, and the database it made, with a copy saved in the Access 2000 format - Add a copy of propertyIdTestV2007.accdb saved in the Access 2000 format - Describe in SOURCES.md how they were made and which properties were left out after Access stopped on them Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- The Access 2000 format (Blob version 0x13) keeps the design as a tree of entries with properties of an ID byte and a value: read it in form2000 and give the properties of the object, its sections and its controls, with the names and types of the controls, which were empty - Give the IDs as the ID of the format plus 0x8000 (form2000::UNMAPPED), and the values as NotDefault for an ID without one, Short for 1 or 2 bytes, Long for 4 bytes, and bytes for a value of a length - Name the control types of the format, the acControlType of Access, in control_type_name - Add tests that the 208 forms and reports of the format in the test data read to the end, and of the types, names and values of their controls Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…cess 2002 and later - Add tables that tie the IDs of the 2000 format to those of Access 2002 and later, for the form, the report and each entry type (409 pairs): the IDs whose values across the same forms and reports in both formats are the same, and those of no other ID. The 307 pairs whose names are known on both sides have the same names - Give a tied ID the value as Access 2002 and later gives that ID, such as text, a GUID or a Yes/No, and an ID not in the tables plus 0x8000 as before - Read 0xBD to 0xBF as values of a length, which were read as 4 bytes and fit only by chance with text of letters and digits - Add a test that the tied IDs of the two databases of each format hold the values of the later format Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Describe in docs/form-design.md and docs/form-design.ja.md the tree of the Blob of the Access 2000 format, the sizes of its values, the entry types, and how the table to the IDs of Access 2002 and later was made and checked - Say in docs/cli.md and docs/cli.ja.md that jetdb form props shows a property of the Access 2000 format without a pair as its ID plus 0x8000 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation
6162
on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
jetdb form propsgave only its name. Its Blob, which starts with0x13(Version =19in SaveAsText), keeps the design as a tree rather than property entries: lists of entries (FFand a count, orFEand one entry), each with a type, theacControlTypeof Access, and properties of an ID byte and a value whose size the ID tells. The new moduleform2000reads it and gives the properties of the form or report itself and of its sections and controls, with the names and types of the controls. The 208 forms and reports of the format in the test data read to their last byte.0x8000, such as0x80DD; most of them are properties a control keeps before its name in later formats, which jetdb does not read yet.testdata/form-generators/control-property-generator.bas: forms and reports of 16 control types with every property Access takes set to a value of its own, in the 2007 format and saved again in the 2000 format, with a copy ofpropertyIdTestV2007.accdbin the 2000 format. An ID of each format whose values across the same objects agree, and agree with no other ID, makes a pair; of the pairs whose names are known in both formats, all 307 have the same name. A new test reads both formats of these databases and checks that every tied ID holds the value of the later format.docs/form-design.md/docs/form-design.ja.mddescribe the format and how the tables were made, anddocs/cli.md/docs/cli.ja.mdthe IDs plus0x8000.🤖 Generated with Claude Code