OVH Cloud OVH Cloud

Mise à jour avec Update

6 réponses
Avatar
Jacques
Bonsoir,

Je voudrais lorsque je modifie des champs dans la =AB tbl Adh=E9rents =BB
mettre =E0 jour ces m=EAmes champs dans ma tbl Familles.

Je fais un Update mais aucun champ ne se met =E0 jour.

Private Sub txtAdresse1_AfterUpdate()
Call MajFamilles
End Sub

Sub MajFamilles()

StrSql =3D "UPDATE ([tbl adh=E9rents] LEFT " & _
"JOIN [tbl Villes] " & _
"ON [tbl adh=E9rents].Ville=3D[tbl Villes].R=E9fVille) " & _
"INNER JOIN [tbl Familles] " & _
"ON [tbl adh=E9rents].Num=E9roFamille=3D[tbl
Familles].Num=E9roFamille SET [tbl Familles].Adresse1 " & _
"=3D [tbl adh=E9rents].adresse1, [tbl Familles].Adresse2 =3D
[tbl adh=E9rents].adresse2, [tbl " & _
"Familles].CP =3D [tbl adh=E9rents].CP, [tbl Familles].Ville
=3D [tbl villes].Ville " & _
"WHERE [tbl Adh=E9rents].Num=E9roLicence=3D" &
lstr_Num=E9roLicence & " ;"

'--- Modifications des champs
CurrentDb.Execute StrSql
End Sub

Merci de votre aide.

Salutations.

6 réponses

Avatar
Raymond [mvp]
Bonsoir.

sans aller jusqu'à lire ta requête, tu ne dois jamais avoir des champs
redondants dans une base de données relationnelle, c'est même la première
chose qu'on apprend quand on débute.
donc tu as un problème d'adresses en double que tu dois résoudre, et elles
ne doivent être stockées que dans une seule table, mise en relation avec les
autres tables qui en ont besoin.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques" a écrit dans le message de news:

Bonsoir,

Je voudrais lorsque je modifie des champs dans la « tbl Adhérents »
mettre à jour ces mêmes champs dans ma tbl Familles.

Je fais un Update mais aucun champ ne se met à jour.

Private Sub txtAdresse1_AfterUpdate()
Call MajFamilles
End Sub

Sub MajFamilles()

StrSql = "UPDATE ([tbl adhérents] LEFT " & _
"JOIN [tbl Villes] " & _
"ON [tbl adhérents].Ville=[tbl Villes].RéfVille) " & _
"INNER JOIN [tbl Familles] " & _
"ON [tbl adhérents].NuméroFamille=[tbl
Familles].NuméroFamille SET [tbl Familles].Adresse1 " & _
"= [tbl adhérents].adresse1, [tbl Familles].Adresse2 [tbl adhérents].adresse2, [tbl " & _
"Familles].CP = [tbl adhérents].CP, [tbl Familles].Ville
= [tbl villes].Ville " & _
"WHERE [tbl Adhérents].NuméroLicence=" &
lstr_NuméroLicence & " ;"

'--- Modifications des champs
CurrentDb.Execute StrSql
End Sub

Merci de votre aide.

Salutations.
Avatar
Jacques
On 25 juil, 22:16, "Raymond [mvp]"
wrote:
Bonsoir.

sans aller jusqu'à lire ta requête, tu ne dois jamais avoir des champs
redondants dans une base de données relationnelle, c'est même la prem ière
chose qu'on apprend quand on débute.
donc tu as un problème d'adresses en double que tu dois résoudre, et elles
ne doivent être stockées que dans une seule table, mise en relation a vec les
autres tables qui en ont besoin.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/http://officesystem .access.over-blog.com/
Pour débuter sur le forum:http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacance shttp://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-42...

"Jacques" a écrit dans le message de news:

Bonsoir,

Je voudrais lorsque je modifie des champs dans la « tbl Adhérents »
mettre à jour ces mêmes champs dans ma tbl Familles.

Je fais un Update mais aucun champ ne se met à jour.

Private Sub txtAdresse1_AfterUpdate()
Call MajFamilles
End Sub

Sub MajFamilles()

