Passage d informations entre 2 tables en VBA

Signaler
Messages postés
9
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
23 juillet 2002
-
Messages postés
29
Date d'inscription
vendredi 8 mars 2002
Statut
Membre
Dernière intervention
26 juillet 2002
-
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

Messages postés
29
Date d'inscription
vendredi 8 mars 2002
Statut
Membre
Dernière intervention
26 juillet 2002

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
Messages postés
9
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
23 juillet 2002

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
Messages postés
29
Date d'inscription
vendredi 8 mars 2002
Statut
Membre
Dernière intervention
26 juillet 2002

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