# 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 ```sql 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 ```sql 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 ```sql 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 ```python # 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", "") ``` ### Validation avant injection ``` validate_vba("", file_type="access") ``` --- ## Etape 5: Verifier l'Installation ### Lister les modules ``` Utilise la session manager pour lister les VBComponents. ``` ### Tester une fonction ```sql -- 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 |