PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → problème de requête toute simple
problème de requête toute simple
Started by albert..Ledébutant, Aug., 18 2005 6:55 PM - 9 replies
Posted on August, 18 2005 - 6:55 PM
Ma requete fonctionne, mais avec ce code, le nombre de ligne est ok, en ce qui concerne les clients, mais c'est toujours le même nom et le dernier enregistré.Je pense avoir un problème avec le hlitpremier.Si vous pouviez m'aider, ça serait sympa.@+ et Bon dev à tous
Albert

SI recupligne = "Cotations" ALORS
TableSupprimeTout(Table_Client)
HExécuteRequête(R_TotMail)
HLitPremier(R_TotMail)
TANTQUE PAS HEnDehors(R_TotMail)
TableAjouteLigne(Table_Client,CLIENT.IDCLIENT, CLIENT.NomCli, CLIENT.Precli,
CLIENT.VilCli, CLIENT.FaxCli, CLIENT.EmailCli)
HLitSuivant(R_TotMail)
FIN
FIN
Posted on August, 18 2005 - 8:00 PM
bonjour,

c'est normal, tu fais une requete... et tu lis le fichier!
ce serai ty pas plutot r_totmail.ID... etc?
jean-daniel

albert..Ledébutant avait écrit le 18/08/2005 :
Ma requete fonctionne, mais avec ce code, le nombre de ligne est ok, en ce
qui concerne les clients, mais c'est toujours le même nom et le dernier
enregistré.Je pense avoir un problème avec le hlitpremier.Si vous pouviez
m'aider, ça serait sympa.@+ et Bon dev à tous Albert

SI recupligne = "Cotations" ALORS
TableSupprimeTout(Table_Client)
HExécuteRequête(R_TotMail)
HLitPremier(R_TotMail)
TANTQUE PAS HEnDehors(R_TotMail)
TableAjouteLigne(Table_Client,CLIENT.IDCLIENT, CLIENT.NomCli,
CLIENT.Precli, CLIENT.VilCli, CLIENT.FaxCli,
CLIENT.EmailCli) HLitSuivant(R_TotMail)
FIN
FIN



--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Posted on August, 18 2005 - 10:38 PM
Tu as entièrement raison jean daniel, mais le problème, c'est que sans le hexécuterequête,ça
s'arrête au hlitpremier et ensuite, plus rien.Je n'ai trouvé que ce moyen pour qu'une exécution
se fasse.J'ai essayé un tas de truc, mais rien y fait.Avec ce code suivant; ça reste figé.

HLitPremier(Req_Mail_SRPV.IDCLIENT)
TANTQUE PAS HEnDehors(Req_Mail_SRPV)
TableAjouteLigne(Table_Client,CLIENT.IDCLIENT, CLIENT.NomCli, CLIENT.Precli, CLIENT.VilCli, CLIENT.FaxCli, CLIENT.EmailCli)
HLitSuivant(Req_Mail_SRPV.IDCLIENT)

@+
Albert
Posted on August, 19 2005 - 12:22 AM
en fait, j'ai répondu trop vite, ton code est bon (le premier) c'est
quoi ta requete?

Albert..ledébutant avait énoncé :
Tu as entièrement raison jean daniel, mais le problème, c'est que sans le
hexécuterequête,ça s'arrête au hlitpremier et ensuite, plus rien.Je n'ai
trouvé que ce moyen pour qu'une exécution se fasse.J'ai essayé un tas de
truc, mais rien y fait.Avec ce code suivant; ça reste figé.

HLitPremier(Req_Mail_SRPV.IDCLIENT)
TANTQUE PAS HEnDehors(Req_Mail_SRPV)
TableAjouteLigne(Table_Client,CLIENT.IDCLIENT, CLIENT.NomCli,
CLIENT.Precli, CLIENT.VilCli, CLIENT.FaxCli, CLIENT.EmailCli)
HLitSuivant(Req_Mail_SRPV.IDCLIENT)

@+
Albert



--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Posted on August, 19 2005 - 10:29 AM
Salut,

Et si tu tentais une autre syntaxe?

HExecuteRequete(R_TotMail)

POUR TOUT R_TotMail
TableAjouteLigne(Table_Client,R_TotMail.IDCLIENT,
R_TotMail.NomCli, R_TotMail.Precli,
R_TotMail.VilCli, R_TotMail.FaxCli, R_TotMail.EmailCli)
FIN

C'est une syntaxte simple (pas besoin de gérer le parcours du fichier
avec des HlitXXX et avec un parcours de requête, ça ne doit pas être
plus pénalisant en termes d'optimisation d'éxecution...

Bon dev'

Albert..ledébutant avait prétendu :
Tu as entièrement raison jean daniel, mais le problème, c'est que sans le
hexécuterequête,ça s'arrête au hlitpremier et ensuite, plus rien.Je n'ai
trouvé que ce moyen pour qu'une exécution se fasse.J'ai essayé un tas de
truc, mais rien y fait.Avec ce code suivant; ça reste figé.

HLitPremier(Req_Mail_SRPV.IDCLIENT)
TANTQUE PAS HEnDehors(Req_Mail_SRPV)
TableAjouteLigne(Table_Client,CLIENT.IDCLIENT, CLIENT.NomCli,
CLIENT.Precli, CLIENT.VilCli, CLIENT.FaxCli, CLIENT.EmailCli)
HLitSuivant(Req_Mail_SRPV.IDCLIENT)

