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

IHM Discussion :

Problème de liaison Requete/ Liste déroulante [AC-2003]


Sujet :

IHM

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut Problème de liaison Requete/ Liste déroulante
    Bonjour à tous,

    Une fois de plus un problème qui je n'arrive pas à comprendre:

    J'ai une requete SQL Directe basé sur des tables AS/400 (T_cb) qui marche sans aucun problème

    Sur cette requete j'ai une autre requete qui j'utilise comme "Row Source" d'une liste deroulante d'une formulaire:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Format([CARTE],"&&&& &&&& &&&& &&&&") AS Carte_, Right([FIN],2) & "/" & Left([FIN],4) AS Validité, T_cb.TITULAIRE
    FROM T_cb
    WHERE (((T_cb.NUMCOMPT)=[Forms]![F_as400]![lstComptes]) AND ((T_cb.FIN)>=CLng(Year(Date()) & Format(Month(Date()),"00"))));
    Si je lance cette requete elle marche toujours, mais lorsque j'essaye d'ouvrir ma liste deroulante, j'ai souvent l'erreur:
    "This expression is typed incorrectly, or is too complex to be evaluated. For Example, a numeric expression may contain too many complicated elements. Try simplifying the expression by assigning parts of the expression to variables."

    Ce qui je ne compreds pas ce qui la requete marche toute seule mais pas dans la liste déroulante. J'ai déjà essayé de faire un nouveau formulaire, de mettre la requete directement dans la propriete "Row Source" mais elle BUG presque toujours (sauf quelques fois où elle marche bien)

    Est-ce que quelqu'un aurait des idées?
    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    11 987
    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 : 11 987
    Points : 24 540
    Points
    24 540
    Par défaut
    Bonjour,

    Cela arrive parfois avec certains moteurs de recherche, notamment avec les paramètres de types Forms!... .

    Solutions à tester :

    - Ajoute dans ton code Sql la clause Parameters.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PARAMETERS [Forms]![F_as400]![lstComptes] Long;
    SELECT Format([CARTE],"&&&& &&&& &&&& &&&&") AS ....;
    Puis place le tout dans ta row source.

    - Crée un objet requete avec ton code SQL (toujours avec PARAMETERS) sauve-le et appelle son nom dans la liste déroulante.

    - Compose ta requete dans le code VBA au moment de l'ouverture de la liste et remplace le forms!... par la valeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    vlsql = "SELECT Format([CARTE],'&&&& &&&& &&&& &&&&') AS Carte_, RIGHT([FIN],2) & '/' & LEFT([FIN],4) AS Validité, T_cb.TITULAIRE
    FROM T_cb
    WHERE (((T_cb.NUMCOMPT)=" & Forms![F_as400]![lstComptes] & ") 
    AND ((T_cb.FIN)>=CLng(Year(Date()) & Format(Month(Date()),'00'))));"
    me.maliste.rowsource = vlsql
    Si le pb persiste remplace les fonctions par leur valeur suivant la même méthode.

    Cordialement,
    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
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    Bonjour loufab,

    Merci de ta reponse.
    En fait j'avais déjà essayé de mettre [Forms]![F_as400]![lstComptes] comme paramètre de la requete (dans l'editeur de requete, mais je crois qui c'est parail, non?), et ça n'a pas changé grande chose.

    Je vais essayer tes autres idées pour voir s'elles marchent.



    EDIT: Il semble marcher avec la dernière solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si le pb persiste remplace les fonctions par leur valeur suivant la même méthode.
    Je vais mettre un et s'elle BUG encore un efois je reviens.
    Merci encore une fois

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

Discussions similaires

  1. [REQUETE] Liste déroulante pour critères
    Par Nesta92 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 13/04/2007, 16h44
  2. [Débutant] Problème de récupération de liste déroulante
    Par kaelem dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 07/01/2007, 19h35
  3. Problème avec zone de liste déroulante
    Par jerem78 dans le forum Access
    Réponses: 4
    Dernier message: 07/06/2006, 17h58
  4. Liaison entre liste déroulante et un champs
    Par lolo_bob2 dans le forum Access
    Réponses: 4
    Dernier message: 19/04/2006, 12h54
  5. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 02h05

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