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

IHM Discussion :

Aide à la conception piste audit [AC-2016]


Sujet :

IHM

  1. #1
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut Aide à la conception piste audit
    Bonjour,

    Je suis sur un nouveau projet mais avant de me lancer je souhaiterai vos conseils.

    Cet outil sera bâti avec des formulaire dont les champs seront basés sur des variables afin de ne pas agir directement dans les tables.
    Il me faudra donc à un moment donné récupérer des valeurs dans les tables et les « injecter » dans ces variables pour les modifier.

    Le souhait des utilisateurs est d’avoir un historique sur tous les champs dont la valeur serait modifié afin de les conserver dans une table d’audit avec :
    valeur précédente du champ, date/heure, user, nouvelle valeur du champs.

    C’est complétement nouveau pour moi et vos lumières me seront précieuses sur la façon de procéder.

    Je vous remercie et vous souhaite une belle journée.

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Le souhait des utilisateurs est d’avoir un historique sur tous les champs dont la valeur serait modifié afin de les conserver dans une table d’audit avec :
    valeur précédente du champ, date/heure, user, nouvelle valeur du champs.
    Comme tu l'as écrit, ton outil sera constitué essentiellement d'une table historique qui comportera les colonnes suivantes :
    . table du champ modifié
    . nom du champ (dans la table) modifié
    . valeur précédente
    . nouvelle valeur
    . date heure_modif
    . user_modif

    Dans l'appli existante, il convient d'abord de lister tous les champs qui sont à historiser.
    Ensuite, il te faut modifier l'appli pour alimenter la table historique dès qu'un champ 'historisable' est modifié

    Dans un second temps, tu étudieras comment tu veux exploiter cet historique.

    Cordialement
    "Always look at the bright side of life." Monty Python.

  3. #3
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    Merci micniv

    grosso modo, il faut que je fasse des lignes de code pour chaque champs afin de vérifier si la valeur a changé et ensuite écrire la donnée dans la table d'audit puis inscrire la valeur dans la table principale?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    Oh la. Tout d'abord de quelle manière comptes-tu gérer la déconnexion de tes formulaires ?

  5. #5
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    je ne sais pas encore

  6. #6
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    pour le moment, j'ai presque terminé l'identification des champs et des tables et commencé à préparer la gestion des utilisateurs en me basant sur le tuto Denis HULO.
    Une partie de mes relations est faite.

  7. #7
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    1 - Créer une copie de la tbl d'origine pour en faire une tbl d'archive
    2 - Créer un form attaché à la tbl d'origine
    3 - Pour tester une ou des modifs sur l'enregistrement en cours d'un form utiliser Private Sub Form_BeforeUpdate(Cancel As Integer), avec un If MsgBox("Voulez-vous enregistrer les modifications ?", vbQuestion + vbYesNo, "Enregistrer ?") = vbYes Then. Tu déroules 1 qry action (Insert into) qui va copier l'enregistrement en cours sans les modifs enregistrées (état initial) suivi d'un DoCmd.RunCommand acCmdSaveRecord qui lui enregistrera les modifs.
    4 - Créer une qry UNION qui permettra quels sont les champs qui ont été modifiés en visualisant ancienne et nouvelle valeur.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  8. #8
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    merci hyperion13,

    C'est un peu complexe pour mon niveau mais je garde en mémoire et demanderai un peu d'aide si je sui coincé

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Ok,

    La déconnexion des formulaires implique que la consultation des données et l'enregistrement de leur modification sont dépendantes d'événements utilisateurs.
    1) Un événement utilisateur provoque la recherche en base des données à afficher dans un formulaire
    2) Un événement utilisateur provoque l'enregistrement des données modifiées

    C'est lors de l'événement 2) que ton code peut générer l'historique.

    Tu peux t'orienter vers l'emploi de tables temporaires ou envisager des modules de classe.

  10. #10
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    merci ilank,

    Je pensais "charger" mes variables dans le formulaire et au moment de l'enregistrement faire le contrôle de contenu de chaque champs avant d'inscrire les données modifiées dans la table Audit et ensuite remplacer la valeur dans la table originale.

    Je ne suis pas encore familiarisé avec les modules de classe

  11. #11
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Je pensais "charger" mes variables dans le formulaire et au moment de l'enregistrement faire le contrôle de contenu de chaque champs avant d'inscrire les données modifiées dans la table Audit et ensuite remplacer la valeur dans la table originale.
    Oui, c'est ce qu'il faut faire, je pense.

    Les modules de classe permettent de créer des types d'objets personnels. Ils permettent aussi de créer des événements personnels.

    Je voulais demander un exemple mais ce n'est peut-être pas utile.

  12. #12
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    merci ilank,

    Je vais étudier le sujet et ferai un nouveau poste lorsque j'aurai un peu plus de matière pour donner des exemples.

    Merci à tous, je vais fermer celui-ci et ouvrirai un nouveau le moment venu.
    belle journée à tous

  13. #13
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    oops je me suis trompé de verbe. Je voulais donner un exemple et pas demander.

  14. #14
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    merci ilank,

    Je veux bien

  15. #15
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Trois exemples trouvés sur l'internet: Tracking data changes in Access, A simple solution for tracking changes to Access data et celui qui me semble le plus intéressant Audit Trail using Data Macros vu qu'il observe directement les tables (et pas les formulaires). Si nécessaire, un bon traducteur: deepl.

    Je conseillerais aussi de placer cette table de suivi dans un fichier séparé du reste car elle va vite devenir très importante. Il faudra aussi prévoir un dispositif d'élimination des données les plus anciennes.

    Cordialement.

  16. #16
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    Bonjour,

    merci EricDgn, je vais regarder cela et traduire surtout mon anglais est piètre
    Effectivement, je me pose la question de mettre l'audit dans une autre base avec juste une liaison avec la table.

  17. #17
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515

  18. #18
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    merci, je vais étudier tout cela

  19. #19
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    tous les exemples présentés sont intéressant mais s'appuient sur les événements de formulaire BeforeUpdate (avant mise à jour), AfterUpdate (après mise à jour), Dirty (sur modification). Ces événements ne sont levés que si le formulaire dispose d'une source de données. Or, mgascult a indiqué dans son premier post :
    Citation Envoyé par mgascult
    Cet outil sera bâti avec des formulaire dont les champs seront basés sur des variables afin de ne pas agir directement dans les tables.
    Il me faudra donc à un moment donné récupérer des valeurs dans les tables et les « injecter » dans ces variables pour les modifier.

  20. #20
    Membre régulier Avatar de mgascult
    Homme Profil pro
    Logistique Immobilière
    Inscrit en
    Août 2013
    Messages
    414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Logistique Immobilière
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 414
    Points : 106
    Points
    106
    Par défaut
    effectivement, c'est la façon que j'envisage plutôt que de passer par une table temporaire.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. AIDE VBA => Conception tableau
    Par manue31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/05/2007, 22h54
  2. [C#, .net 2.0] Aide pour conception d'IHM
    Par SesechXP dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/10/2006, 10h22
  3. [VBA] Aide de conception
    Par Virgile59 dans le forum Modélisation
    Réponses: 7
    Dernier message: 29/12/2005, 12h11
  4. Aide en conception.
    Par say dans le forum Langage
    Réponses: 10
    Dernier message: 27/10/2005, 11h48
  5. Réponses: 24
    Dernier message: 17/03/2005, 00h36

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