|
WD22- Requete fonctionne mais editeur en défaut |
Started by Ramirez22, Feb., 23 2018 3:37 PM - 1 reply |
| |
| | | |
|
| |
Registered member 60 messages Popularité : +2 (2 votes) |
|
Posted on February, 23 2018 - 3:37 PM |
Bonjour.
c'est dur d'être explicite dans une ligne de titre, alors je vais développer.
J'ai créé une requête assez complexe (pour moi du moins) qui fonctionne très bien dans mon programme, que je le lance depuis l'éditeur en mode "test" ou que je le compile en exécutable.
Je voudrais modifier cette requête car j'ai besoin d'ajouter des tri supplémentaires. Lorsque j'ouvre l'éditeur de requête (double clic dans l'explorateur de projet), pas de message d'erreur. Si j'ouvre la description de la requête (via le bouton prévu à cet effet ou en double cliquant sur le champs visuel de résultat de requête), les informations au bas de l'écran sont bizarrement formatées :
Afficher tous les ID_Documents, Code, Code2, Code3, Titre, Indice, Commentaires, FichierPDF, FichierSource, ID_Etat, EtatDocument, ID_Palier et Affaire tels que ( ) ET ( ) ET ( ) . Le résultat est trié selon la valeur de Code par ordre croissant. Les doublons sont éliminés. Remarquez les parenthèses vides. De même, l'équivalent en SQL
SELECT DISTINCT FichierDocuments.ID_Documents AS ID_Documents, FichierDocuments.Code AS Code, FichierDocuments.Code2 AS Code2, FichierDocuments.Code3 AS Code3, FichierDocuments.Titre AS Titre, FichierDocuments.Indice AS Indice, FichierDocuments.Commentaires AS Commentaires, FichierDocuments.FichierPDF AS FichierPDF, FichierDocuments.FichierSource AS FichierSource, FichierDocuments.ID_Etat AS ID_Etat, FichierEtat.EtatDocument AS EtatDocument, FichierDocuments.ID_Palier AS ID_Palier, FichierDocuments.Affaire AS Affaire FROM FichierEtat, FichierDocuments, FichierMarché, Fichier_Type_Documents, FichierType WHERE FichierType.ID_Type = Fichier_Type_Documents.ID_Type AND FichierDocuments.ID_Documents = Fichier_Type_Documents.ID_Documents AND FichierMarché.ID_Marché = FichierDocuments.ID_Marché AND FichierEtat.ID_Etat = FichierDocuments.ID_Etat AND (
(
) AND (
) AND (
) ) ORDER BY Code ASC
Par contre, lorsque j'affiche le code de la requête (clic droit dans l'explorateur de projet ou F2 lorsque la requête est sélectionnée), la requête semble correcte.
SELECT DISTINCT FichierDocuments.ID_Documents AS ID_Documents, FichierDocuments.Code AS Code, FichierDocuments.Code2 AS Code2, FichierDocuments.Code3 AS Code3, FichierDocuments.Titre AS Titre, FichierDocuments.Indice AS Indice, FichierDocuments.Commentaires AS Commentaires, FichierDocuments.FichierPDF AS FichierPDF, FichierDocuments.FichierSource AS FichierSource, FichierDocuments.ID_Etat AS ID_Etat, FichierEtat.EtatDocument AS EtatDocument, FichierDocuments.ID_Palier AS ID_Palier, FichierDocuments.Affaire AS Affaire FROM FichierEtat, FichierDocuments, FichierMarché, Fichier_Type_Documents, FichierType WHERE FichierType.ID_Type = Fichier_Type_Documents.ID_Type AND FichierDocuments.ID_Documents = Fichier_Type_Documents.ID_Documents AND FichierMarché.ID_Marché = FichierDocuments.ID_Marché AND FichierEtat.ID_Etat = FichierDocuments.ID_Etat AND ( ( FichierDocuments.Code LIKE %{pCode}% OR FichierDocuments.Code2 LIKE %{pCode}% OR FichierDocuments.Code3 LIKE %{pCode}% ) AND ( FichierDocuments.Titre LIKE %{pTitre}% OR FichierDocuments.Commentaires LIKE %{pTitre}% ) AND FichierType.ID_Type LIKE {pType} AND FichierDocuments.ID_Palier LIKE %{pBigramme}% AND FichierMarché.NumeroMarché LIKE %{pMarché}% ) ORDER BY Code ASC
Il va sans dire que si j'enregistre la requête depuis l'éditeur de requête, même sans modification, celle-ci ne fonctionne plus.
En désespoir de cause, j'ai refais ma requête en entier depuis l'éditeur, comparaison avec le code SQL initial (tout est identique) mais ça ne fonctionne plus.
Heureusement, j'avais une sauvegarde du projet, je restaure, ça fonctionne. J'essaie de réparer le projet, etc... rien n'y fait : cette #!@# requête est toujours bizarre et ne fonctionne plus dès que je la modifie/enregistre/refait.
J'en perds mon Wlangage ...
Une bonne âme pour m'aider ?Message modified, February, 23 2018 - 3:38 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 60 messages Popularité : +2 (2 votes) |
|
Posted on February, 23 2018 - 3:55 PM |
Bon,histoire de compléter le schéma ... J'ai réussi à faire re-fonctionner ma requête. Je me suis rendu compte en exécutant la requête seule (depuis l'éditeur en laçant "Go") et en donnant quelques valeurs aux paramètres, j'obtenais quelques résultats (qui semblaient conformes par ailleurs). J'ai donc creusé au niveau de mon programme, et plus précisément au niveau de l'affichage des valeurs retournée par la requête. Bingo : J'ai trouvé une erreur (j’avais une liste avec une 1ère valeur forcé "en dur" qui renvoyait un "%" par défaut).
Ma question n'a donc plus de caractère urgent, mais j'aimerais bien comprendre comment une requête avec erreur + une erreur de code dans une fenêtre peuvent fonctionner
Bonne journée |
| |
| |
| | | |
|
| | | | |
| | |
|