Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/03/2011, 09h38   #1
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
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 :
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.
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 11h31   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 624
Points : 11 624
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 :
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 :
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,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 11h44   #3
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
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 :
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
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h09.


 
 
 
 
Partenaires

Hébergement Web