1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut Formulaire de modification d' enregistrement

    Bonjour,


    Débutant avec Access, j' explore les possibilités des macros avant de m' attaquer au VBA.
    Je voudrais mettre à jour un enregistrement précis d' une table à l' aide d' un formulaire, et imposer pour cela un click sur un bouton "mise à jour". Avant la mise à jour, je voudrais modifier le champs contenant une zone date et représentant la dernière date de modification.

    J' ai créé un formulaire en ajoutant une liste déroulante reprenant la clé primaire de la table et dès la sélection de cette clé, le formulaire affiche le bon enregistrement (parfait)
    Il faudrait bloquer la mise à jour lorsque je change d' enregistrement afin d' imposer le click sur le bouton "mise à jour" Je ne sais pas comment faire.
    J' ai créé une macro qui s' enclenche au click du bouton. Dans cette macro, je repère si l' enregistrement a été modifié avec la propriété "dirty" (parfait)
    Je dois alors modifié le champs "date de modification et c' est là que j' ai mon deuxième problème. Avec l 'action macro "définir propriété", je choisi la propriété "valeur" et le box contenant la date. Si j' entre manuellement dans la macro une date, c' est OK, mais si j' emploie la fonction "maintenant", j' ai un message à l' exécution (valeur non valide pour ce champs) pourtant bien défini en date; On dirait qu' il comprend cela comme étant du texte. Voir pièces jointes.
    Et puis sauvegarder l' enregistrement (OK)

    Deux questions donc:
    1) Comment bloquer la mise à jour d' un enregistrement au passage à un autre enregistrement et ainsi ne le permettre qu' avec le bouton mise à jour et sa macro associée?
    2) Comment modifier ce champs date avec la fonction "maintenant"?

    Merci de votre aide.
    Daniel Paulus
    Images attachées Images attachées     

  2. #2
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 174
    Points : 3 694
    Points
    3 694

    Par défaut

    Bonsoir,
    pas évident les macros ...
    Personnellement, j'évite leur utilisation qui frise le non-sens ...
    Essaie en mettant : =Now() car =Maintenant(), Access ne connait pas et pourtant c'est ce qu'il propose dans les fonctions intégrées.

    Finalement après un autre essai, cela fonctionne avec Maintenant, il semble que c'est le = devant qui te manque.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut

    Cela s' appelle la loi de la vexation; J' avais à peu près tout essayé sauf ça.
    Un grand merci

    Reste le blocage de mise à jour lors d' un changement de record. Une idée?

    Merci
    Daniel

  4. #4
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 174
    Points : 3 694
    Points
    3 694

    Par défaut

    Plutôt qu'un bouton, il est plus simple de créer une Macro de données dans la table comme çà, la date sera mise à jour automatiquement si une création ou une mise à jour se produit et cela même sans passer par un formulaire.
    En mode Création de ta table, sélectionne l'icône "Créer des macros de données" dans le ruban.
    Il faut créer un évènement Avant Modification et choisir Définir Champ.
    Mettre ensuite le nom du champ et sa valeur.
    Et ici, Maintenant() fonctionne avec ou sans le =

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut

    Merci pour votre aide,

    Pour diverses raisons personnelles un peu longues à expliquer et aussi comme exercices de style, je préfère garder le formulaire et les boutons. La seule chose qui me reste à solutionner est ce fameux blocage de mise à jour automatique.

    Daniel

  6. #6
    Membre éclairé
    Inscrit en
    août 2008
    Messages
    478
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 478
    Points : 685
    Points
    685

    Par défaut

    Bonjour,

    exercice de style mis a part, je suis d'accord avec tee_grandbois, tes problemes peuvent etre resolu avec 1 champ oui/non [MiseAjour] et une macro de donnees assez simple, voir exemple ci dessous

    testMiseAJour.zip

  7. #7
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 174
    Points : 3 694
    Points
    3 694

    Par défaut

    bonjour,
    merci accessisgood pour le coup de main .
    Du coup, j'ai implémenté ta base exemple d'un formulaire avec la macro pour le bouton.
    Cela devrait satisfaire le besoin de multimedia999 :
    testMiseAJour.rar

  8. #8
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut

    Bonjour,

    Merci pour votre aide à tous deux, mais je n' ai pas besoin de ce champs mis à jour, je repère la mise à jour avec la propriété "dirty".
    Je voudrais juste déactiver la mise à jour lors d' un changement ds' enregistrement.

    Cordialement
    Daniel

  9. #9
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 174
    Points : 3 694
    Points
    3 694

    Par défaut

    mais je n' ai pas besoin de ce champs mis à jour
    C'est juste un booléen et c'est uniquement pour faire fonctionner la macro du bouton, où est le problème ? ...
    Ton cahier des charges t'impose de ne pas utiliser des champs inutiles ou "c'est diverses raisons personnelles un peu longues à expliquer" ?
    C'est déjà pas évident de coder avec les macros...

    Sympa de donner un coup demain ...

  10. #10
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut

    Bonjour,

    Merci de vos réponses.
    C' est juste que la macro fonctionne très bien sans ce champs, avec la propriété "dirty".
    Je veux juste éviter qu' une mise à jour se fasse sans l' appui sur ce bouton (par exemple: lors d' un changement d' enregistrement, par mise à jour automatique).

    Merci
    Daniel

  11. #11
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 174
    Points : 3 694
    Points
    3 694

    Par défaut

    ce sera ma dernière contribution à ce post :
    Je veux juste éviter qu' une mise à jour se fasse sans l' appui sur ce bouton (par exemple: lors d' un changement d' enregistrement, par mise à jour automatique).
    c'est justement pour cela que ce champ MiseAJour a été ajouté. Dirty ne t'empêchera pas d'aller sur un autre enregistrement, ce simple booléen, oui.
    Fin de la discussion.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut

    Bonjour,


    Désolé, mais je ne comprends pas. Peux-tu m' expliquer comment ce champs peut m' empêcher d' aller sur un autre enregistrement?

    Merci
    Daniel

  13. #13
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 174
    Points : 3 694
    Points
    3 694

    Par défaut

    Le champ fait fonction de contrôleur pour obliger l'utilisateur à effectuer une action grâce à une macro de données intégrée à la table, s'il ne le fait pas, un message apparait car le champ MiseAjour n'est pas égal à Vrai.
    Tu n'as qu'a tester la base exemple mise à ta disposition et teste le Formulaire1 pour voir le résultat.
    Regarde aussi la Table1 en mode création : clique sur "Créer des macros de données", puis sur "Avant modification" pour comprendre le principe.
    En fait cela fonctionne comme Dirty mais pour la table.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut

    Re,

    Je comprends le principe, mais je n' ai pas accès aux macro de données (Access 2016), je vois que tu as mis une macro sur la table, mais je ne peux la voir, ni ne peux en créer une.
    Les options "créer une macro nommée" et "modifier une macro nommée" sont grisées.
    Comment les rendre accessibles?

    Merci
    Daniel

  15. #15
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut

    Re,

    J' ai trouvé, un grand merci

    Cordialement
    Daniel

  16. #16
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 174
    Points : 3 694
    Points
    3 694

    Par défaut

    Est-ce que la solution proposée a résolu ton besoin ?
    Dans ce cas, n'oublie pas d'appuyer sur le bouton en bas de la discussion.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Consultant informatique
    Inscrit en
    septembre 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : septembre 2014
    Messages : 28
    Points : 15
    Points
    15

    Par défaut

    Oui, un tout grand merci
    J' appuie

    Daniel

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

Discussions similaires

  1. Enregistrement d'un formulaire en modification
    Par anodaim dans le forum InfoPath
    Réponses: 3
    Dernier message: 27/04/2011, 17h01
  2. [AC-2003] Modification d'enregistrement dans un sous formulaire
    Par Kaptain84 dans le forum IHM
    Réponses: 6
    Dernier message: 21/12/2009, 08h59
  3. Réponses: 7
    Dernier message: 06/04/2007, 15h26
  4. Réponses: 13
    Dernier message: 18/12/2006, 18h32
  5. Réponses: 4
    Dernier message: 23/03/2006, 16h10

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