StrSql = "UPDATE ([tbl adhérents] LEFT " & _
"JOIN [tbl Villes] " & _
"ON [tbl adhérents].Ville=[tbl Villes].RéfVille) " & _
"INNER JOIN [tbl Familles] " & _
"ON [tbl adhérents].NuméroFamille=[tbl
Familles].NuméroFamille SET [tbl Familles].Adresse1 " & _
"= [tbl adhérents].adresse1, [tbl Familles].Adresse2 =
[tbl adhérents].adresse2, [tbl " & _
"Familles].CP = [tbl adhérents].CP, [tbl Familles].Ville
= [tbl villes].Ville " & _
"WHERE [tbl Adhérents].NuméroLicence=" &
lstr_NuméroLicence & " ;"

'--- Modifications des champs
CurrentDb.Execute StrSql
End Sub

Merci de votre aide.

Salutations.


Bonsoir,

Merci pour la leçon, mais pour des raisons qui me sont propres je dois
créer des champs redondants et pouvoir les mettres à jours.

Salutations.

Avatar
Raymond [mvp]
Bonjour.

la syntaxe me semble correcte (sauf si je mélange deux champs).
place un Debug.print juste après la contruction de l'instruction sql. le
texte est-il bon ? si oui, copie le résultat dans le texte sql d'une requête
et exécute la requête. est-ce que ça fonctionne ?

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques" a écrit dans le message de news:

On 25 juil, 22:16, "Raymond [mvp]"

Bonsoir,

Merci pour la leçon, mais pour des raisons qui me sont propres je dois
créer des champs redondants et pouvoir les mettres à jours.

Salutations.
Avatar
Jacques
On 26 juil, 09:14, "Raymond [mvp]"
wrote:
Bonjour.

la syntaxe me semble correcte (sauf si je mélange deux champs).
place un Debug.print juste après la contruction de l'instruction sql. le
texte est-il bon ? si oui, copie le résultat dans le texte sql d'une re quête
et exécute la requête. est-ce que ça fonctionne ?

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/http://officesystem .access.over-blog.com/
Pour débuter sur le forum:http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacance shttp://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-42...

"Jacques" a écrit dans le message de news:

On 25 juil, 22:16, "Raymond [mvp]"

Bonsoir,

Merci pour la leçon, mais pour des raisons qui me sont propres je dois
créer des champs redondants et pouvoir les mettres à jours.

Salutations.


Bonjour Raymond,

Le résultat de la requette est bon, et voici une copie du code de la
requette ajout:

UPDATE ([tbl adhérents] LEFT JOIN [tbl Villes] ON [tbl
adhérents].Ville=[tbl Villes].RéfVille) INNER JOIN [tbl Familles] ON
[tbl adhérents].NuméroFamille=[tbl Familles].NuméroFamille SET [tbl
Familles].Adresse1 = [tbl adhérents].adresse1, [tbl Familles].Adresse2
= [tbl adhérents].adresse2, [tbl Familles].CP = [tbl adhérents].CP,
[tbl Familles].Ville = [tbl villes].Ville
WHERE [tbl Adhérents].NuméroLicence•0010065;

Salutations.

PS. Je reviendrais plus tard sur les champs redondants car si je peux
les éviter dans mon cas pourquoi pas.

Avatar
Raymond [mvp]
si le résultat est bon, il n'y a aucune raison que ça ne fonctionne pas par
vba.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Jacques" a écrit dans le message de news:


Bonjour Raymond,

Le résultat de la requette est bon, et voici une copie du code de la
requette ajout:

UPDATE ([tbl adhérents] LEFT JOIN [tbl Villes] ON [tbl
adhérents].Ville=[tbl Villes].RéfVille) INNER JOIN [tbl Familles] ON
[tbl adhérents].NuméroFamille=[tbl Familles].NuméroFamille SET [tbl
Familles].Adresse1 = [tbl adhérents].adresse1, [tbl Familles].Adresse2
= [tbl adhérents].adresse2, [tbl Familles].CP = [tbl adhérents].CP,
[tbl Familles].Ville = [tbl villes].Ville
WHERE [tbl Adhérents].NuméroLicence•0010065;

Salutations.

PS. Je reviendrais plus tard sur les champs redondants car si je peux
les éviter dans mon cas pourquoi pas.
Avatar
Jacques
On 26 juil, 13:46, "Raymond [mvp]"
wrote:
si le résultat est bon, il n'y a aucune raison que ça ne fonctionne p as par
vba.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/http://officesystem .access.over-blog.com/
Pour débuter sur le forum:http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacance shttp://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-42...

"Jacques" a écrit dans le message de news:


Bonjour Raymond,

Le résultat de la requette est bon, et voici une copie du code de la
requette ajout:

UPDATE ([tbl adhérents] LEFT JOIN [tbl Villes] ON [tbl
adhérents].Ville=[tbl Villes].RéfVille) INNER JOIN [tbl Familles] ON
[tbl adhérents].NuméroFamille=[tbl Familles].NuméroFamille SET [t bl
Familles].Adresse1 = [tbl adhérents].adresse1, [tbl Familles].Adresse2
= [tbl adhérents].adresse2, [tbl Familles].CP = [tbl adhérents].C P,
[tbl Familles].Ville = [tbl villes].Ville
WHERE [tbl Adhérents].NuméroLicence•0010065;

Salutations.

PS. Je reviendrais plus tard sur les champs redondants car si je peux
les éviter dans mon cas pourquoi pas.


Bonjoir,

La mise à jour s'éffectue une fois sur deux,
c'est à dire je modifie ma valeur, je ferme le formulaire, je vérifie
dans la table et aucune mise à jour,
j'ouvre de nouveau le formulaire je retape la valeur, et la mise à
jour s'éffectue.

Salutations.