Mise a jour table access via autre table d une autre base
abdo78
Messages postés66Date d'inscriptionmercredi 6 février 2008StatutMembreDernière intervention27 novembre 2015
-
5 mai 2012 à 10:42
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 2012
-
6 mai 2012 à 00:05
bonjour
j ai 2 bases de données access, compta et compta1 je voudrais faire la mise a jour du champ C2 de la table cpc de la base compta par les données du champ C1 de la table cpc1 de la base compta1
voila mon code :
Set dbasesté = DBEngine.Workspaces(0).OpenDatabase(chemin du premier base)
Set Rec1 = dbasesté.OpenRecordset("parst")
Set DBasestéEP = DBEngine.Workspaces(0).OpenDatabase(Rec1!exprecedent)
Set rec3 = dbasesté.OpenRecordset("select * from cpc order by code ")
Set Rec2 DBasestéEP.OpenRecordset("select code,c1,c2,zc1 from cpc1 where '" & rec3!code & "' cpc1.code and '" & rec3!ZC1 & "' = cpc1.zc1")
If rec3.RecordCount > 0 Then rec3.MoveFirst
While Not rec3.EOF
rec3.Edit
rec3!C2 = Rec2!C1
rec3.Update
rec3.MoveNext
Wend
le probleme c est qu'il fait coupier le chiffre de la 1er ligne du champ c1 de la table cpc1 sur tous les lignes de du champ c2 de la table cpc
merci de m'aider
A voir également:
Access mise à jour table à partir d'une autre table
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 5 mai 2012 à 13:50
Bonjour,
si tu veux mettre à jour cpc de la table compta par cpc1 de la table compta1, tu dois:
- parcourir la table source (cpc)
- rechercher (selon critère) dans la table destination (cpc1) la valeur du champ en commun (zc1) de cpc.
-si trouvé, alors tu pourras mettre à jour C2 de cpc1 par C1 de cpc.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 6 mai 2012 à 00:05
décidement..!
Set dbaseste = DBEngine.Workspaces(0).OpenDatabase(chemin de la premiere base)
Set DBasesteEP = DBEngine.Workspaces(0).OpenDatabase(chemin de la deuxieme base)
Set rec3 = dbasesté.OpenRecordset("select * from cpc order by code;")
Set rec2 = dbasesté.OpenRecordset("select * from cpc1 order by code;")
If rec3.BOF And rec3.EOF Then
MsgBox "Table cpc vide"
Exit Sub
End If
If rec2.BOF And rec2.EOF Then
MsgBox "Table cpc1 vide"
Exit Sub
End If
With rec3
.MoveFirst
Do While Not .Eof
rec2.MoveFirst
Do While Not rec2.Eof
If (!code=rec2!code) And (!zc1=rec2!zc1) Then
.Edit
!C2 = Rec2!C1
.Update
Exit Do
End If
rec2.MoveNext
Loop
.MoveNext
Loop
End With