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 :

Dlookup avec between


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut Dlookup avec between
    Bonjour à tous,

    Voici mon problème

    J'ai une table test, dans cette table test, j'ai 3 champs.

    Exemple :

    Champ1 champ2 champ3
    101 103 test1
    106 107 test2
    108 108 test3
    111 121 test4

    Je voudrais que lorsque je reçoit par exemple le code 102, elle me retourne test1.
    Si j'indique 113, elle me retourne test4

    D'avance merci

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut Réponse
    J'ai essayé avec un dlookup et un and au niveau du critère, mais cela ne fonctionne pas, je n'ai pas le bon résultat

  3. #3
    Membre Expert

    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
    Par défaut
    Montres comment tu as fait.

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut reponse
    Voici en gros

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dlookup("champ3","test","champ1>=var and champ2<=var")

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

    Essayes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dlookup("champ3","test","champ1>=" & var & " and champ2<=" & var)
    Starec

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut Réponse
    Bonjour Starec,

    Merci pour ta réponse, je viens d'essayer mais malheureusement, j'ai un message d'erreur.

    Erreur d'exécution : '94'
    Utilisation incorrecte de Null

    Encore merci

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

    A quel niveau ?

    Cela peut signifier que ton DLookup renvoie une valeur nulle, cela signifie qu'il n'y a pas de correspondance.

    A ce moment, avant de récupérer le retour du DLookup, il faut tester la nullité, avec IsNull

    Starec

  8. #8
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut
    J'ai pourtant contrôlé dans la table, normalement il doit me retourner une valeur

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

    De quel type sont tes champs 1 et 2 ?

    Starec

  10. #10
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut
    Numérique

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

    Mets le code complet, de la déclaration de la variable à l'affichage du résultat.

    Starec

  12. #12
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Par défaut
    bonjour,
    une autre possibilité, testée, fonctionne
    une fonction à appeler d'un formulaire ou requête.
    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
    Function RechTest(Code)
    Dim cnc As New ADODB.Connection
    Dim rstTest As New ADODB.Recordset
     
     
    Set cnc = CurrentProject.Connection
    rstTest.Open "Test", cnc, adOpenDynamic, adLockBatchOptimistic
     
    While Not rstTest.EOF
     
    If Code >= rstTest("Champ1") And Code <= rstTest("Champ2") Then
    RechTest = rstTest("Champ3")
     
    Exit Function
    End If
    rstTest.MoveNext
    Wend
    rstTest.Close
     
    End Function
    ne pas oublier la référence
    Microsoft ActiveX Data Objects 2.8 library

  13. #13
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Par défaut Merci
    Un grand merci à tous, c'est OK

    A bientôt

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

Discussions similaires

  1. Requette avec Between avec des dates
    Par bob75000 dans le forum Access
    Réponses: 3
    Dernier message: 21/07/2006, 13h54
  2. DLookup avec 2 critères
    Par julio02200 dans le forum Access
    Réponses: 4
    Dernier message: 12/07/2006, 16h41
  3. Requete avec between et passage de paramètres
    Par titelisette dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 20/06/2006, 16h00
  4. Dlookup avec 2 critères?
    Par hocine dans le forum Access
    Réponses: 2
    Dernier message: 05/01/2006, 11h13
  5. Problème avec Between dans un code
    Par Sendo dans le forum Access
    Réponses: 4
    Dernier message: 02/10/2005, 18h44

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