Bonjour à tous. Je souhaite effectuer une requête sur ma base HFSQL afin de calculer le nombre de PV pour une visite chez un client. Il y a plusieurs types de PV possibles, répartis dans plusieurs tables donc. Qu'à cela ne tienne, je crée donc la requête suivante : Code (Text): SELECT ( (SELECT COUNT(*) FROM PVVisite WHERE PVVisite.CTCLEUNIK = {clecontrat} AND PVVisite.VICLEUNIK = {clevisite} AND PVVisite.NumVisite = {numvisite})+ (SELECT COUNT(*) FROM PVQ7 WHERE PVQ7.CTCLEUNIK = {clecontrat} AND PVQ7.VICLEUNIK = {clevisite} AND PVQ7.NumVisite = {numvisite})+ (SELECT COUNT(*) FROM PVQ13 WHERE PVQ13.CTCLEUNIK = {clecontrat} AND PVQ13.VICLEUNIK = {clevisite} AND PVQ13.NumVisite = {numvisite})+ (SELECT COUNT(*) FROM GammeControle WHERE GammeControle.CTCLEUNIK = {clecontrat} AND GammeControle.VICLEUNIK = {clevisite} AND GammeControle.NumVisite = {numvisite})+ (SELECT COUNT(*) FROM PVAttachementEntretien WHERE PVAttachementEntretien.CTCLEUNIK = {clecontrat} AND PVAttachementEntretien.VICLEUNIK = {clevisite} ) ) AS total Malheureusement lorsque je teste la requête j'obtiens ce message fort de sens et de profondeur : Je teste donc ma requête ailleurs. J'utilise le logiciel OUTILS_SQL (Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! plus efficace que leur centre de contrôle si vous voulez mon avis) et elle fonctionne comme attendu (c'est à dire : bien). Je tente un dernier essai depuis le centre de contrôle et là, la douche froide : "Aucune analyse n'est ouverte et le fichier <PVVisite> n'a pas été décrit.". Que la base de données elle-même me réponde cela me semble un peu fort de café. Si je manipule la requête pour afficher chaque COUNT dans une colonne différente néanmoins elle fonctionne sous le centre de contrôle mais toujours pas depuis le projet lui-même. Me voilà donc bloqué. Je doute que l'analyse soit en cause car elle est bien définie dans mon projet et à jour (et j'ai pleins de requêtes qui fonctionnent comme il faut). La seule réelle nouveauté est qu'à ma connaissance il s'agit de la première à utiliser des sous-requêtes (j'ai récupéré la charge du projet il y a deux mois). S'agit-il d'une limitation au SQL dans l'environnement windev ? Pourquoi un logiciel tiers arrive-t-il à exécuter cette requête mais pas windev lui-même ? Quelqu'un a-t-il déjà rencontré un problème du genre ? Merci d'avance pour votre aide.
Bonjour, Si vous avez des connexions définies, vérifiez les. Synchronisez les structures des tables de votre analyse avec les fichiers de références.
Bonjour Hartyshow et merci de ta réactivité. ma BDD est à jour vis à vis de l'analyse de mon projet. Je teste ma requête séparément du code donc sans définition de connexion. Cela fonctionne très bien pour toutes les autres requêtes.
salut ca m'est deja arrivé, j'ai outrepassé en utilisant hexecuterequetesql et passant le code sql dans une chaine.
Je me suis créé une petite fenêtre pour tester, même en chaîne elle bloque (mais des plus simples fonctionnent donc le code est bon). J'ai voulu essayer en utilisant l'assistant de création de requête mais je ne comprends pas vraiment comment il manipule les champs COUNT et c'est une sinécure à remplir avec autant d'informations.
Alors j'ai réussi à exécuter ma requête dans l'environnement windev ! J'ai dû pour ça jouer avec les options de connexions de la méthode HexécuteRequête : [windev]cnxToDatabase est une Connexion cnxToDatabase..Utilisateur=xxx cnxToDatabase..MotDePasse=yyy cnxToDatabase..Serveur=zzz cnxToDatabase..BaseDeDonnées=www cnxToDatabase..Provider=hAccèsHFClientServeur cnxToDatabase..Accès=hOLecture cnxToDatabase..OptionsCurseur=hCurseurClient HOuvreConnexion(cnxToDatabase) //REQ_ComptaTotalPV est la requête en question HExécuteRequête(REQ_CompteTotalPV, cnxToDatabase, hRequêteSansCorrectionHF,CT.CTCLEUNIK,Visite.VICLEUNIK,1) HLitPremier(REQ_CompteTotalPV)[/windev] hRequêteSansCorrectionHF permet de faire passer la requête sans en vérifier la forme. néanmoins la FAQ parle de champ complété par des espaces ou non. Je doute d'être dans ce cas de figure mais eh, ça marche.