Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Eviter doublon lors modification

4 réponses
Avatar
domivax
Bonjour =E0 tous,

J'ai une MaTable avec quatre Champs

Nom
Prenom
Ville
Doublon

Nom, Prenom, Ville sont aliment=E9s normalement et le champ Doublon est
aliment=E9 par une requ=EAte qui me concat=E8ne les champs Nom & Prenom &
Ville, je g=E8re donc mes doublons gr=E2ce au champ Doublon.

Lors d'une nouvelle cr=E9ation, aucun probl=E8me, les doublons sont tout
de suite d=E9tect=E9s.

Par contre, lors de la modification du champ Ville (PS: les champs
Nom, Prenom ne seront jamais modifi=E9s), il faut =E9videmment ne pas
cr=E9er de doublon.

Ma macro de modification est compos=E9e de la mani=E8re suivante

'pour la modification du champ Ville
strSQL =3D "UPDATE MaTable SET Ville" & Chr(34) & Me.Ville & Chr(34) & "
WHERE SousGroupeId=3D" & Me.MaListe.Value
CurrentDb.Execute strSQL

'requ=EAte pour mettre =E0 jour le champ Doublon
DoCmd.SetWarnings False
strSQL04 =3D "Doublons"
DoCmd.OpenQuery strSQL04, acNormal, acEdit
DoCmd.SetWarnings True


S'il n'y a pas de doublons, aucun probl=E8me. Le champ Doublon se met =E0
jour avec les nouvelles valeurs concat=E9n=E9es (NOM&PRENOM&VILLE)

Par contre, lors de la cr=E9ation du doublon, mon champ Doublon reste
avec l'ancienne valeur alors que le champ Ville est modifi=E9, ce qui
est erron=E9e.

1) Comment faire en cas de doublon, ne pas cr=E9er le nouvel
enregistrement.
2) O=F9 dois-je placer mon On Error GoTo GestErr pour le message
d'erreur.

Je vous remercie pour votre aide.

A bient=F4t
Xavier

4 réponses

Avatar
Thierry (ze Titi)
Salut Xavier !

Je pense qu'il serait plus sage pour toi de créer un index multiple
basé sur tes 3 champs dans ta table, ainsi il ne sera plus possible de
créer un doublon et tu peux supprimer ce champ redondant ainsi que
toute ta gestion de ce champ.

Message du mercredi 01/08/2007

S'il n'y a pas de doublons, aucun problème. Le champ Doublon se met à
jour avec les nouvelles valeurs concaténées (NOM&PRENOM&VILLE)

Par contre, lors de la création du doublon, mon champ Doublon reste
avec l'ancienne valeur alors que le champ Ville est modifié, ce qui
est erronée.

1) Comment faire en cas de doublon, ne pas créer le nouvel
enregistrement.
2) Où dois-je placer mon On Error GoTo GestErr pour le message
d'erreur.


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
domivax
Merci pour ton aide.
Ca marche (j'ai d'ailleurs d� revoir l'architecture de toutes mes
tables :-( )
Par contre, je n'arrive pas � ins�rer mon message pour avis er
l'ulilisateur que sa modification n'a pas �t� �ffec tu�e.



On 1 ao�t, 11:30, Thierry (ze Titi) r>
wrote:
Salut Xavier !

Je pense qu'il serait plus sage pour toi de créer un index multiple
basé sur tes 3 champs dans ta table, ainsi il ne sera plus possible de
créer un doublon et tu peux supprimer ce champ redondant ainsi que
toute ta gestion de ce champ.

Message du mercredi 01/08/2007

S'il n'y a pas de doublons, aucun problème. Le champ Doublon se met à
jour avec les nouvelles valeurs concaténées (NOM&PRENOM&VILLE)

Par contre, lors de la création du doublon, mon champ Doublon reste
avec l'ancienne valeur alors que le champ Ville est modifié, ce qui
est erronée.

1) Comment faire en cas de doublon, ne pas créer le nouvel
enregistrement.
2) Où dois-je placer mon On Error GoTo GestErr pour le message
d'erreur.


--
Cordialement,
Thierry

Tout pour réussir avec Access :http://www.mpfa.info



Avatar
Thierry (ze Titi)
Bonjour Xavier,

l'erreur qui apparaît lors de la création d'un doublon est l'erreur
3022.
Tu dois donc gérer cette erreur lors de la sauvegarde de
l'enregistrement.

Dans ton message
Merci pour ton aide.
Ca marche (j'ai d'ailleurs d


Avatar
domivax
On 2 ao�t, 10:37, Thierry (ze Titi) r>
wrote:
Bonjour Xavier,

l'erreur qui apparaît lors de la création d'un doublon est l'erreur
3022.
Tu dois donc gérer cette erreur lors de la sauvegarde de
l'enregistrement.

Dans ton message





Merci pour ton aide.
Ca marche (j'ai d'ailleurs d revoir l'architecture de toutes mes
tables :-(  )
Par contre, je n'arrive pas ins rer mon message pour aviser
l'ulilisateur que sa modification n'a pas t ffectu e.

On 1 ao t, 11:30, Thierry (ze Titi)
wrote:
Salut Xavier !

Je pense qu'il serait plus sage pour toi de cr un index multiple
bas ur tes 3 champs dans ta table, ainsi il ne sera plus possible de
cr un doublon et tu peux supprimer ce champ redondant ainsi que
toute ta gestion de ce champ.

Message du mercredi 01/08/2007

S'il n'y a pas de doublons, aucun probl . Le champ Doublon se met > > jour
avec les nouvelles valeurs concat es (NOM&PRENOM&VILLE) Par contre, l ors de
la cr ion du doublon, mon champ Doublon reste avec l'ancienne valeur alors
que le champ Ville est modifi ce qui est erron

1) Comment faire en cas de doublon, ne pas cr le nouvel
enregistrement.
2) O?s-je placer mon On Error GoTo GestErr pour le message
d'erreur.


--
Cordialement,
Thierry

Tout pour r sir avec Access :http://www.mpfa.info



--
Cordialement,
Thierry

Tout pour réussir avec Access :http://www.mpfa.info- Masquer le texte d es messages précédents -

- Afficher le texte des messages précédents -


Bonjour Thierry,

Merci pour ta r�ponse.

J'avais bien cr�� ma gestion de doublon pour l'erreur 3022, mais il ne
se passait rien. Il fallait juste rajouter "dbFailOnError" comme ci-
dessous.

On Error GoTo GestErr
CurrentDb.Execute strSQL01, dbFailOnError

A bient�t.