Recuperer l'enregistrement en cours

cs_choup Messages postés 45 Date d'inscription lundi 10 juin 2002 Statut Membre Dernière intervention 12 mars 2003 - 15 juil. 2002 à 16:41
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 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

5 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
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.

--- :sleepy) Nono du Moulin :sleepy) ---
0
cs_choup Messages postés 45 Date d'inscription lundi 10 juin 2002 Statut Membre Dernière intervention 12 mars 2003
16 juil. 2002 à 11:58
Merci beaucoup ca marche nickel. :-))))))))))
0
tgomas Messages postés 21 Date d'inscription lundi 24 juin 2002 Statut Membre Dernière intervention 19 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...
0
cs_MMarc Messages postés 5 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 22 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
17 juil. 2002 à 20:29
Si effectivement on peut.

--- :sleepy) Nono du Moulin :sleepy) ---
0
Rejoignez-nous