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

capture l'erreur

5 réponses
Avatar
sand
bonjour à tous

J'ai un formulaire qui permet d'affecter les clients d'une affaire (une affaire peut avoir plusieurs clients). Quelqu'un peut me dire la procédure à effectuer pour capturer les erreurs d'enregistrement. Je m'explique si le client affecté à une affaire n'est pas présent dans la base (nouveau client) je voudrais capturer cette erreur et créer un enregistrement dans ma base client correspondant à ce nouveau client
Merci

5 réponses

Avatar
Raymond [mvp]
Bonjour.

il faut tester la propriété NotInList de ta liste de clients.
tu trouveras un exemple précis dans la base Comptoir que tu peux télécharger
sur la page: http://access.seneque.free.fr/bases_exemples.htm
regarde le formulaire : Frm_Commandes_Saisie, contrôle Code client,
événement "sur absence dans liste" ainsi que le formulaire
Frm_Clients_Création qui saisie le nouveau client.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sand" a écrit dans le message de
news:
bonjour à tous !

J'ai un formulaire qui permet d'affecter les clients d'une affaire (une
affaire peut avoir plusieurs clients). Quelqu'un peut me dire la procédure à

effectuer pour capturer les erreurs d'enregistrement. Je m'explique si le
client affecté à une affaire n'est pas présent dans la base (nouveau client)
je voudrais capturer cette erreur et créer un enregistrement dans ma base
client correspondant à ce nouveau client.
Merci


Avatar
sand
Tout d'abord merci raymond pour ton aid

Comme indiqué j'ai regardé le code à mettre
J'ai écrit le code suivant
Private Sub nom_commanditaire_NotInList(NewData As String, Response As Integer
If MsgBox("ce client n'existe pas, voulez-vous le créer ?", vbYesNo, "Pas dans la liste") = vbYes The
Me.nom_commanditaire.Und
DoCmd.OpenForm "commanditaires", , , , acFormAdd, acDialog, Me.Nam
Me.nom_commanditaire.Requer
Response = acDataErrContinu
Els
Response = acDataErrContinu
End I
End Su

Le problème subsite : Access me dit que l'enregistrement n'existe pas au lieu de me donner la possibilité de savoir si je veux créer ce client
Peux tu m'expliquer mon erreur
Merci

----- Raymond [mvp] a écrit : ----

Bonjour

il faut tester la propriété NotInList de ta liste de clients
tu trouveras un exemple précis dans la base Comptoir que tu peux télécharge
sur la page: http://access.seneque.free.fr/bases_exemples.ht
regarde le formulaire : Frm_Commandes_Saisie, contrôle Code client
événement "sur absence dans liste" ainsi que le formulair
Frm_Clients_Création qui saisie le nouveau client

--
@
Raymond Access MV
http://access.seneque.free.fr
http://access2003.free.fr
http://users.skynet.be/mpfa/ pour débuter sur le foru


"sand" a écrit dans le message d
news:
bonjour à tous
J'ai un formulaire qui permet d'affecter les clients d'une affaire (un
affaire peut avoir plusieurs clients). Quelqu'un peut me dire la procédure




Avatar
Raymond [mvp]
as-tu regardé aussi le formulaire création client :
Private Sub Form_AfterUpdate()
If Not IsNull(Me.OpenArgs) Then
Forms(Me.OpenArgs)("Code client") = Me.Code_client
End If
Me.Pays.Requery
End Sub

si tu ne trouves pas, passe moi ta base en zip ou rar en enlevant XYZ. dans
l'adresse , je jetterai un oeil.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sand" a écrit dans le message de
news:
Tout d'abord merci raymond pour ton aide

Comme indiqué j'ai regardé le code à mettre.
J'ai écrit le code suivant :
Private Sub nom_commanditaire_NotInList(NewData As String, Response As
Integer)

If MsgBox("ce client n'existe pas, voulez-vous le créer ?", vbYesNo, "Pas
dans la liste") = vbYes Then

Me.nom_commanditaire.Undo
DoCmd.OpenForm "commanditaires", , , , acFormAdd, acDialog,
Me.Name

Me.nom_commanditaire.Requery
Response = acDataErrContinue
Else
Response = acDataErrContinue
End If
End Sub

Le problème subsite : Access me dit que l'enregistrement n'existe pas au
lieu de me donner la possibilité de savoir si je veux créer ce client .

Peux tu m'expliquer mon erreur ?
Merci.


Avatar
sand
En fait j'ai essayé en changeant la propriété limiter à la liste. Je l'ai passé à oui et çà marche apparement

----- Raymond [mvp] a écrit : ----

as-tu regardé aussi le formulaire création client
Private Sub Form_AfterUpdate(
If Not IsNull(Me.OpenArgs) The
Forms(Me.OpenArgs)("Code client") = Me.Code_clien
End I
Me.Pays.Requer
End Su

si tu ne trouves pas, passe moi ta base en zip ou rar en enlevant XYZ. dan
l'adresse , je jetterai un oeil

--
@
Raymond Access MV
http://access.seneque.free.fr
http://access2003.free.fr
http://users.skynet.be/mpfa/ pour débuter sur le foru


"sand" a écrit dans le message d
news:
Tout d'abord merci raymond pour ton aid
Comme indiqué j'ai regardé le code à mettre
J'ai écrit le code suivant

Private Sub nom_commanditaire_NotInList(NewData As String, Response A
Integer

If MsgBox("ce client n'existe pas, voulez-vous le créer ?", vbYesNo, "Pa
dans la liste") = vbYes The

Me.nom_commanditaire.Und
DoCmd.OpenForm "commanditaires", , , , acFormAdd, acDialog
Me.Nam

Me.nom_commanditaire.Requer
Response = acDataErrContinu
Els
Response = acDataErrContinu
End I
End Su
Le problème subsite : Access me dit que l'enregistrement n'existe pas a
lieu de me donner la possibilité de savoir si je veux créer ce client


Peux tu m'expliquer mon erreur
Merci



Avatar
Raymond [mvp]
Bon sang mais c'est bien sûr.
les évidences qu'on oublie de mentionner.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"sand" a écrit dans le message de
news:
En fait j'ai essayé en changeant la propriété limiter à la liste. Je l'ai
passé à oui et çà marche apparement.