Bonjour les amis,
Je suis débutante en macro mais j'essaie la chose suivante.
J'ai créee 4 requêtes sur access qui fonctionnent bien.
J'ai ensuite créee une macro pour agréger ces requêtes
Je voudrais tout basculer sur du VBA afin de réduire le processus (créer une requête puis affecter à une macro) et éviter de surcharger ma base access.
J'ai donc ouvert le code généré et je trouve ceci:
J'aimerai faire la chose suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Option Compare Database '------------------------------------------------------------ ' M_Delete_Weeks_Delete_Weeks ' '------------------------------------------------------------ Function M_Delete_Weeks_Delete_Weeks() On Error GoTo M_Delete_Weeks_Delete_Weeks_Err DoCmd.OpenQuery "Query1", acViewNormal, acEdit DoCmd.OpenQuery "Query2", acViewNormal, acEdit DoCmd.OpenQuery "Query3", acViewNormal, acEdit DoCmd.OpenQuery "Query4", acViewNormal, acEdit M_Delete_Weeks_Delete_Weeks_Exit: Exit Function M_Delete_Weeks_Delete_Weeks_Err: MsgBox Error$ Resume M_Delete_Weeks_Delete_Weeks_Exit End Function
1- Ajouter une ligne de code pour désactiver toutes les "avertissements" qu'Access fait apparaître lors de l'éxuction d'une requête.
(Je n'ai pas trouvé l'action "Avertissement" dans l'éditeur de macro assisté)
2-Enchaîner les requêtes mais au lieu de demander d'activer la requête, je voudrai si possible renseigner le code SQL associé (afin de ne plus être obligée de garder ces requêtes sur access)
Est-ce possible?
3- Les 4 requêtes reposent sur un même critère (une date) que je demande de renseigner à leur ouverture.
Plutôt que de le renseigner 4 fois j'aimerai bien le rentrer au début et qu'il soit utilisé pour toutes les requêtes.
Pour info je vous mets à quoi ressemble le code SQL d'une des requêtes, sachant que les autres requêtes sont exactement identique si ce n'est qu'elles le font sur des tables différentes.
Si une bonne âme a une solution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DELETE [Table1].*, [Table1].WEEK FROM [Table1] WHERE ((([Table1].WEEK) Between [1st week of the quarter: aaaa/ww] And "max"));
Merci, Julie
PS: précision, je suis sur une version d'access en anglais
Partager