|
| Iniciado por patrick39220, 29,mar. 2019 07:36 - 13 respuestas |
| |
| | | |
|
| |
| Publicado el 29,marzo 2019 - 07:36 |
Bonjour à tous, Débutant sous windev, je rencontre un problème avec une requête : Lors que j’exécute la requête sous l’éditeur de requête, elle fonctionne très bien, elle me donne le résultat voulue[ par contre dans mon programme, elle ne fonctionne plus !!! Voici le code de ma requête : SELECT Vin.IDVin AS IDVin, Vin.NomVin AS NomVin, Vin.AnneeVin AS AnneeVin, Vin.PrixVin AS PrixVin, Vin.QuantVin AS QuantVin, Vin.Cotation AS Cotation, Vin.PhotoVin AS PhotoVin, Vin.Commentaire AS Commentaire, Vin.Garde AS Garde, Vin.IDAppelation AS IDAppelation, Vin.IDProducteur AS IDProducteur, Vin.IDCouleur AS IDCouleur, Vin.IDRegion AS IDRegion, Vin.IDPays AS IDPays, Vin.DateAchat AS DateAchat, Vin.Entree AS Entree, Vin.Sortie AS Sortie, Couleur.IDCouleur AS IDCouleur1, Couleur.NomCouleur AS NomCouleur, Couleur.ImageCouleur AS ImageCouleur, Appelation.IDAppelation AS IDAppelation1, Appelation.NomAppelation AS NomAppelation, Region.IDRegion AS IDRegion1, Region.NomRegion AS NomRegion FROM Vin, Couleur, Appelation, Region WHERE Vin.IDCouleur = Couleur.IDCouleur AND Appelation.IDAppelation = Vin.IDAppelation AND Region.IDRegion = Vin.IDRegion AND ( Appelation.IDAppelation = {ParamIDAppellation} AND Couleur.IDCouleur = {ParamIDCouleur} AND Region.IDRegion = {ParamIDRegion} AND Vin.AnneeVin = {ParamAnneeVin} )
Et voici le code dans mon programme : SI Combo_Appellation ~= "" ET SAI_Date ~= "" ET Combo_Region ~= "" ET Combo_Couleur ~= "" ALORS //Vérification de la saisie utilisateur -> alerte si l'utilisateur n'a pas saisi de critères de recherche //AfficheErreur(LIB_Erreur,"Indiquez un paramètre de recherche") ToastAffiche("Indiquez un paramètre de recherche") RETOUR SINON //Lancement de la recherche Req_RechercheVin.ParamIDAppellation = Combo_Appellation Req_RechercheVin.ParamAnneeVin = SAI_Date Req_RechercheVin.ParamIDCouleur = Combo_Couleur Req_RechercheVin.ParamIDRegion = Combo_Region HExécuteRequête(Req_RechercheVin) HLitPremier(Req_RechercheVin) SI HEnDehors ALORS ToastAffiche("Aucun résultat trouvé") SINON ToastAffiche("1 enregistrement trouvé !!") FIN FIN
La requête me donne toujours comme résultat : Aucun résultat trouvé
Je vous remercie par avance de m'aider
Patrick |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 29,marzo 2019 - 08:57 |
Bonjour,
As-tu mis un point d'arrêt pour voir ce que contiennent tes paramètres ?
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.640 mensajes |
|
| Publicado el 29,marzo 2019 - 10:02 |
Hello,
A vérifier mais Combo_Couleur a mon avis renvoi l'indice de l’élément en cours et non sa valeur, essaye avec Combo_Couleur..ValeurAffichée ou Combo_Couleur..ValeurMémorisée (selon le cas) Ca doit etre pareil pour les autres comboMensaje modificado, 29,marzo 2019 - 10:02 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 29,marzo 2019 - 10:12 |
Bonjour Philippe,
J'ai bien mis un point d’arrêt sur mes variable, et elles ont la valeur voulue ! |
| |
| |
| | | |
|
| | |
| |
| Publicado el 29,marzo 2019 - 10:14 |
Bonjour François,
La variable couleur ( par exemple) a pour valeur l'indice de celle ci ( valeur souhaité). En testant : HExécuteRequête(Req_RechercheVin,Combo_Appellation,SAI_Date,Combo_Couleur,Combo_Region) cela ne change rien à mon problème ! |
| |
| |
| | | |
|
| | |
| |
| Publicado el 29,marzo 2019 - 10:14 |
Bonjour François,
La variable couleur ( par exemple) a pour valeur l'indice de celle ci ( valeur souhaité). En testant : HExécuteRequête(Req_RechercheVin,Combo_Appellation,SAI_Date,Combo_Couleur,Combo_Region) cela ne change rien à mon problème ! |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 29,marzo 2019 - 12:58 |
quel est le retour de HExecuteRequete ?
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.321 mensajes |
|
| Publicado el 29,marzo 2019 - 13:34 |
Bonjour,
Pour identifier l'origine du problème, il faut testé le code morceau par morceau. Donc : 1. Le code SQL avec les valeurs en dur. 2. Le code avec les valeurs passées par paramètre comme dans l'éditeur de requête, 3. Enfin utiliser les valeurs renvoyées par les combos en paramètres.
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
| Publicado el 29,marzo 2019 - 15:14 |
re bonjour,
je n'ai pas de retour avec HExecuteRequete , car je n'ai pas d'erreur d’exécution de ma requête
Pour Jean-pierre :,
1. Le code SQL avec les valeurs en dur : même problème ! 2. Le code avec les valeurs passées par paramètre comme dans l'éditeur de requête 3. Enfin utiliser les valeurs renvoyées par les combos en paramètres. Pour le point 2 et 3, pouvez vous me donner un exemple car je ne comprend pas ce que vous voulez dire.... -- Cordialement Patrick |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.640 mensajes |
|
| Publicado el 29,marzo 2019 - 16:54 |
Exemple :
Req_RechercheVin.ParamIDAppellation = Combo_Appellation Req_RechercheVin.ParamAnneeVin = SAI_Date Req_RechercheVin.ParamIDCouleur = Combo_Couleur Req_RechercheVin.ParamIDRegion = Combo_Region
Si tu mets ca juste avant :
Trace(Combo_Couleur) Trace(Combo_Region) Trace(Combo_Appellation) Trace(SAI_Date) Les valeurs tracées sont bien celles attendues ?Mensaje modificado, 29,marzo 2019 - 16:54 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 29,marzo 2019 - 17:30 |
Re bonjour,
Voici une capture d'ecran sous l'editeur de requete :

et voici le résultat :

Ceci montre bien que la requête fonctionne !!
Par contre en programmation, même avec les bonne valeur dans les variables, cela ne fonctionne pas. Que la valeur soit vrai ou fausse, j'ai toujours le même message : "Aucun résultat trouvé". J'avoue que je suis perdu !!!!
Cordialement Patrick |
| |
| |
| | | |
|
| | |
| |
| Publicado el 02,abril 2020 - 21:36 |
| Quand dans l'éditeur de requêtes tu ne coches pas un des paramètres ca équivaut a passer null et non une chaine vide comme tu le ferais avec tes combos. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 4.362 mensajes |
|
| Publicado el 03,abril 2020 - 09:47 |
Bonjour, Si tous les paramètres ne sont pas saisis, ils sont à 0 où à "". Donc, tu peux être amené à rechercher un vin récolté en "0", à mon avis, il n'y en a pas beaucoup Il faut penser à cocher "Null si vide" dans la description du champ, option Détail.
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
| Publicado el 03,abril 2020 - 14:32 |
Bonjour
il faut que les paramètres de la requête soient initialisés à null s'ils ne doivent pas servir :
par correspondre à l'exemple qui fonctionne dans l'éditeur de requête : Req_RechercheVin.ParamIDAppellation = null Req_RechercheVin.ParamAnneeVin = null Req_RechercheVin.ParamIDCouleur = 2 Req_RechercheVin.ParamIDRegion = null
Bon dev |
| |
| |
| | | |
|
| | | | |
| | |
|