PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → problème de recuperation du  résultat d'une requête
problème de recuperation du résultat d'une requête
Débuté par kakona_r, 24 fév. 2006 13:08 - 6 réponses
Posté le 24 février 2006 - 13:08
Je débute sous windev et J'ai un problème pour récupérer le résultat des mes requêtes. J'ai consulté l'aide en ligne mais j'ai toujours le même problème. Je voudrais afficher tous les types de materiels ayant pour référence la valeur affichée dans un champ. Mais lors de l'exécution j'ai une erreur d'initialisation de la requête. Le compilateur me dit que la valeur affichée dans le champ est inconnue dans le fichier et qu'il faut que je vérifie que la requête est en phase avec la déscription des fichiers.
Voici le code
val est un Variant

MaRequête est une Source de Données
// Initialise la requête
SI PAS HExécuteRequêteSQL ( MaRequête ,...
"SELECT materielsuppl.Type FROM materielsuppl WHERE materielsuppl.References_P = "+References_M..ValeurAffichée) ALORS
Erreur ( "Erreur d' initialisation de la requête" + RC + HErreurInfo ())
RETOUR
FIN

// lecture du premier enregistrement de la requête
HLitPremier (MaRequête )
TANTQUE PAS HEnDehors ()
// Traitement sur l' enregistrement de la requête
// Accès aux rubriques par MaRequête.<Nom rubrique>
val = MaRequête.Type
Info("val" = +val) // -> test pour lister la valeur recuperer
// lecture de l' enregistrement suivant
HLitSuivant ()
FIN
Posté le 24 février 2006 - 14:05
SELECT materielsuppl.Type .....


p e en métant comme ca :

SELECT materiel.Type AS Type


bon dev ;-)
Posté le 24 février 2006 - 15:47
tu peux aussi utiliser les objets requète et y passer des parmètres
Posté le 24 février 2006 - 15:55
Essaye plutot de faire :

LStrTextReq = "Tetxe de ta requete"
SI PAS HExécuteRequêteSQL(LStrReq,hTemporise,LStrTextReq)ALORS
HErreur(hErrEnCours)
SINON
//Lecture du premier enregistrement
HLitPremier(LStrReq)

Il vaut mieux que tu mette le texte de ta requete dans une variable de type chaine au préalable..

Bon dev
Posté le 24 février 2006 - 18:03
Fabien a raison (tayte de bayte va)


mais moi aussi, ton erreur vient de là:

quand tu fait : val=MaRequete.Type
dans ta requete il faut que tu renomme la rubrique en Type :


SELECT materiel.Type AS Type


bon dev ;-)
Posté le 24 février 2006 - 18:19
Bonjour,

Si la valeur recherchée "References_M..ValeurAffichée" pour la rubrique
materielsuppl.References_P est une chaine, il faut entourer cette valeur par
des simples cotes.
Ex :

SI PAS HExécuteRequêteSQL ( MaRequête , "SELECT materielsuppl.Type FROM
materielsuppl WHERE
materielsuppl.References_P = ' "+References_M..ValeurAffichée + " '
")

Bon courage.

"lilos" <kakona_r@yahoo.fr> a écrit dans le message de
news:43fee6ed$1@news.pcsoft.fr...

Je débute sous windev et J'ai un problème pour récupérer le résultat des

mes requêtes. J'ai consulté l'aide en ligne mais j'ai toujours le même
problème. Je voudrais afficher tous les types de materiels ayant pour
référence la valeur affichée dans un champ. Mais lors de l'exécution j'ai
une erreur d'initialisation de la requête. Le compilateur me dit que la
valeur affichée dans le champ est inconnue dans le fichier et qu'il faut
que je vérifie que la requête est en phase avec la déscription des fichiers.
Voici le code
val est un Variant

MaRequête est une Source de Données
// Initialise la requête
SI PAS HExécuteRequêteSQL ( MaRequête ,...
"SELECT materielsuppl.Type FROM materielsuppl WHERE

materielsuppl.References_P = "+References_M..ValeurAffichée) ALORS
Erreur ( "Erreur d' initialisation de la requête" + RC + HErreurInfo ())
RETOUR
FIN

// lecture du premier enregistrement de la requête
HLitPremier (MaRequête )
TANTQUE PAS HEnDehors ()
// Traitement sur l' enregistrement de la requête
// Accès aux rubriques par MaRequête.<Nom rubrique>
val = MaRequête.Type
Info("val" = +val) // -> test pour lister la valeur recuperer
// lecture de l' enregistrement suivant
HLitSuivant ()
FIN
Posté le 28 février 2006 - 07:01
Merci à Jocelyne et à tous ceux qui ont pris la peine de lire mon message et tenter de m'aider.
En fait il fallait simplement entourer la variable References_M..ValeurAffichée de simple quote comme me l'a suggérer jocelyne.
Encore une fois merci à tous