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 :

VBA - Syntaxe dlookup multicriteres (string et integer)


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut VBA - Syntaxe dlookup multicriteres (string et integer)
    Bonjour,

    Plusieurs jour que je bute sur la meme syntaxe...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActualPalletCost = DLookup("PalletCost", "DataBaseLogisticDownDetail", "LogisticChannelDown = '" & ActualLogisticChannelDown & "' and PalletNber = ActualPalletNber")
    ActualPalletCost est en variant
    PalletCost est en numerique (5,2)
    LogisticChannelDown est en string
    ActualLogisticChannelDown est une variable cree precedemment en string
    PalletNber est en numerique entier - variable precedante qui est un resultat de calcul que je modifie en entier par la fonction Cint

    Lors d'un pas a pas jobtiens bien toutes les resultats recherchés pour les differentes variables utilisees...

    Telquel pour ma ligne de code j'obtiens le resultat "Nul" alors que lenregistrement existe bel et bien...

    Lorsque je remplace la variable ActualPalletNber par le chiffre correspondant j'obtiens bien le resultat de ma ligne de commande...

    Ce qui me fait dire que je dois certainement me melanger les pinceaux avec les ', ", & et ou autres And...

    Merci pour votre aide....

    Chris 81

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 130
    Par défaut
    Bonjour,

    Sans le bouble cote de la fin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActualPalletCost = DLookup("PalletCost", "DataBaseLogisticDownDetail", "LogisticChannelDown = '" & ActualLogisticChannelDown & "' and PalletNber = ActualPalletNber)
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    ton sql englobe une variable, elle n'est donc pas évaluée ...

    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActualPalletCost = DLookup("PalletCost", "DataBaseLogisticDownDetail", "LogisticChannelDown = '" & _
       ActualLogisticChannelDown & "' and PalletNber = " & ActualPalletNber)

  4. #4
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    Merci pour vos reponses si rapides!

    Sans la double cote de fin j'obtiens le message d'erreur
    "Erreur de compilation attendu un separateur oude liste ou )

  5. #5
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Dans ce cas, on débogue ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug.Print "LogisticChannelDown = '" & _
       ActualLogisticChannelDown & "' and PalletNber = " & ActualPalletNber
    si LogisticChannelDown est String et PalletNber est numérique ça devrait pourtant passer ...

    ActualPalletNber est bien une variable ?

  6. #6
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Par défaut
    Bonjour Cafeine,

    J'ai modifie en fonction de tes directives et cela marche...

    Pourrais-tu me dire si ma comprehension est la bonne:
    Comme ActualPalletNber est en Integer il ne faut pas de " et la cloture de la ligne se fait apres le dernier = ... On rajoute & pour concatener ...

  7. #7
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Un tuto vaut mieux qu'un long discours

    http://cafeine.developpez.com/access...ugprint/#LVI-C

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

Discussions similaires

  1. Syntaxe DLookup vba sur Access
    Par seyflo dans le forum VBA Access
    Réponses: 24
    Dernier message: 01/06/2010, 11h49
  2. Réponses: 6
    Dernier message: 04/09/2008, 10h28
  3. Réponses: 8
    Dernier message: 29/08/2008, 17h29
  4. vba syntaxe dlookup avec 2 variables
    Par Chris 81 dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/11/2007, 16h30
  5. [VBA] syntaxe fonction domaine multicriteres
    Par christian81 dans le forum VBA Access
    Réponses: 9
    Dernier message: 12/03/2007, 13h06

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