Forum des développeurs  

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é.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access

VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.

Réponse
 
Outils de la discussion
Vieux 03/09/2008, 22h14   #1 (permalink)
Membre régulier
 
Date d'inscription: octobre 2003
Messages: 138
Par défaut Stopper une macro sous certaines conditions

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
joquetino est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/09/2008, 07h56   #2 (permalink)
Membre du Club
 
Date d'inscription: août 2007
Localisation: Monts du Lyonnais (entre Lyon et Saint Etienne)
Messages: 93
Par défaut

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
fevec est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/09/2008, 12h04   #3 (permalink)
Membre régulier
 
Date d'inscription: octobre 2003
Messages: 138
Par défaut

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 ...
joquetino est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/09/2008, 18h02   #4 (permalink)
Membre Confirmé
 
Date d'inscription: juillet 2006
Localisation: Luxembourg
Messages: 217
Par défaut

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
 
le_niak est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ACCESSF.A.Q AccessF.A.Q VBATutorielsSourcesOutilsLivresAccess TVAccess 2007

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 22h11.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2009 www.developpez.com - Legal informations