@+
Albert



--
Guillaume
Posted on August, 19 2005 - 11:10 AM
Salut,
as-tu eu l'occasion de tester le résultat de ta requête dans le
générateur de requêtes. Tu pourrais ainsi voir les enregistrements que
la requête de retourne.
De plus, dans la syntaxe de HLitPremier et HLitSuivant, tu indiques un
"." entre le nom de la requête et le nom de la rubrique de parcours.
C'est une "," qu'il faut à cet endroit !!!

Sinon, je ne vois pas pourquoi ça ne fonctionnerait pas. Il faut bien
sûr remplacer la table source de TableAjouteLigne en utilisant ta
requête et non le fichier client...

Tiens nous au courant,

Bruno

Après mure réflexion, Albert..ledébutant a écrit :
Tu as entièrement raison jean daniel, mais le problème, c'est que sans le
hexécuterequête,ça s'arrête au hlitpremier et ensuite, plus rien.Je n'ai
trouvé que ce moyen pour qu'une exécution se fasse.J'ai essayé un tas de
truc, mais rien y fait.Avec ce code suivant; ça reste figé.

HLitPremier(Req_Mail_SRPV.IDCLIENT)
TANTQUE PAS HEnDehors(Req_Mail_SRPV)
TableAjouteLigne(Table_Client,CLIENT.IDCLIENT, CLIENT.NomCli,
CLIENT.Precli, CLIENT.VilCli, CLIENT.FaxCli, CLIENT.EmailCli)
HLitSuivant(Req_Mail_SRPV.IDCLIENT)

@+
Albert



--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Posted on August, 19 2005 - 11:16 AM
Merci beaucoup, guillaume pour ton code; je vais essayer.
Pour répondre à jean Daniel, je fournis le code de ma requête:

SELECT CLIENT.IDCLIENT AS IDCLIENT,
CLIENT.NomCli AS NomCli,
CLIENT.Precli AS Precli,
CLIENT.VilCli AS VilCli,
CLIENT.FaxCli AS FaxCli,
CLIENT.EmailCli AS EmailCli,
Abonnement.TypeAbon AS TypeAbon
FROM Abonnement, CLIENT
WHERE Abonnement.IAbonne = CLIENT.IAbonne
AND ( Abonnement.TypeAbon = 2 OR Abonnement.TypeAbon = 4 )



(Avec ce code, ça ne fonctionne pas.)
TableSupprimeTout(Table_Client)
HExécuteRequête(Req_Mail_SRPV)
HLitPremier(Req_Mail_SRPV.IDCLIENT)
TANTQUE PAS HEnDehors(Req_Mail_SRPV)
TableAjouteLigne(Table_Client,CLIENT.IDCLIENT, CLIENT.NomCli, CLIENT.Precli, CLIENT.VilCli, CLIENT.FaxCli, CLIENT.EmailCli)
HLitSuivant(CLIENT.IDCLIENT)

FIN


@+ et je vous tiens au courant
Posted on August, 19 2005 - 11:42 AM
La syntaxe de guillaume est ok (Mille merci à toi, guillaume)

HExécuteRequête(Req_Mail_SRPV)
POUR TOUT Req_Mail_SRPV
TableAjouteLigne(Table_Client,Req_Mail_SRPV.IDCLIENT, Req_Mail_SRPV.NomCli, Req_Mail_SRPV.Precli,...
Req_Mail_SRPV.VilCli, Req_Mail_SRPV.FaxCli, Req_Mail_SRPV.EmailCli)
FIN

Bon dev à tous.
Albert
Posted on August, 19 2005 - 1:22 PM
bonjour,

à essayer Bon DEV

mettre en parametre dans la requete abonné (pAbonnement)

SELECT CLIENT.IDCLIENT AS IDCLIENT,
CLIENT.NomCli AS NomCli,
CLIENT.Precli AS Precli,
CLIENT.VilCli AS VilCli,
CLIENT.FaxCli AS FaxCli,
CLIENT.EmailCli AS EmailCli,
Abonnement.TypeAbon AS TypeAbon
FROM Abonnement, CLIENT
WHERE Abonnement.IAbonne = {pAbonnement}
AND ( Abonnement.TypeAbon = 2 OR Abonnement.TypeAbon = 4 )

...

R_TotMail.pAbonnement =CLIENT.IAbonne
HExécuteRequête(R_TotMail)

....
Posted on August, 19 2005 - 1:42 PM
Bien joué Bruno, je crois que mon souci depuis le départ a été que j'ai utilisé le "." après
le hlit et hlitsuivant, au lieu de .En tout cas, ça fonctionne aussi de cette façon là.
Désolé d'avoir fait tant de rafiu pour si peu.
Bonne continuation à votre équipe et à bientôt.
Albert.

Code complet:
SI recupligne = "SRPV" ALORS
TableSupprimeTout(Table_Client)
HExécuteRequête(Req_Mail_SRPV)
HLitPremier(Req_Mail_SRPV,IDCLIENT)
TANTQUE PAS HEnDehors(Req_Mail_SRPV)
TableAjouteLigne(Table_Client,Req_Mail_SRPV.IDCLIENT, Req_Mail_SRPV.NomCli, Req_Mail_SRPV.Precli,...
Req_Mail_SRPV.VilCli , Req_Mail_SRPV.FaxCli, Req_Mail_SRPV.EmailCli)
HLitSuivant(Req_Mail_SRPV,IDCLIENT)
FIN
FIN