IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Personaliser message sur erreur 3022


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lucienkany
    Profil pro
    Développeur
    Inscrit en
    Janvier 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2004
    Messages : 257
    Par défaut Personaliser message sur erreur 3022
    Bonjour,

    Je voudrais personnaliser le message d'erreur en cas de doublon dans un recordet.

    Voici mon code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    Private Sub Commande62_Click()
    On Error GoTo Err_Commande62_Click
     
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    ' Ouvrir un Recordset basé sur tbl Sociétés
    Set db = CurrentDb()
    Set rst = db.OpenRecordset("tbl Finale")
     
    ' Ajouter un enregistrement
     
    rst.AddNew
        rst("RefDeclaration") = Me.RefDeclaration.Value
        rst("CodeSociete") = Me.CodeSociete.Value
        rst("CodePhase") = Me.CodePhase.Value
        rst("DateDeclaration") = Me.DateDeclaration.Value
        rst("CodeDeclarant") = Me.CodeDeclarant.Value
        rst("CodeProduit") = Me.CodeProduit.Value
        rst("CIF") = Me.CIF.Value
        rst("PoidsProduit") = Me.PoidsProduit.Value
        rst("Tally") = Me.Tally.Value
        rst("Transit Documents") = Me.Transit_Documents.Value
        rst("PV ANR") = Me.PV_ANR.Value
        rst("AdmOps") = Me.AdmOps.Value
        rst("Assistance") = Me.Assistance.Value
        rst("Escort") = Me.Escort.Value
        rst("Bank charges") = Me.Bank_charges.Value
        rst("prints") = Me.prints.Value
        rst("Frais enregistrement") = Me.Frais_enregistrement.Value
        rst("Bon à enlever") = Me.Bon_à_enlever.Value
        rst("TauxPhase") = Me.TauxPhase.Value
        rst("TauxHonoraires") = Me.Honorraires.Value
        rst("IcaDeclarant") = Me.ICA.Value
        rst("CodeTarifs") = Me.CodeTarif.Value
        rst("TauxTarifs") = Me.TauxTarif.Value
        rst("Ofidas") = Me.OFIDA.Value
        rst("Occs") = Me.Occ.Value
        rst("DIVERSs") = Me.DiversTaxes.Value
        rst("MontanHonorairess") = Me.MontantHonoraires.Value
        rst("TotaTaxes") = Me.TotalFact.Value
        rst("MontantHonorairesNet") = Me.HonorairesNet.Value
     
    rst.Update
    ' Fermer le Recordset
    rst.Close
    Set rst = Nothing
    Set db = Nothing
     
    Exit_Commande62_Click:
        Exit Sub
     
    Err_Commande62_Click:
     
        ' Si l'erreur est due à un doublon, la fonction affiche un message permettant d'annuler une commande.
    Const ERR_DOUBLON = 3022 ' erreur de doublon
    ' DataErr reçoit le code erreur de la part du moteur de la bdd ou de l'interface
    Select Case DataErr
       Case ERR_DOUBLON
           'Votre message...
            MsgBox "cette facture existe ", vbExclamation, "Attention"
           'La zone a surveiller
            [RefDeclaration].SetFocus
           'Demande à Access de continuer l'exécution sans afficher le message standard
           Response = acDataErrContinue
       End Select
     
        Resume Exit_Commande62_Click
     
    End Sub

    Le problème est qu'il ne se passe absolument rien. Pas de message et pas d'ajout de nouvel enregistrement.

    Il y a-t-il une erreur dans mon code?

    D'avance merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il me semble que ces erreurs sont à gérés sur l'évènement Error d'un formulaire.

    Starec

  3. #3
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut
    pour le numero de l'erreur c'est : err.Number

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Sur l'événenemt Error de ton formulaire tu trouveras DatErr.
    Je pense que tu as recopié ce code de quelque part, mais que tu ne l'as pas placé sur le bon évènement.

    Starec

  5. #5
    Membre éclairé Avatar de lucienkany
    Profil pro
    Développeur
    Inscrit en
    Janvier 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2004
    Messages : 257
    Par défaut
    Bonjour,

    En effet je l'ai copié(sur le forum) mais peux-tu te resumer et me dire où je dois le placer et les corrections à y apporter?

    Merci

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut reponse à ta préocc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    On error goto gestionerreur
    dim message as string
    set dbprojet=............
    set .............=dbprojet.openrecordset("Nom_de_la_table",dbopentable)
     
    '
    '
    '
    '
    '
    gestionerreur:
    if err.number=3022 then
    message=msgbox("la_nature_de_l'erreur")

Discussions similaires

  1. message d'erreur sur test module
    Par Daniel MOREAU dans le forum Access
    Réponses: 5
    Dernier message: 23/11/2005, 20h19
  2. message d'erreurs sur copie de fichier
    Par screeminelle dans le forum C++
    Réponses: 9
    Dernier message: 01/11/2005, 14h21
  3. Problème message d'erreur et action sur clic
    Par rangernoir dans le forum Access
    Réponses: 5
    Dernier message: 26/09/2005, 12h10
  4. [TP] Message d'erreur au lancement de tpx sur xp
    Par palladium dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 27/03/2005, 00h53
  5. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo