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 :

fonction Dlookup VBA [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Chargée d'études
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargée d'études

    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Par défaut fonction Dlookup VBA
    Bonjour,

    Je possède une table que j'utilise pour 3 boutons différents crées dans un formulaire.

    Dans cette requête sélection il y a 3 champs (cette requête est mis à jour grâce à une autre requête)
    - Nom
    - Prénom
    - Âge

    Je souhaite utiliser la fonction DLookup qui va me sélectionner par exemple la ligne où l'âge = 25 (mais parfois, cette âge n'est pas dispo dans cette requête, je peux très bien avoir qu'une personne âgée de 18 ans..)
    Je ne sais pas si vous me comprenez.


    Voici ce que j'ai fait mais ça ne fonctionne pas. ça me sélectionne toujours la meme chose.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Dim AG As Single
       AG= Nz(DLookup("[AGE]", "Pers", "[AGE] = '25'"), 0)
    Merci de votre aide.

    L.L

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    salut lahli57,

    DLookup() te choisira toujours la première occurrence trouvée. es ce bien ce que tu recherches à faire?

    tu as peut être une erreur ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DLookup("[AGE]", "Pers", "[AGE] = 25")

  3. #3
    Membre averti
    Femme Profil pro
    Chargée d'études
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargée d'études

    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Par défaut
    Bonjour,
    En effet ça n'est pas ce que je cherche à faire
    Je souhaite trouver parmi ma requête sélection, un âge donné parmi plusieurs âges.

    Existe-t'il une fonction qui permet de faire ceci? Comme un where en fait.
    Merci

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    qd je dis première occurrence c'est avec le critère dans le where. dans ton cas: "age=25". càd que si tu as plusieurs qui répondent au critère il n'y aura que le premier qui sera renvoyé.

  5. #5
    Membre averti
    Femme Profil pro
    Chargée d'études
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargée d'études

    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Par défaut
    Ah ben si c'est ça qu'il me faut. Car par exemple j'ai une ligne pour 25 ans, une autre pour 18...

    Mais ce que je ne comprend pas., c'est que par exmple là ma table ne contient qu'une ligne (age = 18).
    Si je mets ma condition sur age = 25 il faudrait qu'il ne me retourne rien or là il me retourne la ligne age = 18.

    Sans doute qu'il y a une erreur dans mon code mais je ne vois pas où.. (je débute en VBA..)
    merci

  6. #6
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    non pas d'erreur sur la syntaxe (si l'age est de type num, c'est sans les apostrophes).
    à ce niveau là il n'y a pas de pb mais je vois que tu utilise un Nz() qui définit une valeur par défaut quand il n'y a pas de résultat... il faut voir le reste de ton code.

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

Discussions similaires

  1. Critères de la fonction Dlookup
    Par Isabelle27 dans le forum VBA Access
    Réponses: 2
    Dernier message: 21/03/2007, 20h42
  2. [VBA-E] Pb insertion d'une fonction par VBA
    Par la-breche dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/03/2007, 13h29
  3. Probleme de filtre avec fonction Dlookup sur champ texte
    Par Piloupilou999 dans le forum Access
    Réponses: 5
    Dernier message: 27/01/2007, 22h41
  4. [VBA-E]import de fonction dans vba
    Par vincent.tr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2006, 22h05
  5. Réponses: 7
    Dernier message: 31/08/2006, 09h41

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