[WD12] Est dans la liste et Booléen.
Stagiaire WDF
Inscrit:
23/01/2007 10:14
Post(s): 2
Bonjour,

Je me trouve face à un problème des plus embettants, et des plus insolubles pour moi...

Le principe :
Une requête de sélection, qui sélectionne donc un certain nombre d’enregistrement et les affiche dans une table qui est donc basée sur cette requête. Jusqu'à la, pas de soucis.

A cette requête vient s’ajouter un certain nombre de paramètres, dont je ne garderais que ceux qui après divers tests, s’avèrent faire partis du problème.
Ces paramètres donc :
- Est dans la liste, sur ma rubrique ID
- Egal à, sur un booléen.

Et voila, selon les cas, comment réagit ma requête :
- Aucun paramètre de renseigné : Tous les enregistrements de mon fichier s’affiche correctement.
- ParamBooleen renseigné à 1 : Tous mes enregistrements dont le Booléen est à 1 s’affichent bien.
- ParamListeID renseigné avec une liste d’ID au format « ID, ID, ID, ID » : Tous mes enregistrements dont l’ID se trouve dans la liste s’affichent bien.
- Ces deux paramètres renseignés en même temps : Aucun enregistrement ne s’affiche, ou éventuellement parfois le premier correspondant aux paramètres.

Bien sur, j’ai vérifié les données, et il y a bien des enregistrements correspondant aux deux paramètres à la fois, et pas qu’un. De plus, cela fonctionnait parfaitement sous WinDev 11.
J’ai également tracé dans tous les sens possibles le déroulement de tout cela, et hormis le fait que la requête ne renvoi aucun (ou un seul) enregistrement, tout se passe bien. Pas de messages d’erreurs, HExecuteRequete qui renvoie bien Vrai, etc etc…

Après avoir retourné le code, le fichier, la requête, et tout ce que je pouvais dans tous les sens, je me suis laissé dire que le fondement du problème était à un niveau plus basique, j’ai donc essayé diverses requête en SQL directement, via WDMap, et via le Centre de Contrôle HyperFile, les résultats :
-
SELECT * 
FROM CLIENTS_FOURNISSEURS 
WHERE IDClientFournisseur IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) 
: Renvoit bien les enregistrements correspondants à la liste d’ID.
-
SELECT * 
FROM CLIENTS_FOURNISSEURS 
WHERE ClientOuFournisseur=1
: Renvoi bien les enregistrements avec le booléen à 1.
-
SELECT * FROM CLIENTS_FOURNISSEURS 
WHERE IDClientFournisseur IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30) 
AND ClientOuFournisseur=1
: Ne renvoi aucun enregistrement. La encore bien sur, j’ai vérifié que des enregistrements correspondaient bien aux deux conditions à la fois, et il y en a.

L’application est assez grosse et utilise des paramètres de ce types à plusieurs endroits, paramètres qu’il est difficile de remplacer. Le problème est donc des plus gênant…

Merci d’avoir lu, et merci d’avance pour ceux qui réfléchiront au problème,

Finar, désespéré.

PS : Concernant le séparateur « , » dans la liste. Les réactions ne sont pas meilleures avec TAB, RC, etc…
PS2 : Les différents modes d’éxécution hRequeteDefaut, hRequeteSansCorrection, hRequeteSansCorretionHF, etc, ne change rien au problème, ou « l’aggrave » juste.
PS3 : Une requete a été envoyée au Support Technique, sans réponse pour le moment.

Contribution le : 22/01/2008 10:33
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2