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 :

[A-02] Archiver une donnée à partir d'un formulaire


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut [A-02] Archiver une donnée à partir d'un formulaire
    bonjour à tous,

    je cherche à savoir si il est possible à partir d'un formualire ou l'on cocherait un bouton de faire migrer une donnée d'une table à une autre:

    Je m'explique: j'ai créer un fiche de renseignement sur des secouristes : ce formulaire est liée à la table secouriste hors cette table comprend tous les secouriste qu'ils soient encore ou non dans l'association où je fais mon stage,

    or je souhaiterai que dans mon formulaire si j'appuie su un bouton archivage par exemple ma donnée soit copier dans une table anciens secouriste (identique en terme de champs à secouriste) et effacée dans la table secouriste!!!

    est ce possible!!
    (j'utilise access 2002, et je ne mis connais pas en VBA ou SQL mais si on me donne un code et on me dit ou le mettre je me débrouille)

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu peux commencer par voir cela
    http://access.developpez.com/faq/?pa...fDataTransfert

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut merci
    c'est exactement ce que je voulais merci beaucoup!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut
    juste une question:
    dans le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Sub Sauvegarder() 
     
        'Création des 2 recordsets 
        Dim myRS1 As New ADODB.Recordset 
        Dim myRS2 As New ADODB.Recordset 
     
        myRS1.Open "Table1", CurrentProject.Connection, adOpenDynamic, adLockOptimistic 
        myRS2.Open "Table2", CurrentProject.Connection, adOpenDynamic, adLockOptimistic 
     
        'Parcours du RS pour ajouter à table1 tout en supprimant de table2 
        Do Until myRS2.EOF 
            With myRS1 
                .AddNew Array("Champ1", "Champ2", "Champ3"), _
                              Array(myRS2("Alpha"), myRS2("Beta"), myRS2("Gamma")) 
                .Update 
            End With 
     
           myRS2.Delete 
           myRS2.MoveNext 
        Loop 
     
        'Fermeture des recordsets 
        myRS1.Close 
        myRS2.Close 
     
        Set myRS1 = Nothing 
        Set myRS2 = Nothing 
     
    End Sub
    champ1 c'est pour la table 1 ou 2
    et Beta... c'est pour la table 1 ou 2???

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut
    pour ma question précédente j'ai trouvé comment faire,

    néanmoins j'ai un nouveau problème j'ai beaucoup de champs dans ma table j'écrivais à la suite mes champs mais la je suis arrivé au bout de ma page comme puis je faire pour aller à la ligne pour que le code continue a fonctionner

  6. #6
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    tu as une exemple ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .AddNew Array("Champ1", "Champ2", "Champ3"), _
                              Array(myRS2("Alpha"), myRS2("Beta"), myRS2("Gamma"))
    Il te suffit de taper, à l'endroit concerné par le retour, unespace suivi d'un underscore (tiret bas (de la touche 8)).
    Je l'ai mis en rouge dans l'exemple

    Attention, quand tu mest du code dans tes messages, il te faut sélectionner celui-ci et cliquer sur l'outil #

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut
    bonjour j'ai fait ce que vous m'avez gentillement indiquer néanmoins sa me met désormais erreur de syntaxe que cela signifie t-il?? ( je m'excuse ces questions doivent vois paraître bête mais je suis en stage sur access et je n'ai jamais appris à utiliser le logiciel en VBA ou SGL!)

    j'ai peu être une idée est ce parce que les champs de mes deux tables ont le même nom???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    .AddNew Array("N°secouriste", "Nom", "Prénom", "Date de naissance", "Lieu de naissance", "Adresse", "Code postal", "Ville", "N° tél domicile", "N° tél professionnel", "Email", "N° tél portable", "Personne à contacter en cas d'urgence", "En qualité de", "Tel_PACECU", "PSC1", "PSE1", "BNSSA", "SB", "PSE2", "Autres diplômes", "Permis B", "Conducteur", "N° licence", "N° immatriculation", "date PAE3", "N° diplôme PAE3", "lieu d'obtention PAE3", "PAE3", "Dernier recyclage PAE3", "PAE1", "date PAE1", "lieu d'obtention PAE1", "N° diplôme PAE1", "Dernier recyclage PAE1", "Observation", "Photo", "Année licence", "Etiquette", "Tétanos", "Hépatite B", "historique licences", "indisponible", "date d'indisponibilité", "date", "date PSE1", "lieu obtention diplôme PSE1", "N° diplôme PSE1", "dernier recyclage PSE1", "date SB", "lieu obtention diplôme SB", "N° diplôme SB", "dernier recyclage SB", "date PSE2", "lieu obtention diplôme PSE2", "N° diplôme PSE2", "date PSC1", "lieu obtention diplôme PSC1"), _
    "N° diplôme PSC1", "dernier recyclage PSC1", "date BNSSA", "lieu obtention diplôme BNSSA", "N° diplôme BNSSA", "dernier recyclage BNSSA", "date autres", "lieu obtention diplôme autres", "N° diplôme autres", "dernier recyclage autres", "dauphin 21", "dauphin 22", "dauphin 23", "407", "remorque", "date d'obtention du permis", "date de la visite médicale à la préfecture", "date d'expiration", "moulage tente", "moulage mât"), _
                              Array(myRS2("N°secouriste"), myRS2("Nom"), myRS2("Prénom"), myRS2("Date de naissance"), myRS2("Lieu de naissance"), myRS2("Adresse"), myRS2("Code postal"), myRS2("Ville"), myRS2("N° tél domicile"), myRS2("N° tél professionnel"), myRS2("Email"), myRS2("N° tél portable"), myRS2("Personne à contacter en cas d'urgence"), myRS2("En qualité de"), myRS2("Tel_PACECU"), myRS2("PSC1"), myRS2("PSE1"), myRS2("BNSSA"), myRS2("SB"), myRS2("PSE2"), myRS2("Autres diplômes"), myRS2("Permis B"), myRS2("Conducteur"), myRS2("N° licence"), myRS2("N° immatriculation"), myRS2("date PAE3"), myRS2("date PAE3"), myRS2("N° diplôme PAE3"), myRS2("lieu d'obtention PAE3"), myRS2("PAE3"), myRS2("Dernier recyclage PAE3"), myRS2("PAE1"), myRS2("date PAE1"), myRS2("lieu d'obtention PAE1"), myRS2("N° diplôme PAE1"), myRS2("Dernier recyclage PAE1"), myRS2("Observation"), myRS2("Photo"), myRS2("Année licence"), myRS2("Etiquette"), myRS2("Tétanos"), myRS2("Hépatite B"), myRS2("historique licences"), _
                                    myRS2 ("indisponible"), myRS2("date d'indisponibilité"), myRS2("date"), myRS2("date PSE1"), myRS2("lieu obtention diplôme PSE1"), myRS2("N° diplôme PSE1"), myRS2("dernier recyclage PSE1"), myRS2("date SB"), myRS2("lieu obtention diplôme SB"), myRS2("N° diplôme SB"), myRS2("dernier recyclage SB"), myRS2("date PSE2"), myRS2("lieu obtention diplôme PSE2"), myRS2("N° diplôme PSE2"), myRS2("date PSC1"), myRS2("lieu obtention diplôme PSC1"), myRS2("N° diplôme PSC1"), myRS2("dernier recyclage PSC1"), myRS2("date BNSSA"), myRS2("lieu obtention diplôme BNSSA"), myRS2("N° diplôme BNSSA"), myRS2("dernier recyclage BNSSA"), myRS2("date autres"), myRS2("lieu obtention diplôme autres"), myRS2("N° diplôme autres"), myRS2("dernier recyclage autres"), myRS2("dauphin 21"), myRS2("dauphin 22"), myRS2("dauphin 23"), myRS2("407"), myRS2("remorque"), myRS2("date d'obtention du permis"), myRS2("date de la visite médicale à la préfecture"), myRS2("date d'expiration"), _
                                    myRS2("moulage tente"), myRS2("moulage mât"))

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut les tables doivent elles etre liées entre elles
    Une question bête une fois de plus mais je me demandais si les deux tables avaient besoin d'être liées pour ce code fonctionne???

  9. #9
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Re,

    Si j'ai bien compris le problème, tu veux récupérer un enregistrement d'une table pour le stocker dans une table d'archivage de même structure (même noms de champs, même nombre de champs) ?

    1) exécuter une requête ajout qui stocke l'enregistrement concerné dans la table archivage
    2) exécuter une requête suppression qui supprime de la table source l'enregistrement que tu viens d'archiver.

    Pour créer la structure de la requête ajout, tu peux utiliser l'assistant de création de requete.
    1) tu choisis la table source
    2) tu sélectionnes l'ensemble des champs dont tu souhaites archiver l'info
    3) tu changes le type de requête en requête ajout (par le menu : requête)
    4) tu choisis la table cible
    5) tu vérifies que chaque source a bien une cible
    6) dans la zone critère, tu mets le critère permettant de sélectionner l'enregistrement à archiver.

    Pour créer la structure de la requete suppression, même chemin
    1) tu choisis la requete source
    2) tu sélectionnes un champ
    3) dans la zone critère tu mets le critère permettant de sélectionner l'enregistrement à supprimer
    4) tu changes le type de requete en requete suppression.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut
    c'est exactement ca cepndant il faudra que cela se passe en cliquant sur un bouton de commande comment puis je faire alors?

    merci encore

  11. #11
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    tu crées tes requetes comme ci tu voulais les exécuter manuellement, puis tu récupères le code par copier et tu le colles dans le code VB. Il est clair que si le vba est un peu flou cela reste une opération difficile

    J'essaie de te préparer quelque chose que je t'enverrai

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut
    merci beaucoup c'est gentil,

    oui c'est vrai c'est un peu flou mais la cela fait deux semaines demi quej'ai du mis mettre pour répondre au exigence de mon stage alors je copie des codes qui répndent à mes demandes ça et là et jessaie d'adpter au nom des mes commande, ou de mes formulaires...

  13. #13
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    re,

    Je te joins une petite base de données. Tu trouveras un formulaire avec une liste déroulante et un bouton.

    Il y a également une table T_ArchivesEmployes VIDE.

    En choisissant un employe et en cliquant sur le bouton, tu archives cet employe.
    1) il s'ajoute à la table T_ArchivesEmployes
    2) il se supprime de la table T_Employes

    Tu verras dans le code du bouton la procédure correspondante.
    J'ai créé les requetes avec la méthode que je t'avais indiquée plus haut.

    Bonne continuation
    Fichiers attachés Fichiers attachés

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut
    merci beucoup je vais étuié tout çà de près!!!!
    c'est vraiment très gentil de votre part

    bonne journée à vous

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

Discussions similaires

  1. récupération d'une donnée à partir de son nom
    Par tom6359 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/06/2007, 18h59
  2. Réponses: 12
    Dernier message: 26/04/2007, 11h38
  3. Réponses: 5
    Dernier message: 26/01/2007, 08h11
  4. Réponses: 11
    Dernier message: 13/07/2006, 16h15
  5. Réponses: 2
    Dernier message: 15/06/2005, 17h32

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