Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Version Control Add-in Binaries
# Version Control Add-in Binaries
# (This should be built from source and not committed to version control)
*.mdb
*.accd[aber]
Expand All @@ -11,8 +11,19 @@
*.log

# The local VCS index file is paired with the database and should not
# be comitted to version control.
vcs-index.json
# be committed to version control.
vcs-index.*

# Ignore any dotenv files (used for external database connections)
*.env
logs/
test-results/
.env.*
!.env*.example

# Local MCP server configuration (contains machine-specific paths)
.mcp.json

# Agent docs generated by the VCS add-in on every export
source/AGENTS.md
source/vcs-agent-docs/
43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,46 @@ Details: https://wiki.access-codelib.net/ACLib-Import-Wizard
[Video: create new Access application](https://access-codelib.net/videos/ACLib-Import-Wizard/neue-anwendung-erstellen/)

[Video: Import from GitHub repository](https://access-codelib.net/videos/ACLib-Import-Wizard/ACLib-Import-Wizard_ImportFromGitHub.mp4)

#### Automation API
The wizard can be used without UI, e.g. from scripts or AI agents.
`API` returns a JSON string:

```vba
Application.Run "<add-in path without .accda>.API", "<Command>", "<Files>", "<Options>"

' Example (installed add-in)
Application.Run Environ("APPDATA") & "\Microsoft\AddIns\ACLibImportWizard.API", _
"Resolve", "form/filter/FilterControlManager.cls", "mode=missing"
```

| Command | Arguments | Result |
|---|---|---|
| `GetVersion` | - | add-in and API version |
| `GetConfig` | [Options] | configured repositories, resulting source |
| `ListInstalled` | - | ACLib modules in the current database (`<file>` from the codelib block) |
| `Resolve` | Files, [Options] | read only: files incl. dependencies, references, tests, planned action (`import`/`skip`/`overwrite`), missing files |
| `Import` | Files, [Options] | imports like the wizard form; imported/skipped files, missing dependencies, added/removed references, messages |

* Files: `"data/SqlTools.cls;text/String2.cls"`
* Options: `"mode=missing|all|selected;tests=0|1;examples=0|1;source=config|local|github;repo=owner/name@branch"`
(defaults: `mode=missing`, `tests=0`, `examples=0`, `source=config` = local repository if configured, otherwise GitHub `AccessCodeLib/AccessCodeLib@master`)

Result: `{"ok":true,...}` or `{"ok":false,"error":{"number":...,"source":"...","description":"..."}}` (no message boxes).

```json
{"ok":true,"source":"local","repository":"C:\CodeLib\AccessCodeLib\\","mode":"missing","tests":false,"examples":false,
"files":[{"name":"String2","file":"text/String2.cls","type":"class","action":"import"},
{"name":"_AccessCodeLib_license","file":"_codelib/license.bas","type":"module","action":"skip"},
{"name":"StringTools","file":"text/StringTools.bas","type":"module","action":"import"}],
"missing":[],"references":{"added":[],"removed":[]},"executes":[],"messages":[]}
```

Notes:
* The add-in and the target database must be in trusted locations. Otherwise Access shows a
security prompt (the call blocks) or disables code.
* `Import` stops before importing if a selected file is not available. Missing dependencies are
skipped (as in the wizard form) and listed in `missing`.
* Compile the project after `Import` and check the result.
* With [msaccess-vcs-mcp](https://github.com/joyfullservice/msaccess-vcs-mcp):
`vcs_call_vba(database_path="<target>.accdb", function_name="<add-in path without .accda>.API", args=["Resolve", "text/String2.cls"])`
6 changes: 5 additions & 1 deletion source/dbs-properties.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@
"Value": 0,
"Type": 4
},
"Default Zoom Level": {
"Value": 100,
"Type": 4
},
"DesignMasterID": {
"Value": "",
"Type": 15
Expand Down Expand Up @@ -101,7 +105,7 @@
"Type": 4
},
"NavPane Width": {
"Value": 591,
"Value": 545,
"Type": 4
},
"Never Cache": {
Expand Down
30 changes: 20 additions & 10 deletions source/documents.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,26 @@
"Items": {
"Databases": {
"SummaryInfo": {
"Author": "Josef Pötzl",
"Comments": "Access add-in for importing elements from the Access Code Library.",
"Company": "access-codelib.net",
"Manager": "Josef Pötzl",
"Title": "Access Code Library - Import Wizard"
}
},
"Tables": {
"tab1DS": {
"Description": "Tabelle mit einem DS (ist in Abfragen hilfeich)"
"Author": {
"Type": 10,
"Value": "Josef Pötzl"
},
"Comments": {
"Type": 10,
"Value": "Access add-in for importing elements from the Access Code Library."
},
"Company": {
"Type": 10,
"Value": "access-codelib.net"
},
"Manager": {
"Type": 10,
"Value": "Josef Pötzl"
},
"Title": {
"Type": 10,
"Value": "Access Code Library - Import Wizard"
}
}
}
}
Expand Down
Loading
Loading