| |
Posté le 17 mai 2006 - 14:44 |
Bonjour à tous!
J'ai 2 combo alimentées par des requetes dont 1 avec une requete paramétrée. Ma premiere combo affiche le libéllé de mon client et je memorise sa reference (description/contenu). Je souhaiterai que ma 2 eme combo affiche la liste de produit du client sélectionné dans ma premiere combo.
J'ai déclaré une variable globale dans ma fenetre qui reçoie la ref de mon client. Cette variable globale porte le meme nom que le parametre de ma requete parametrée. J'arrive bien a récupérer la ref avec : ref_cli = COMBO_client..Valeur ( partie : Entrée combo_produit ), mais la combo n'affiche rien.
Auriez vous une idée?
Merci d'avance! |
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2006 - 15:28 |
salut ile ne faut pas utiliser COMBO_client..ValeurAffichée plutot? |
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2006 - 15:48 |
cela ne marche pas, ma 2 eme combo est vide! |
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2006 - 15:51 |
C'est bon j'ai trouvé! Sur un "survol de souris", j'ai mis:
ListeAffiche(COMBO_produit, taDébut) MaSource.ref_cli = COMBO_client..Valeur |
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2006 - 15:56 |
Bonjour,
Pourrais tu etre un peu plus precis stp.
Quelle combo n'affiche rien? Quelle combno a une requête paramétrée? Quel est le code exécuté lors de la sélection de la ligne de la combo du client?
Philippe
cedric a écrit :
Bonjour à tous!
J'ai 2 combo alimentées par des requetes dont 1 avec une requete paramétrée. Ma premiere combo affiche le libéllé de mon client et je memorise sa reference (description/contenu). Je souhaiterai que ma 2 eme combo affiche la liste de produit du client sélectionné dans ma premiere combo.
J'ai déclaré une variable globale dans ma fenetre qui reçoie la ref de mon client. Cette variable globale porte le meme nom que le parametre de ma requete parametrée. J'arrive bien a récupérer la ref avec : ref_cli = COMBO_client..Valeur ( partie : Entrée combo_produit ), mais la combo n'affiche rien.
Auriez vous une idée?
Merci d'avance!
|
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2006 - 16:40 |
Dans son message, cedric racontait :
C'est bon j'ai trouvé! Sur un "survol de souris", j'ai mis:
ListeAffiche(COMBO_produit, taDébut) MaSource.ref_cli = COMBO_client..Valeur
Le plus simple ici serait de mettre dans la 1ere combo (avec la liste des clients) // selection d'une ligne requete_combo2.ref_cli = moimeme // a condition d'avoir bien mis en valeur mémorisée de combo1 la ref_cli hexecuterequete(requete_combo2) listeaffiche(combo2, taDébut)
Comme ca la liste n'est réactualisée que si on change de client (ca évite de perdre la valeur selectionnée dans combo2 lors du survol)
bon dev -- Lionel
mailto:lionel.breil*NOSPAM*@gmail.com (retirer *NOSPAM* pour m'écrire) |
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2006 - 18:23 |
Le probleme c est que mes requetes sont des requetes intégrées. je ne peux y faire appel dans mon code! A moins que je me trompe?! |
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2006 - 19:03 |
Dans son message, cedric racontait :
Le probleme c est que mes requetes sont des requetes intégrées. je ne peux y faire appel dans mon code! A moins que je me trompe?!
Les requetes intégrées sont accessibles par NomCombo..FichierParcouru Dans ce cas il faudra modifier un peu le code que je t'ai donné, qui deviendra : //selection d'une ligne hexecuterequete(combo2..fichierparcouru, combo1) // tjrs en ayant la valeur mémorisée de combo1 = ref_cli listeaffiche(combo2, tadébut)
bon dev -- Lionel
mailto:lionel.breil*NOSPAM*@gmail.com (retirer *NOSPAM* pour m'écrire) |
| |
| |
| | | |
|
| | |
| |
Posté le 17 mai 2006 - 19:03 |
Le fait que tes requètes soient intégrées ce n'est pas un problème : tu peux les exporter ! Et je pense que cela irait trés vite d'en créer des nouvelles et de "brancher" les combos dessus !
Je suis assez d'accord avec la sélection dans la première combo qui déclanche la seconde requète et rafraichit l'affichage de celle ci ! c'est beaucoup plus sur !
Bon dev |
| |
| |
| | | |
|
| | |
| |
Posté le 18 mai 2006 - 11:44 |
Désolé, mais cela ne marche pas! J'ai cette erreur:
Erreur à la ligne 2 du traitement Sélection d'une ligne de COMBO_client. Vous avez appelé la fonction HExécuteRequête. L'utilisation de l'option hRequêteSansCorrection n'est autorisée que si un nom de connexion est spécifié dans l'appel à la fonction. Vous devez modifier l'appel à la fonction en lui passant un nom de connexion valide.
Informations techniques
Projet : CODIF
Dump de l'erreur du module <WD100HF.DLL> <10.00Cpc>.
- Appel WL : Traitement de <New_Doc.COMBO_client>, ligne <2>, thread <0> Fonction <HExécuteRequête>, n° de syntaxe <0>
- Niveau : erreur fatale (EL_FATAL)
- Code erreur : 70180
- Code erreur WD55 : 180
- Pas de code d'erreur système
- Pas de message d'erreur système
- Que s'est-il passé ? L'utilisation de l'option hRequêteSansCorrection n'est autorisée que si un nom de connexion est spécifié dans l'appel à la fonction. Vous devez modifier l'appel à la fonction en lui passant un nom de connexion valide.
- Infos de debug : iehf065 Fonction (7,56)
- Infos attachées : EIT_LOGICALTABLENAME : <New_Doc_1$Requête> EIT_DATEHEURE : 18/05/2006 09:59:13 EIT_PILEWL : Sélection d'une ligne de COMBO_client (New_Doc.COMBO_client), ligne 2
- Identifiant dans le .err : 72313 |
| |
| |
| | | |
|
| | |
| |
Posté le 18 mai 2006 - 12:50 |
Dans son message, cedric racontait :
Désolé, mais cela ne marche pas! J'ai cette erreur:
Erreur à la ligne 2 du traitement Sélection d'une ligne de COMBO_client. Vous avez appelé la fonction HExécuteRequête. L'utilisation de l'option hRequêteSansCorrection n'est autorisée que si un nom de connexion est spécifié dans l'appel à la fonction. Vous devez modifier l'appel à la fonction en lui passant un nom de connexion valide.
Pourquoi utiliser ici hRequeteSansCorrection ? La requete étant valide et interprétable par le moteur HF il n'est pas necessaire de préciser ce parametre. Des fois les messages d'erreur servent a quelque chose, et il faut donc les lire avant de dire qu'une proposition ne marche pas. De plus, les solutions proposées ici ne sont pas bible, mais juste de quoi avancer dans le développement : il faut les adapter. Enfin (mais ceci n'est que mon point de vue) je n'aime pas qu'on me dise que le code que je propose ne marche pas quand l'erreur ne vient pas de mon code mais d'une modification qui y a été apportée : mon code fonctionne dans des cas simples / standard, la modif ne marche pas ! -- Lionel
mailto:lionel.breil*NOSPAM*@gmail.com (retirer *NOSPAM* pour m'écrire) |
| |
| |
| | | |
|
| | |
| |
Posté le 18 mai 2006 - 13:31 |
Mais justement, je n'utilise pas hRequeteSansCorrection! J'avais oublier de dire que je bosse avec sql server.
PS: Faut pas s'énerver, cela ne sert a rien! Désolé que vous l'ayez mal pris (comme d'habitude!), ce n'était pas le but recherché. |
| |
| |
| | | |
|
| | |
| |
Posté le 18 mai 2006 - 17:34 |
cedric a écrit :
Mais justement, je n'utilise pas hRequeteSansCorrection! J'avais oublier de dire que je bosse avec sql server.
PS: Faut pas s'énerver, cela ne sert a rien! Désolé que vous l'ayez mal pris (comme d'habitude!), ce n'était pas le but recherché.
Salut
Et Lionel faut etre cool des fois !!!
Sinon dans le code de selection de ligne de ta première combo tu peux mettre
REQ_COMBO2.PARAM = COMBO1 ListeAffiche(COMBO_2,taRéExecuteRequete) |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2006 - 11:08 |
Dans son message, Christophe racontait :
cedric a écrit : Mais justement, je n'utilise pas hRequeteSansCorrection! J'avais oublier de dire que je bosse avec sql server.
PS: Faut pas s'énerver, cela ne sert a rien! Désolé que vous l'ayez mal pris (comme d'habitude!), ce n'était pas le but recherché.
Salut Et Lionel faut etre cool des fois !!! Sinon dans le code de selection de ligne de ta première combo tu peux mettre REQ_COMBO2.PARAM = COMBO1 ListeAffiche(COMBO_2,taRéExecuteRequete)
Oui oui bon je sais j'aurais pas du m'emporter, mais bon quand j'ai vu que l'erreur concernait hRequeteSansCorrection, j'ai un peu craqué car je n'ai jamais mis ca dans mon code... Apparement windev sait que tu passes par sql server, et il attend un nom de connection dans l'appel de hexecuterequete (il semblerait qu'il ajoute tout seul le hrequetesanscorrection - mais peut etre ce parametre est-il défini directemlent dans la requete). Sinon comme le dit christophe listeaffiche(XXX, taRéExecuteRequete) devrait marcher.
Bon dev -- Lionel
mailto:lionel.breil*NOSPAM*@gmail.com (retirer *NOSPAM* pour m'écrire) |
| |
| |
| | | |
|
| | |