Depuis hier, j'ai un souci sur Access pour une=20
comparaison de 2 tables identiques. Je souhaite compar=E9=20
sur les 2 tables un champ unique disons "BL" : lorsque=20
que la valeur du champs "BL" de la table 1 =3D =E0 la valeur=20
du champs "BL" de la table 2, alors on modifie la valeur=20
du champs "BL" de table 1 en mettant "OK".... et on passe=20
=E0 la comparaison suivante....
Voici le code que j'utilise :
Private Sub Commande0_Click()
Dim db As DAO.database
Dim rst1 As DAO.Recordset
Dim rst2 As DAO.Recordset
'Ouverture des tables table1 et table2
Set db =3D Application.CurrentDb
Set rst1 =3D db.openrecordset("Table1")
Set rst2 =3D db.openrecordset("Table2")
rst1.MoveFirst
rst2.MoveFirst
While rst2.EOF =3D False
If rst2("BL") =3D rst1("BL") Then
rst2.Edit
rst2("Nom") =3D "OK"
rst2.Update
End If
rst2.MoveNext
rst1.MoveNext
Wend
rst1.Close
rst2.Close
Set rst2 =3D Nothing
Set db =3D Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Yann
Salut Briane, Pourquoi ne fais-tu pas une requête de mise à jour ... Lstr_Sql = "UPDATE Table1 INNER JOIN Table2 ON Table1.ChampCle = Table2.Champ2 SET Table1.Champ1 = 'OK';" DoCmd.RunSQL Lstr_Sql
Bye Yann
-----Message d'origine----- Bonjour à tous !
Depuis hier, j'ai un souci sur Access pour une comparaison de 2 tables identiques. Je souhaite comparé sur les 2 tables un champ unique disons "BL" : lorsque que la valeur du champs "BL" de la table 1 = à la valeur du champs "BL" de la table 2, alors on modifie la valeur du champs "BL" de table 1 en mettant "OK".... et on passe
à la comparaison suivante....
Voici le code que j'utilise : Private Sub Commande0_Click() Dim db As DAO.database Dim rst1 As DAO.Recordset Dim rst2 As DAO.Recordset
'Ouverture des tables table1 et table2 Set db = Application.CurrentDb Set rst1 = db.openrecordset("Table1") Set rst2 = db.openrecordset("Table2")
rst1.MoveFirst rst2.MoveFirst While rst2.EOF = False If rst2("BL") = rst1("BL") Then rst2.Edit rst2("Nom") = "OK" rst2.Update End If rst2.MoveNext rst1.MoveNext Wend
rst1.Close rst2.Close Set rst2 = Nothing Set db = Nothing
MsgBox "Fichier traité"
End Sub
j'attends avec impatience votre aide....
Cordialement
Brian Lefebvre .
Salut Briane,
Pourquoi ne fais-tu pas une requête de mise à jour ...
Lstr_Sql = "UPDATE Table1 INNER JOIN Table2 ON
Table1.ChampCle = Table2.Champ2 SET Table1.Champ1 = 'OK';"
DoCmd.RunSQL Lstr_Sql
Bye
Yann
-----Message d'origine-----
Bonjour à tous !
Depuis hier, j'ai un souci sur Access pour une
comparaison de 2 tables identiques. Je souhaite comparé
sur les 2 tables un champ unique disons "BL" : lorsque
que la valeur du champs "BL" de la table 1 = à la valeur
du champs "BL" de la table 2, alors on modifie la valeur
du champs "BL" de table 1 en mettant "OK".... et on
passe
à la comparaison suivante....
Voici le code que j'utilise :
Private Sub Commande0_Click()
Dim db As DAO.database
Dim rst1 As DAO.Recordset
Dim rst2 As DAO.Recordset
'Ouverture des tables table1 et table2
Set db = Application.CurrentDb
Set rst1 = db.openrecordset("Table1")
Set rst2 = db.openrecordset("Table2")
rst1.MoveFirst
rst2.MoveFirst
While rst2.EOF = False
If rst2("BL") = rst1("BL") Then
rst2.Edit
rst2("Nom") = "OK"
rst2.Update
End If
rst2.MoveNext
rst1.MoveNext
Wend
rst1.Close
rst2.Close
Set rst2 = Nothing
Set db = Nothing
Salut Briane, Pourquoi ne fais-tu pas une requête de mise à jour ... Lstr_Sql = "UPDATE Table1 INNER JOIN Table2 ON Table1.ChampCle = Table2.Champ2 SET Table1.Champ1 = 'OK';" DoCmd.RunSQL Lstr_Sql
Bye Yann
-----Message d'origine----- Bonjour à tous !
Depuis hier, j'ai un souci sur Access pour une comparaison de 2 tables identiques. Je souhaite comparé sur les 2 tables un champ unique disons "BL" : lorsque que la valeur du champs "BL" de la table 1 = à la valeur du champs "BL" de la table 2, alors on modifie la valeur du champs "BL" de table 1 en mettant "OK".... et on passe
à la comparaison suivante....
Voici le code que j'utilise : Private Sub Commande0_Click() Dim db As DAO.database Dim rst1 As DAO.Recordset Dim rst2 As DAO.Recordset
'Ouverture des tables table1 et table2 Set db = Application.CurrentDb Set rst1 = db.openrecordset("Table1") Set rst2 = db.openrecordset("Table2")
rst1.MoveFirst rst2.MoveFirst While rst2.EOF = False If rst2("BL") = rst1("BL") Then rst2.Edit rst2("Nom") = "OK" rst2.Update End If rst2.MoveNext rst1.MoveNext Wend
rst1.Close rst2.Close Set rst2 = Nothing Set db = Nothing