|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 63 ![]() |
Bonjour,
Je suis à la recherche d'une méthode me permettant de copier un enregistrement d'une table T1 vers une table T2. J'ai un champ "Id" (numAuto) dans chacune de ces tables, ainsi qu'un champ "Date sortie_du site" contenant un Now(). La copie intégrale d'un enregistrement de T1 vers T2 n'est donc pas possible, celle-ci se fera donc champ par champ (enfin si vous avez une meilleur méthode, je suis preneur ).Mes enregistrements apparessent sur 2 sous formulaires : sfrmT1 et sfrmT2. Ils sont tous les 2 en mode feuille de données et se trouve dans une formulaire principale. Je souhaite pouvoir sélectionner un ou plusieurs enregistrement de sfrmT1 (enregistrement(s) de la table T1) puis en cliquant sur un bouton "Archiver", que cet ou ces enregistrements soient copiés dans sfrmT2 (enregistrements de la table T2) sans pour autant les supprimer de T1... J'espère avoir été clair n'ayant pas la possibilité de faire des screenshots ![]() Merci par avance ![]() PS: j'ai bien entendu fait quelques recherches mais n'ai rien trouvé de probant notamment avec ce poste: http://www.developpez.net/forums/d98...nregistrement/ |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
En effet c'est assez déconséillé de faire des copie avec des NumeroAuto dans la table destination. Normalement une table d'archivage doit pouvoir s'en passer puisque sa fonction est l'archivage. Par contre la contre indication avec le now() ne me dit rien. Qu'est-ce qui t'empeche de faire la copie de ce champ ? Qu'il s'agisse de requete ajout ou d'une méthode DAO tu controles tout ce que tu copie. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 63 ![]() |
Loufab, merci pour ta réponse,
En fait, je cherche à faire un simple copier coller d'une table vers une autre (sans sélectionner le champ Id en numAuto) grâce à un bouton. Mon soucis actuel est de trouver sur quel enregistrement je me trouve dans mon sous formulaire en mode feuille de données... Aussi, je ne sais pas si celà est possible avec ce mode, de sélectionner plusieurs enregistrement et de les archiver d'un seul coup; il me semble que le copier coller ne prend qu'un seul enregistrement. Sinon, le principe de base n'est pas terrible car les données sont répliquées plusieurs fois dans la base dans 2 tables différentes, mais étant simple développeur, je ne suis malheureusement pas décideur ![]() L'application permet la traçabilité d'équipements spécifiques selon leur changement d'affectation par exemple donc les numéros de séries apparaissent plusieurs fois par exemple PS: j'ai peut-être une solution: en mettant mon code dans un combobox se trouvant dans ma feuille de données avec AfterUpdate. Je posterai à nouveau une fois la solution fonctionnelle
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 085 ![]() |
Bonjour,
N'utilise pas de copier/coller c'est réservé à d'autre utilisation que la copie de table à table. Utilise une requete ou une méthode DAO. Pour savoir sur quel enregistrement tu es dans un formulaire en mode feuille de donnée utilise simplement l'Id. te renvoi toujours l'id actif. Pour des transferts multiple tu dois utiliser un case à cocher, crée un champ supplémentaire oui/non dans ta table pour faciliter ça. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
10
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 63 ![]() |
Merci pour ta réactivité loufab
![]() Effectivement, la solution que je mets actuellement en oeuvre est un requête ! Je poste la solution lorsque celle-ci era fonctionnelle |
|
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 63 ![]() |
J'ai finalement changé de méthode.
Explication: L'archivage d'un de mes enregistrements d'une table vers une autre se faisant que selon critères, j'ai tout simplement fait un requête INSERT INTO de tous mes champs d'une table vers l'autre sur l'action BeforeUpdate de mon formulaire... Le résultat est comme prévu l'archivage de mon enregistrement tel qu'il est avant modification... Pour le code: Code :
Sinon, vu mon utilisation, ce code marche à merveille
|
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 11 ![]() |
voila j'avais le meme probleme mais j'ai utilisé une requete ajout cette derniere fait une copie intégrale de ton enregistrement
|
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 63 ![]() |
On peut effectivement choisir les champs que l'on ajoute ou non dans la mienne
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com