![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre régulier
![]() Date d'inscription: octobre 2003
Messages: 138
|
Bonsoir à tous,
J'ai défini dans une base Access une Macro (grâce à l'assistant graphique). Ma Macro exécute des requêtes (via OuvrirRequête). Ma première requête importe des données dans une table, appelée "Table1". Ce que j'aimerai, c'est tester juste après s'il y a des champs vides, et si c'est vrai arrêter la macro, avec un message à l'écran. Si la table est ok, la macro s'éxécute normalement (en exécutant les autres requêtes) Ca vous semble possible? Merci |
|
|
|
|
|
#2 (permalink) |
|
Membre du Club
![]() Date d'inscription: août 2007
Localisation: Monts du Lyonnais (entre Lyon et Saint Etienne)
Messages: 93
|
Bonjour,
Je n'utilise plus les macros... As tu une "obligation" d'utiliser une macro, ou peux tu faire cela en VBA ? si ta macro fonctionne, je te conseillerrais volontiers de l'enregistrer sous ..code VBA. dans ce code, tu ajoute les tests que tu veux : (par exemple avec Dcount, Dsum...) en fonction des tests avec des msgbox tu peux poursuivre ou non ton processus en espérant faire avancer... cordialement, fevec |
|
|
|
|
|
#3 (permalink) |
|
Membre régulier
![]() Date d'inscription: octobre 2003
Messages: 138
|
Hello,
Merci de ta réponse. Il faut par contre absolument que je passe par une macro "graphique". Il y a la possibilité d'ajouter la fonction "exécuterCode". Donc je pensais définir une procédure VBA, qui teste la table, et qui stoppe la macro lorsque des champs sont vides. Mais quel code me permet de stopper la macro, voilà le souci ... |
|
|
|
|
|
#4 (permalink) |
|
Membre Confirmé
![]() Date d'inscription: juillet 2006
Localisation: Luxembourg
Messages: 217
|
Salut,
TU peux en VBA faire un recorset sur la table dont les données sont importées, vérifier s'il ya des enregistrements et ensuite executer ta macro. Voici un exemple: Code :
Set cop = CurrentDb.OpenRecordset("Composition FoF, date fixee") cop.MoveLast cop.MoveFirst MaxNAV = cop.RecordCount if (MAxNAV>0) then Call macro End if |
|
|
|
|
![]() |
![]() |
||
Stopper une macro sous certaines conditions
|
||
| Outils de la discussion | |
|
|