timetrack-pro/docs/MCP_VBA_GUIDE.md
StillHammer fe30e811a3 Initial commit - TimeTrack Pro
- Structure projet complete
- Schema BDD (3 tables: Clients, Projets, Temps)
- 6 modules VBA documentes
- Scripts SQL de creation
- Plan d'implementation pour agent
- Base Access avec tables creees (Phase 1 complete)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 10:53:11 +07:00

4.8 KiB

TimeTrack Pro - Guide MCP VBA

Comment utiliser VBA MCP Server pour construire ce projet.

Prerequis

  1. VBA MCP Server v0.6.0+ installe
  2. Microsoft Access installe
  3. "Trust access to VBA project object model" active dans Access

Outils MCP Disponibles

Pour Access

Outil Usage dans ce projet
run_access_query Creer tables, executer SQL
list_access_tables Verifier structure
list_access_queries Lister requetes sauvegardees
get_worksheet_data Lire donnees des tables
set_worksheet_data Inserer donnees de test
inject_vba Injecter les 6 modules VBA
validate_vba Valider syntaxe avant injection
create_backup Sauvegarder avant modifications

Etape 1: Creer la Base Access Vide

Manuel: Ouvrir Access > Nouvelle base > Enregistrer comme TimeTrackPro.accdb

Emplacement: C:\Users\alexi\Documents\projects\timetrack-pro\db\TimeTrackPro.accdb


Etape 2: Creer les Tables

Utilise run_access_query pour executer chaque instruction SQL.
Les scripts sont dans: scripts/01_create_tables.sql

Table tbl_Clients

CREATE TABLE tbl_Clients (
    ClientID AUTOINCREMENT PRIMARY KEY,
    Nom TEXT(100) NOT NULL,
    Email TEXT(100),
    Telephone TEXT(20),
    Notes MEMO,
    DateCreation DATETIME DEFAULT Now()
)

Table tbl_Projets

CREATE TABLE tbl_Projets (
    ProjetID AUTOINCREMENT PRIMARY KEY,
    ClientID LONG NOT NULL,
    Nom TEXT(100) NOT NULL,
    Description MEMO,
    TauxHoraire CURRENCY DEFAULT 0,
    Actif YESNO DEFAULT True,
    DateCreation DATETIME DEFAULT Now()
)

Table tbl_Temps

CREATE TABLE tbl_Temps (
    TempsID AUTOINCREMENT PRIMARY KEY,
    ProjetID LONG NOT NULL,
    Date DATETIME NOT NULL,
    Duree DOUBLE NOT NULL,
    Description MEMO,
    DateCreation DATETIME DEFAULT Now()
)

Verification

Utilise list_access_tables pour verifier que les 3 tables sont creees.

Etape 3: Inserer Donnees de Test

Utilise run_access_query ou set_worksheet_data pour inserer les donnees.
Les scripts sont dans: scripts/03_sample_data.sql

Exemple avec set_worksheet_data

# Clients
data = [
    ["Acme Corporation", "contact@acme.com", "01 23 45 67 89", "Client principal"],
    ["Tech Solutions", "info@techsol.fr", "01 98 76 54 32", "Startup tech"],
]
columns = ["Nom", "Email", "Telephone", "Notes"]
set_worksheet_data("TimeTrackPro.accdb", "tbl_Clients", data, columns, mode="append")

Etape 4: Injecter les Modules VBA

Utilise inject_vba pour chaque module.
Le code complet est dans: VBA_MODULES.md

Ordre d'injection recommande

  1. mod_Config - Constantes et parametres
  2. mod_Utils - Fonctions utilitaires
  3. mod_DataAccess - CRUD donnees
  4. mod_Calculs - Fonctions de calcul
  5. mod_Navigation - Navigation formulaires
  6. mod_Export - Export PDF/Excel

Exemple

inject_vba("TimeTrackPro.accdb", "mod_Config", "<code du module>")

Validation avant injection

validate_vba("<code>", file_type="access")

Etape 5: Verifier l'Installation

Lister les modules

Utilise la session manager pour lister les VBComponents.

Tester une fonction

-- Via run_access_query
SELECT * FROM tbl_Clients

Commandes Frequentes

Voir les tables

list_access_tables("db/TimeTrackPro.accdb")

Lire des donnees

get_worksheet_data("db/TimeTrackPro.accdb", "tbl_Clients")

Executer SQL

run_access_query("db/TimeTrackPro.accdb", sql="SELECT * FROM tbl_Temps WHERE Date > #2025-01-01#")

Ajouter une entree de temps

run_access_query("db/TimeTrackPro.accdb", sql="INSERT INTO tbl_Temps (ProjetID, Date, Duree, Description) VALUES (1, #2025-01-15#, 3.5, 'Travail effectue')")

Sauvegarder avant modification

create_backup("db/TimeTrackPro.accdb")

Limitations Connues

Limitation Workaround
Formulaires Access Creer manuellement dans Access UI
Rapports Access Creer manuellement dans Access UI
run_macro Access Utiliser inject_vba + SQL direct
list_modules .accdb Utiliser session manager COM

Workflow Complet

1. create_backup           → Sauvegarde
2. run_access_query       → CREATE TABLE (x3)
3. list_access_tables     → Verification
4. set_worksheet_data     → Donnees test
5. validate_vba           → Valider code
6. inject_vba             → Injecter modules (x6)
7. get_worksheet_data     → Verification finale

Fichiers de Reference

Fichier Contenu
scripts/01_create_tables.sql SQL creation tables
scripts/02_create_queries.sql Requetes sauvegardees
scripts/03_sample_data.sql Donnees de test
VBA_MODULES.md Code VBA complet
DATABASE.md Schema detaille