Passage d informations entre 2 tables en VBA

bisol Messages postés 9 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 23 juillet 2002 - 18 juil. 2002 à 14:52
Jerrymcfly Messages postés 29 Date d'inscription vendredi 8 mars 2002 Statut Membre Dernière intervention 26 juillet 2002 - 18 juil. 2002 à 16:10
Bonjour..
Voila.. g 2 tables.. j dois passé des infos d un champ de la premiere a un champ de la 2ème.. tout ca en VBA..
Merci..

Problème secondaire.. comment faire pour qu il selectionne TOUS les enregistrement d un champ de la table (car il m en prend qu 1 pour le moment)..

Merci..

Tout ceci en VBA

3 réponses

Jerrymcfly Messages postés 29 Date d'inscription vendredi 8 mars 2002 Statut Membre Dernière intervention 26 juillet 2002
18 juil. 2002 à 15:28
Salut,

si tu veux lire ou ecrire dans les tables et les requetes, il te faut utiliser un objet type recordset..

Pour simplifier, c'est un pointeur : tu donnes une requete SQL, apres tu cherches un ligne, et tu disposes des valeurs des champs de cette ligne.. pas trop compliqué ??

EXEMPLE

Dim RS1 as Recordset
Dim RS2 as Recordset

Set RS1 = currentDB.OpenRecordset ("SELECT * FROM TABLE1", DB_OPEN_DYNASET)

Set RS2 = currentDB.OpenRecordset ("SELECT * FROM TABLE2", DB_OPEN_DYNASET)

'là tu as 2 pointeurs sur 2 tables differentes
'admettons, tu veux copier des infos de la table 1 dans la table 2

RS1.MoveFirst 'premiere ligne de la table 1
RS2.Addnew 'on ajoute une ligne dans la table 2

RS2!ChampDestination = RS1!ChampsSource 'on copie la valeur d'un champs de la table 1 dans un champs de la table 2

RS2.Update 'on sauvegarde

Fais des tests, sinon sois plus explicite, je suis à ta disposition...
0
bisol Messages postés 9 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 23 juillet 2002
18 juil. 2002 à 15:51
J ai beosin de plus de précision..

J dois copier toutes les valeurs d'un champ de la table 1 dans un champ de la table 2...

MeRcI
:)
0
Jerrymcfly Messages postés 29 Date d'inscription vendredi 8 mars 2002 Statut Membre Dernière intervention 26 juillet 2002
18 juil. 2002 à 16:10
Fais un effort, je t'ai donné la solution...
bon ok je delaye... punaise je suis gentil aujourd'hui

Set RS1 = currentDB.OpenRecordset ("SELECT * FROM TABLE1", DB_OPEN_DYNASET)

Set RS2 = currentDB.OpenRecordset ("SELECT * FROM TABLE2", DB_OPEN_DYNASET)

'là tu as 2 pointeurs sur 2 tables differentes
'admettons, tu veux copier des infos de la table 1 dans la table 2

RS1.MoveFirst 'premiere ligne de la table 1
RS2.Addnew 'on ajoute une ligne dans la table 2

RS2!CHAMPS1 = RS1!CHAMPS1
RS2!CHAMPS2 = RS1!CHAMPS2
RS2!CHAMPS3 = RS1!CHAMPS3
RS2!CHAMPS4 = RS1!CHAMPS4
RS2.Update 'on sauvegarde

mais il faut d'abord que tu trouve l'enregistrement à copier... de la table 1 vers la table 2
0
Rejoignez-nous