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

Access Discussion :

Se servir d'une seule table pour l'historique et pour la sauvegarde des données


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    91
    Points
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 91
    Points : 59
    Par défaut Se servir d'une seule table pour l'historique et pour la sauvegarde des données
    bonjour,

    J'ai une table T1 ayant les champs C1 et C2.
    Les saisies dans le formulaire F1 sont enregistrées dans la table T1.
    Quand j'ouvre le formulaire F1, je vois tout ce qui est enregistré dans la table T1.
    Jusque là , aucun problème.

    Mais le problème est le suivant:
    Je veux que quand je change un champ de mon formulaire, il faut que la ligne modifiée soit enregistrée dans la table T1 sans écraser l'ancienne valeur du champ.

    Du genre, si j'ai dans mon formulaire F1 dans le champs C1 "toto" et que si je change "toto" en "titi",je veux que "titi" n'écrase pas toto qui est stockée dans ma table T1.

    Je n'ai pas droit à faire une deuxième table. On m'oblige à faire tout ça sur une table T1 qui gardera l'historique des données.

    Auriez vous un exemple de code SQL qui permet d'apporter les modifications d'un formulaire sur une table sans écraser les anciennes valeurs?

    Merci d'avance pour vos suggestions.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Points
    4 297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Par défaut
    ben il te faut un champ horodatage qui conserve la date heure
    un formulaire en mode visualisation
    et une copie des champs en mode édition
    un bouton modifier qui ajoutera tes champs édités et now() à ta table
    évidemment tous les accés en écriture/suppression sur ta table deviennent interdits hors du formulaire et d'autres formulaires à créer (notamment nouvel enregistrement)


    ++ il te faut aussi un champ ex reprenant le champ now() du champ modifié
    pour suivre les modifs

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    91
    Points
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 91
    Points : 59
    Par défaut
    bonsoir random,
    merci pour ta réponse
    Ma foi, elle dépasse mon niveau.. Je suis incapable de le faire.

    Est ce que quelqu'un aurait un code pour enregistrer les données d'un formulaire dans une table?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Points
    1 579
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Par défaut
    Tu peux utiliser les propriétés OldValues et Values pour faire une nouvelle saisie dans ta table par le biais soit d'un RecordSet ou de l'instruction INSERT INTO.

    Mais après pour savoir quel enregistrement a été modifié par le nouvel enregistrement, il faut non seulement le champ horodatage de random par aussi un autre champ qui identifie l'enregistrement initial.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    19
    Points
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 19
    Points : 16
    Par défaut
    Bonjour Random,

    J'ai eu à gérer des modifications de tables à partir de formulaire alors je peux peut être t'aider.
    Pour ton problème, si je comprends bien, tu ne veux pas modifier la table T1 mais en informer une autre. Donc dans ton formulaire tu ne dois pas travailler à partir des champs de T1 mais à partir de copies. Tu crées des zones de textes (que tu appelles zchamps1 par exemple) autant qu'il y en a dans la table T1. Les champs de T1 sont en visible non. Donc si tu mets des trucs dans tes champs z... ta table T1 ne bouge pas, puisqu'ils sont caché, tu risques rien.

    Enfin, à la fermeture de ton formulaire tu crées un code VBA qui vérifie s'il y a eu modification et qui si oui, fais un insert dans ta table de sauvegarde à partir des champs z... de ton formulaire.

    J'espère t'avoir aidé.

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Points
    32 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Par défaut
    Bonjour Random,
    Je pense que c'est plutôt Platon qui est en quête d'aide

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    91
    Points
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 91
    Points : 59
    Par défaut
    je le confirme. Je suis désespérèment en quête d'aide intellectuelle.
    merci à tout ceux qui ont répondu à ce message.

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Points
    4 297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Par défaut
    Citation Envoyé par Tofalu
    Je pense que c'est plutôt Platon qui est en quête d'aide
    on est jamais trop aidé, mais sur ce coup là j'assurerais seul

Discussions similaires

  1. Réponses: 10
    Dernier message: 21/04/2011, 11h20
  2. Réponses: 2
    Dernier message: 21/09/2009, 18h26
  3. Accès pour SELECT sur une seule table
    Par jgfa9 dans le forum Administration
    Réponses: 2
    Dernier message: 02/09/2009, 19h52
  4. requête casse-tête pour une seule table..
    Par MikeV dans le forum Requêtes
    Réponses: 9
    Dernier message: 23/08/2007, 22h02
  5. Table de jointure pour une seule table
    Par Louis-Guillaume Morand dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/10/2005, 19h49

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