cs_choup
Messages postés45Date d'inscriptionlundi 10 juin 2002StatutMembreDernière intervention12 mars 2003
-
15 juil. 2002 à 16:41
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 2006
-
17 juil. 2002 à 20:29
je désire simplement récupérer l'enregistrement en cours d'une table pour le copier dans une autre. Mais je ne trouve pas dans l'aide comment faire, faut il utiliser une requete , dans ce cas comment et sinon y a t'il un autre moyen.
Merci
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 15 juil. 2002 à 21:47
Il n'y a pas moyen de récupérer un enregistrement dans son intégralité. Mais on peut le copier facilement champ par champ si les deux tables ont EXACTEMENT la même structure :
Table2.Insert;
For i:=0 To Table1.FieldCount-1 Do Table2.Fields[i].Value:=Table1.Fields[i].Value;
Table2.Post;
Si les deux deux tables n'ont pas la même structure, alors il vaut mieux copier les champs un par un suivant leur nom.
Table2.Insert;
Table2.FieldByName('Champ1').Value:=Table1.FieldByName('ChampToto').Value;
...
Table2.Post;
Si c'est tout une série d'enregistrement que tu veux copier, alors le plus simple est d'effectuer une requète ppour les sélectionner. Puis utiliser un TBatchMove pour les copier.
tgomas
Messages postés21Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention19 août 2002 16 juil. 2002 à 12:45
personellement je prefere toujours manipuler les champs par leurs noms, car si la structure d'une table est appelee a evoluer c'est plus simple à maintenir.
mais pour les tables avec beaucoup de champs c'est un peu long...
cs_MMarc
Messages postés5Date d'inscriptionmercredi 17 juillet 2002StatutMembreDernière intervention22 juillet 2002 17 juil. 2002 à 15:02
Bonjour,
N'y a-t-il pas moyen d'utiliser la requête suivante :
INSERT INTO Table2 SELECT * FROM Table1 (avec éventuellement un WHERE appropié) si Table1 et Table2 ont la même structure
Bien à vous
Vous n’avez pas trouvé la réponse que vous recherchez ?