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 :

Dupliquer un enregistrement d'un sous formulaire vers un autre [AC-2016]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2020
    Messages : 26
    Points : 23
    Points
    23
    Par défaut Dupliquer un enregistrement d'un sous formulaire vers un autre
    Bonjour à tous,
    Je souhaiterais dupliquer une ligne d'un sous formulaire vers un autre sous-formulaire simplement en cliquant sur l'enregistrement voulu (du 1er).
    J'ai essayé avec des requêtes et CurrentRecord mais rien n'y fait, je ne sais pas si le currentrecord est bien positionné ou même si c'est cette fonction qu'il faut utiliser.
    Essais non-concluants :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT r_recherche_of_date.WOL_DATEACC, r_recherche_of_date.GA_LIBELLE, r_recherche_of_date.WOL_QACCSAIS, r_recherche_of_date.SITE, r_recherche_of_date.BRAND, r_recherche_of_date.CHARGE, r_recherche_of_date.CODE_OPE, r_recherche_of_date.NUM_OPE, r_recherche_of_date.WOL_LIGNEORDRE, r_recherche_of_date.WOL_CODEARTICLE, r_recherche_of_date.WEEK
    FROM r_recherche_of_date
    WHERE (([r_recherche_of_date]![WOL_DATEACC]=[r_recherche_of_date]![WOL_DATEACC].[CurrentRecord]));

    Ou :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT r_recherche_of_date.WOL_DATEACC.CurrentRecord, r_recherche_of_date.GA_LIBELLE.CurrentRecord, r_recherche_of_date.WOL_QACCSAIS.CurrentRecord, r_recherche_of_date.SITE.CurrentRecord, r_recherche_of_date.BRAND.CurrentRecord, r_recherche_of_date.CHARGE.CurrentRecord, r_recherche_of_date.CODE_OPE.CurrentRecord, r_recherche_of_date.NUM_OPE.CurrentRecord, r_recherche_of_date.WOL_LIGNEORDRE.CurrentRecord, r_recherche_of_date.WOL_CODEARTICLE.CurrentRecord, r_recherche_of_date.WEEK.CurrentRecord
    FROM r_recherche_of_date;

    Illustration de mes propos :
    Nom : exemple.jpg
Affichages : 204
Taille : 89,8 Ko
    Pouvez vous m'aider ?
    Merci beaucoup !

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Points : 2 491
    Points
    2 491
    Par défaut
    Pour cela, il faudra travailler au niveau des sources des formulaires.
    • Dans la table source du sous-formulaire, ajoutez un champ (oui/non ou checkbox)
    • Faire apparaître ce champ dans le sous-formulaire
    • Dès que l'on coche ce champ, lancez un évènement qui va choisir l'enregistrement ayant été coché et le rajouter à la table de destination
    • Moyennant un "Refresh", vos données seront à jour

  3. #3
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    Salut
    Une solution parmi d'autres via un double_click() dans le subform1
    Un exemple à adapter à votre IHM (nom des objets et champs identiques à l'img
    tblPret alimente le 1er subform et tblPret1 le 2nd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub idPret_DblClick(Cancel As Integer)
    CurrentDb.Execute "INSERT INTO tblPret1 (datePret, idEmpfk, idEquipfk, qtePret) " _
        & " SELECT datePret, idEmpfk, idEquipfk, qtePret " _
        & " FROM tblPret " _
        & " WHERE idPret = " & Me.idPret & "", dbFailOnError
    Me.Parent.Controls!frmEmp2Pret.Requery
    End Sub
    Images attachées Images attachées  

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2020
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    Bonjour et merci beaucoup pour votre réponse ;-)
    J'ai adapté votre code comme ceci (double click sur WOL_LIGNEORDRE) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub WOL_LIGNEORDRE_DblClick(Cancel As Integer)
    CurrentDb.Execute "INSERT INTO tblPret1 (WOL_DATEACC, GA_LIBELLE, WOL_QACCSAIS, SITE, BRAND, CHARGE, CODE_OPE, NUM_OPE, WOL_LIGNEORDRE, WOL_CODEARTICLE, WEEK) " _
        & " SELECT WOL_DATEACC, GA_LIBELLE, WOL_QACCSAIS, SITE, BRAND, CHARGE, CODE_OPE, NUM_OPE, WOL_LIGNEORDRE, WOL_CODEARTICLE, WEEK " _
        & " FROM tblPret " _
        & " WHERE WOL_LIGNEORDRE = " & Me.WOL_LIGNEORDRE & "", dbFailOnError
    Me.Parent.Controls!(que mettre ici?).Requery
    End Sub
    Cependant je ne sais pas comment remplacer le "frmEmp2Pret" donc la fonction ne marche pas ...
    (J'ai changé le nom des subform par tblPret et tblPret1).
    Voilà ce que cela me donne après un double click sur le champ WOL_LIGNEORDRE d'une ligne :
    Nom : img3.jpg
Affichages : 169
Taille : 83,6 Ko
    Mes subforms sont paramétrés comme ceci :
    Nom : img1.jpg
Affichages : 165
Taille : 216,1 Ko
    Nom : img2.jpg
Affichages : 170
Taille : 189,7 Ko
    Les données du premier (tblPret) proviennent d'une requête nommée r_recherche_of_date
    Je ne sais pas trop ou est l'erreur ou si quelque chose est mal paramétré ou mal fait ...
    Le double click n'est peut être pas reconnu non plus, je n'ai pas l'évènement "sur double-click" dans l'onglet évènement des propriétés du subform tblPret
    Merci beaucoup

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2020
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    Petit up
    Je n'ai toujours pas réussit à faire fonctionner cette fonction ...
    Pouvez vous m'indiquer ce qui ne va pas ?
    Merci

  6. #6
    Membre habitué Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 147
    Points : 191
    Points
    191
    Par défaut
    Bonsoir !

    La solution de Zekraoui_Jakani est toute bonne.

    Mais à votre place je ne compterais pas sur un double-click.

    Je mettrais plutöt un bouton "Dupliquer" ou "Exporter", qui lancerait un Docmd.RunSQL ou CurrentDb.Execute "INSERT INTO....", suivi de Me.Parent.MySubform.Requery. Voyez d'abord si l'action s'est bien déroulée dans votre table.

    phil

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    Et vous n'avez pas cherché à comprendre ?
    Pourtant dans mon Post#3 vous avez tout en main. De rappeler que nom des objets sur l'img sont les mêmes que dans la sub().
    Citation Envoyé par MenezHom Voir le message
    Petit up
    Je n'ai toujours pas réussit à faire fonctionner cette fonction ...
    Pouvez vous m'indiquer ce qui ne va pas ?
    Merci
    Images attachées Images attachées  

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2020
    Messages : 26
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Et vous n'avez pas cherché à comprendre ?
    Pourtant dans mon Post#3 vous avez tout en main. De rappeler que nom des objets sur l'img sont les mêmes que dans la sub().
    Merci beaucoup c'est bon j'ai réussi !
    Au lieu de faire une liaison par table je faisais par les formulaires
    Bon maintenant je vais trouver une fonction pour nettoyer la table a chaque clic sur un élément d'une ligne, il ne faut qu'un enregistrement à la fois.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/04/2017, 09h33
  2. Réponses: 1
    Dernier message: 25/06/2010, 05h16
  3. Réponses: 3
    Dernier message: 14/09/2009, 10h56
  4. Réponses: 1
    Dernier message: 25/06/2009, 06h53
  5. Réponses: 6
    Dernier message: 30/05/2006, 12h33

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