Access VBA - gestion d'erreur

riri2112 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaye (en vain) de faire fonctionner un bout de code et ô malheur, on peut dire que ça ne marche pas vraiment comme je veux.

L'idée c'est de créer un nouveau document dans le formulaire NewCode en entrant un Type et un numéro
Je génère un CodeConcaténé unique dans un champ qui n'accepte pas les doublons

1- si le CodeConcaténé est unique (nouveau document) alors j'ouvre le formulaire Document avec les infos rentrées

2 - si le CodeConcaténé existe déja, je signale qu'on a à faire à un doublon puis j'efface la ligne qui vient d'être créée

Voilà ce que j'ai écrit et ça ne fonctionne pas quand je crée un doublon : la ligne se crée, le CodeConcaténé non et mon formulaire document s'ouvre sur mon doublon
Problème de gestion d'erreur ?

Merci d'avance pour votre aide

Private Commande3_Click()
DoCmd.SetWarnings False
On Error GoTo GestionErreur
Dim position As Integer
position = Me.Indexdoc
DoCmd.Close acForm, "NewCode"
DoCmd.RunSQL "UPDATE Documents SET CodeConcaténé = [Type] & [numero]"
DoCmd.OpenForm "Documents", acNormal, , "[Indexdoc]=" & position
Exit Sub

GestionErreur:
MsgBox "Attention doublon - enregistrement non effectué"
RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
End Sub
A voir également:

2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
bonsoir,

c'est qu'aucune ligne ne génère d'erreur.
Rien ne le gène puisque la ligne est crée...

eric
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Private Commande3_Click()
DoCmd.SetWarnings False
On Error GoTo GestionErreur
Dim position As Integer
position = Me.Indexdoc
DoCmd.Close acForm, "NewCode"
DoCmd.RunSQL "UPDATE Documents SET CodeConcaténé = [Type] & [numero]"
DoCmd.OpenForm "Documents", acNormal, , "[Indexdoc]=" & position
Exit Sub
GestionErreur:
MsgBox "Attention doublon - enregistrement non effectué"
RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
End Sub


Bonjour riri2112,
Ajouter une condition avant la création est le plus utilisé.
Je pense avant la ligne de mise à jour .. vérifier si la concaténation des champs [Type] & [numero] correspond à un enregistrement de [CodeConcaténé]

Valà
Eric
-1