IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros Access Discussion :

Comment utiliser une macro pour créer un compteur


Sujet :

Macros Access

  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Mars 2014
    Messages : 80
    Par défaut Comment utiliser une macro pour créer un compteur
    Bonjour à tous,

    J'utilise access 2010 et le catalogue des actions.

    Je bloque sur la possiblité de créer un compteur qui doit être utilisé pour numéroter un nombre de documents en fonction d'un n° dossier. A chaque n° de dossier, le comptage des documents devra donc recommencer à partir de 1. Ce comptage est affiché dans un sous-formulaire "document" qui est affiché sur le formulaire principal "dossier"

    J'utilise un champ qui reprend le nombre total de document qui se trouve sur le formulaire principal
    J'ai ensuite créer un champ indépendant "invisible" qui à une valeur par défaut à 1 qui se trouve également sur le formulaire principal.

    J'ai un bouton pour déclencher la macro.

    Cette macro a pour nombre de répétition l'expression suivante: =[Champ indépendant]<=[Nombre total]

    Elle exécute alors 2 requêtes: la première ajoute des lignes et la deuxième va mettre à jour le champ indépendant: [champ indépendant] + 1

    J'ai essayer de retourner le problème dans tous les sens mais je n'y arrive pas.
    J'arrive à ajouter des lignes ou enregistrements dans mon sous-formulaire mais pas à les numéroter. Lorsque je vérifie mon champ indépendant "invisible", je vois que la numérotation se passe normalement et la macro s'arrête...Je suppose que c'est un problème de syntaxe quelque part.

    Je pense ne pas être trop loin de la solution mais je bloque depuis plusieurs heures...jours...

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,


    Si ton souhait est de numéroter les lignes d'un formulaire en continu, vois cette discussion.

  3. #3
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Mars 2014
    Messages : 80
    Par défaut
    Merci beaucoup.
    J'ai commencé à regarder.

    J'ai également une collègue qui m'a donné une belle piste à suivre via requête sur formulaire.

    Quand j'ai terminé les tests. Je déposerai une solution.
    Encore merci.

  4. #4
    Membre émérite
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Par défaut plutot utiliser une datamacro
    je preconiserai d'utiliser une data macro au niveau du Dossier qui compte le nombre de documents relatif au dossier, puis met a jour le compteur

    Nom : macro.PNG
Affichages : 840
Taille : 22,6 Ko

    Cette macro sera appellee sur evenement "Apres Creation" et "Apres Suppression" de la table Document

    C'est hyper clean, et il n'y a pas besoin de bouton
    Images attachées Images attachées  

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 026
    Billets dans le blog
    47
    Par défaut
    Bonjour,

    Citation Envoyé par PetitChris Voir le message
    Je bloque sur la possiblité de créer un compteur qui doit être utilisé pour numéroter un nombre de documents en fonction d'un n° dossier. A chaque n° de dossier, le comptage des documents devra donc recommencer à partir de 1.
    C'est vrai que les macros de données sont bien adaptées à ce genre de problème
    Pour numéroter automatiquement un document, relativement à un dossier, comme ci-dessous :
    Nom : PetitChris01.png
Affichages : 876
Taille : 6,9 Ko

    J'utilise une requête R_comptage :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT NumDossier, Count(*) AS Nb
    FROM Document
    GROUP BY NumDossier;

    Puis sur l'évènement Avant Modification :
    Nom : PetitChris02.png
Affichages : 732
Taille : 9,0 Ko

  6. #6
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Mars 2014
    Messages : 80
    Par défaut
    Bonjour Accessigood, f-leb,

    Je ne connaissais pas du tout ce type de macro. Merci beaucoup.
    J'ai commencé par la solution donnée par f-leb car j'avais déjà une requête du même genre.

    Ca marche très bien :-) mais elle ne commence pas à 1 mais à 2. Le nombre d'enregistrement total correspond bien mais le premier enregistrement n'indique rien et le deuxième commence directement à 2 ??

    Merci à vous 2.

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 026
    Billets dans le blog
    47
    Par défaut
    Bonjour,

    j'ai réussi à reproduire le problème, je pense que c'est un bloc mal placé.
    Je dirais que tu as le bloc Définir champ à l'intérieur du bloc Rechercher un enregistrement dans :
    Nom : Petitchris04.png
Affichages : 908
Taille : 55,1 Ko
    et donc le bloc définir champ n'est exécuté que si la requête R_comptage ramène une ligne, ce qui n'est pas le cas pour un nouveau dossier.

    Il faut le sortir de ce bloc pour que cela fonctionne :
    Nom : Petitchris05.png
Affichages : 884
Taille : 44,4 Ko

  8. #8
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Mars 2014
    Messages : 80
    Par défaut
    Salut,

    Extra ça marche. Merci beaucoup.

    Je pense à autre chose m^me si c'est peu probable, le Numdossier devait se représenter. La numérotation du numdossier recommence chaque année et que je n'ai pas eu le temps de vider mes tables pour la nouvelle année...(parfois on peut prendre des vacances :-) ) cela viendra à générer un problème.

    Si je travaille avec une double clef primaire (Date + Numdossier), est-ce que je peux introduire un "and" dans la condition where ?

    Encore merci.

  9. #9
    Membre confirmé
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Mars 2014
    Messages : 80
    Par défaut
    Je viens de tester et c'est bon j'ai réussi avec le and :-)

    Encore merci...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Utiliser la macro pour créer un lien vers une fiche créée
    Par beowulf97 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/01/2012, 10h00
  2. [XL-2003] comment utiliser une macro?
    Par answer3 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/12/2009, 12h05
  3. Comment stocker une macro pour qu'elle soit accessible partout
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/06/2008, 00h11
  4. Réponses: 9
    Dernier message: 16/02/2007, 16h10
  5. Réponses: 1
    Dernier message: 17/05/2006, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo