|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Mak Mik Inscription : février 2010 Messages : 45 ![]() |
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: Code :
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. Code :
Merci, Julie PS: précision, je suis sur une version d'access en anglais |
||||
|
|
00
|
|
|
#2 |
![]() ![]() |
salut,
la repond a toutes ces questions http://access.developpez.com/faq/?page=SQL#Warning repond aux questions 1 et 2 http://access.developpez.com/faq/?pa...DefTypParamReq et http://access.developpez.com/faq/?page=SQL#ReqParamVar pour la 3 la piste pour effectuer une approche plus globale serait les tables de parametres
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Mak Mik Inscription : février 2010 Messages : 45 ![]() |
Merci jpcheck pour ta réponse.
Je vais investiguer tout ceci. Ju |
|
|
00
|
|
|
#4 | ||||
|
Nouveau Membre du Club
![]() Sylvain ThibaultAdministrateur de base de données Inscription : mars 2004 Messages : 37 ![]() |
Bonjour,
quelques éléments de réponse : - Pour désactiver les messages d'avertissement, utilises la syntaxe suivante pour désactiver : et la suivante pour réactiver les messages d'alerte Access. A utiliser avec parcimonie car tous les messages Access sont désactivés. - Si tu souhaites exécuter du SQL en VB, utilises la syntaxe suivante - Pour obtenir une boite de dialogue, utilises la fonction InputBox comme ci-dessous : Code :
Code :
|
||||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Mak Mik Inscription : février 2010 Messages : 45 ![]() |
Oh Merci Sylvain ça m'aide beaucoup j'étais pas partie comme ça du tout.
Juste une toute petite question, est-il possible de créer une liste déroulante dans l'Input box? Je ne sais pas trop comment ça s'appelle mais comme je dois sélectionner entre une 10aine de date, je me dis qu'il serait plus opportun de faire apparaître une liste déroulante. En cherchant j'ai cru comprendre qu'il fallait utiliser la ComboBox Est-ce que les valeurs (parmi lesquelles choisir) doivent être sur une table access ou je peux les indiquer directement dans ma macro? |
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Mak Mik Inscription : février 2010 Messages : 45 ![]() |
Re moi,
J'ai commencé à "coder" en attendant de voir pour la liste déroulante (si on peut appeller ça du code lol) Voici ce que j'ai, mais par contre ça ne marche pas trop, comme je le disais je suis novice, il doit avoir des erreurs de syntaxes en chaîne Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Nouveau Membre du Club
![]() Sylvain ThibaultAdministrateur de base de données Inscription : mars 2004 Messages : 37 ![]() |
Je pense qu'il y a une erreur dans ton code car je vois deux macros DeleteParameter et Deletion
je pense que ce code ci fonctionnera mieux : Code :
Sylvain |
||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Mak Mik Inscription : février 2010 Messages : 45 ![]() |
J'ai un "compile error: object required", comme précédemment.
Il y aurait-il un problème de déclaration ? |
|
|
00
|
|
|
#9 | ||
|
Invité régulier
![]() Mak Mik Inscription : février 2010 Messages : 45 ![]() |
Bonjour,
J'ai décidé d'y aller étape par étape, pour une débutante c'est pas plus mal Pour mon 1er jet j'essaie donc de désactiver les avertissements, de supprimer certains éléments de ma table et de reactiver les avertissements Quand j'execute le code ci-dessous j'ai un message d'erreur me disant : "syntaxe error" en surlignant la ligne "codesql = "Delete... and "max") Pouvez-vous m'indiquer l'erreur que j'ai fait svp? Code :
|
||
|
|
00
|
|
|
#10 |
![]() ![]() |
salut,
verifie tes espaces dans ta requete ![]() il en manque un entre WEEK et From ![]() Code :
codesql = "DELETE [Table1].*, [Table1].WEEK " & "From [Table1] WHERE (([Table1].WEEK) Between "& date_demandee &" And "max")" "codesql"
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access |
|
00
|
|
|
#11 |
|
Invité régulier
![]() Mak Mik Inscription : février 2010 Messages : 45 ![]() |
Merci Jpcheck.
Effectivement je n'ai plus de bug et en plus j'apprends! J'ai tenté d'enchaîner le code sql avec une "&" mais je ne suis pas certaine que ça marche. Quel est l'opérateur adéquat? Ci-dessous voici ce que j'ai fait mais qui n'a pas l'air de marcher: Code :
codesql = "DELETE [Table1].*, [Table1].WEEK" & " From [Table1] WHERE (([Table1].WEEK) >= " & date_demandee & ")" & "DELETE [Table2].*, [Table2].WEEK" & " From [Table2] WHERE (([Table2].WEEK) >= " & date_demandee & ")" & "DELETE [Table3].*, [Table3].WEEK" & " From [Table3] WHERE (([Table3].WEEK) >= " & date_demandee & ")" & "DELETE [Table4].*, [Table4].WEEK" & " From [Table4] WHERE (([Table4].WEEK) >= " & date_demandee & ")" Du coup je suis amenée à taper ceci par exemple : "2011/06" Dans access, aucun problème, il comprend que c'est une date et lorsque que je lui demande de supprimer toutes les cellules >= 2011/06, il le fait. Dans le code VBA j'ai l'impression qu'il ne le comprend plus. J'ai ajouté un: Mais ça ne me fait rien. Quelle dimension donner pour conserver la propriété de calcul (=, entre, > ou <>) Désolé si je m'exprime pas avec les bons termes... Ju |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com