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 :

Membre de méthode ou de données introuvable [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Membre de méthode ou de données introuvable
    Bonjour,

    A la compilation de mon code VBA, j'ai un message d'erreur "Erreur de complication Membre de méthode ou de données introuvable"

    Sur ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Form_Load()
     
        If IsNull(Me.DEV_Ref) = True Or Me.DEV_Ref = "" Then Me.Ref_Devis = Ref_Devis()
        If IsNull(Me.DEV_Date_Creation) = True Then Me.DEV_Date_Creation = Date
        Me.DEV_Date_Modification = Date
        If IsNull(Me.DEV_Client) = True Then Me.DEV_Client = Forms("F_Client_Fiche").Form("REP_num")
     
    End Sub
    Et l'erreur est provoquée par Me.DEV_Ref

    Pourtant le champ existe bien dans le formulaire.
    Je cherche à comprendre pourquoi mais je ne vois pas.

    Avez vous une explication ou/et une solution svp ?
    Merci de votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 113
    Points : 124
    Points
    124
    Par défaut
    Bonjour,

    Plutôt que IsNull, je serais tenté d'utiliser plutôt la fonction NZ() qui permet d'affecter une valeur par défaut.

    Pour la première condition on aurait donc çà à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Nz(Me.DEV_Ref,"")="" Then Me.Ref_Devis = Ref_Devis()
    Peut-être que cela solutionnera le problème...

    Bien à vous.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Merci Elgor, je vais tester ça.
    Pour info, l'erreur n'est pas sur le ifnull

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Bonjour,

    Me. est par défaut donc Me.Ref_Devis est équivalent à Ref_Devis et Me.Ref_Devis = Ref_Devis() c'est super louche

    Pour info, isnull retourne un booléen donc = true ne sert à rien. On peut écrire if isnull(...) then ou if not isnull(...) then.

  5. #5
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut
    J'ai un doute sur cette syntaxe
    Forms("F_Client_Fiche").Form("REP_num")

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut
    Félicitations et merci Nico84 !!

    Effectivement, il semble que le fait de nommer ma fonction comme le champ pose problème.
    Nom de fonction rectifié en RefDevis() et plus de prob.

    Elgor, merci pour ton tuyau. Ca ne résout pas mon prob mais j'ai appris un truc ;-)

    Hyperion, l'erreur apparait avant se code donc ce n'est pas lui le problème dans tous les cas. Pas acquis de conscience, j'ai testé sans mais même prob. Après, c'est une syntaxe que j'utilise dans plusieurs cas et qui passe le test sans prob.

    Merci à vous pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de compilation: Membre de méthode ou de données introuvable
    Par toniodelavega dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/08/2010, 08h03
  2. Membre de méthode ou de données introuvable
    Par Brebiou dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/06/2008, 09h05
  3. Membre de méthode ou de données introuvable..
    Par Falcdyr dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/04/2008, 12h17
  4. Membre de méthodes ou de données introuvable
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/08/2007, 18h06
  5. Membre de méthode ou de donnée introuvable
    Par samtheh dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/07/2007, 09h37

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