TTable: copier une table dans une autre

cs_juan Messages postés 10 Date d'inscription mardi 17 octobre 2000 Statut Membre Dernière intervention 22 mai 2002 - 27 mars 2002 à 16:53
funemul Messages postés 16 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 10 février 2003 - 27 janv. 2003 à 12:19
Bonjour tous,
mon problème aujourd'hui, c'est que j'ai une table Table1 qui est filtrée, j'ai créé une deuxième table Table2 sans aucun enregistrement, juste avec les champs qui sont les mêmes que Table1 (tables paradox). Je voudrais recopier le résultat de Table1 filtrée dans Table2...
Premier problème: je ne peux pas utiliser Table2.Edit; : message d'erreur qui me dit que mon ensemble de données est fermé... (?)
Deuxième problème: comment prendre ce qui est dans la Table1 pour le mettre dans la Table2 ? j'essaye avec les propriétés Fields[i] (par exemple Fields[0] pour le premier champ) des tables, mais il ne reconnait pas le numéro d'indice. Pareil avec FieldByName il ne reconnait pas le nom de champ... Je copie la syntax que j'ai rentré après, est-elle fausse ?

Table1.Edit;
Table1.Fields[0].AsString := 'coucou';

voilà... c'est la misère, merci de votre collaboration!
Juan

3 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 mars 2002 à 20:12
Les composants TTable possèdent une méthode BatchMove. Ainsi :
Table2.BatchMove(Table1, batCopy)

copie le contenu de table1 dans table2.

May Delphi be with you.
0
funemul Messages postés 16 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 10 février 2003
27 janv. 2003 à 12:13
ensemble de donnees fermees, c pcq ta table nest pas ouverte, avant ton code place nom_de_ta_table.open;
0
funemul Messages postés 16 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 10 février 2003
27 janv. 2003 à 12:19
en fait je ense que ce que tu ve utiliser correspond a ca :

serie_en_cours.first;
do xhile not serie_en_cous.eof

date_du := serie_en_cors.FieldByName('DATE_DU').AsString;
annee_2003.open;
anee_2003.appendrecord([date_du]);

sereen_cous.next;

Toutefois la propriété de delhpiprog est nettement plus rapide :)
0
Rejoignez-nous