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 :

erreur dans le code vba


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut erreur dans le code vba
    salut tout le monde,
    voici mon probleme je travail sur un projet de base de données (un carnet d'adresse) sur une des tables de cette base (la table contacts) je voulais faire un formulaire avec un bouton "ajouter" et dans le code de ce bouton j'ai proceder comme ça :

    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
    Private Sub ajouter_Click()
    On Error GoTo err
        'déclaration des variables
        Dim maBase As DAO.Database
        Dim ContactTest As DAO.Recordset
        Dim Contact As DAO.Recordset
     
        Set maBase = CurrentDb
        Set Contact = maBase.OpenRecordset("Select * from contacts", dbOpenDynaset)
     
            Set ContactTest = maBase.OpenRecordset("select * from [contacts] where [Nom] = '" & Nom & "' and [Prenom] = '" & Prenom & "'", dbOpenDynaset)
            If ((ContactTest.RecordCount = 0)) Then
                With Contact
                    .AddNew
                    !Nom = Me.Nom
                    !Prenom = Me.Prenom
                    !Adresse = Me.Adresse
                    !Cp = Me.Cp
                    !Ville = Me.Ville
                    !Pays = Me.Pays
                    !Jour = Me.Jour
                    !Mois = Me.Mois
                    !Annee = Me.Annee
                    !Tel = Me.Tel
                    !Mail = Me.Mail
                    !Commentaires = Me.Commentaires
                    .Update
                End With
            Else
               MsgBox ("le contact portant ce nom et ce prenom existe déjà")
            End If
        ContactTest.Close
        Contact.Close
        DoCmd.Close
        [Form_Formulaire1].Refresh
    err:
    End Sub
    mais le probleme c'est que ce bouton ne marche pas il me met erreur, et je sais vraiment pas ou est cette (ou ces) erreurs si quelqu'un peut m'aider et merci d'avance.

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Déjà, tu enlèves le "On Error GoTo err" et tu sauras sur quelle ligne ça plante.

    Ou après ton étiquette Err: tu fais un msgbox Err.Description

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    merci pour votre reponse "pc75" mnt j'ai enlevé le "On Error GoTo err" et le "err:" a la fin du programme , mais ça marche toujours pas, comment je peux savoir sur quelles lignes ça plante (je suis vraiment nul en VB et je suis obliger de passer par cette fonctionn pour ma base).merci pour votre aide.

  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Quel message d'erreur as-tu....

    Sinon sur quelle ligne de ton code, le debuggeur s'arrète-il (ligne en jaune...).

    C'est pour cela que pc75 te demandais de mettre juste apres Err:
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    mets ton curseur au début de la fonction et appuie sur F8, tu parcours le code ligne par ligne.
    Dis nou à quelle ligne le pb apparait stp ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Set ContactTest = maBase.OpenRecordset("select * from [contacts] where [Nom] = '" & Nom & "' and [Prenom] = '" & Prenom & "'", dbOpenDynaset)
    Et si tu commencais par identifier tes variables Nom et Prenom?
    Amicalement

Discussions similaires

  1. Erreur dans un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 09/07/2013, 07h50
  2. [XL-2010] Erreur dans le code VBA - fonction si
    Par ilyaundebutatou dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2010, 13h12
  3. Erreur dans un code VBA dans Access
    Par Mathieu51 dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/10/2009, 15h10
  4. [XL-2003] Aide pour erreur dans un code Vba Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 25/05/2009, 07h48
  5. Erreur dans un code VBA
    Par steevassie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/12/2007, 20h26

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