|
Re: Fichierversecran |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Peut être du fait que vous ne connaissez pas les option que l'éditeur utilise pour exécuter votre requête.
Indiquez nous le code d'exécution de votre requête
Contribution le : 17/06/2005 11:17
|
|
|
Re: Fichierversecran |
|
Anonyme
|
Bonjour Voici le code lors du clic du bouton.
//////////////////////PARTIE BOUTEILLE//////////////////////////
SreqBte est une chaîne="SELECT "+...
"Bouteille.NumMesser AS NumMesser,"+...
"Bouteille.Observations AS Observations,"+...
"Bouteille.NumFabrication AS NumFabrication,"+...
"Bouteille.DateReforme AS DateReforme,"+...
"Bouteille.DateEpreuve AS DateEpreuve,"+...
"Bouteille.StopBtl AS StopBtl,"+...
"Bouteille.Rebut AS Rebut,"+...
"Bouteille.Vendue AS Vendue,"+...
"Bouteille.IDCadre AS IDCadre,"+...
"Lot.IDLot AS IDLot,"+...
"Lot.NumLot AS NumLot,"+...
"Lot.Categorie AS Categorie,"+...
"Lot.IDEmballage AS IDEmballageLot,"+...
"Lot.DateOrigine AS DateOrigine,"+...
"Fournisseur.Nom AS Fabricant,"+...
"Fournisseur.IDFournisseur,"+...
"Lot.PressionEpreuve AS PressionEpreuve,"+...
"Bouteille.CategorieActuel,"+...
"Lot.StopLot AS StopLot"+...
" FROM Bouteille,lot,Fournisseur where "+...
" Lot.IDLot=Bouteille.IDLot AND Fournisseur.IDFournisseur=lot.IDFournisseur"
b_filtre ,b_where,b_or est un booléen
b_where=True
//composition de la requete
SI CHP_NumMesser<>Null ALORS
SI b_where ALORS
SreqBte+=" AND Bouteille.NumMesser ="+ CHP_NumMesser
SINON
SreqBte+=" where Bouteille.NumMesser ="+ CHP_NumMesser
FIN
b_filtre=True
b_where=True
FIN
SI INTERRUPT_Rech[1] OU INTERRUPT_Rech[2] OU INTERRUPT_Rech[3] ALORS
cond est une chaîne
SI INTERRUPT_Rech[1] ALORS
cond=" Bouteille.StopBtl=1"
b_or=True
FIN
SI INTERRUPT_Rech[2] ALORS
SI b_or ALORS
cond+=" OR Bouteille.Rebut=1"
SINON
cond=" Bouteille.Rebut=1"
b_or=True
FIN
FIN
SI INTERRUPT_Rech[3] ALORS
SI b_or ALORS
cond+=" OR Bouteille.Vendue=1"
SINON
cond=" Bouteille.Vendue=1"
FIN
FIN
SI b_or ALORS
cond = " AND ("+cond+")"
SINON
cond =" AND "+ cond
FIN
SreqBte+= cond
FIN
SI b_filtre ALORS
SI HExécuteRequêteSQL(SresulBte,NomConnexion,hRequêteDéfaut,SreqBte) ALORS
Table_Bouteille1..FichierParcouru="SresulBte"
SINON
Info("erreur requete"+RC+HErreurInfo(hErrComplet))
FIN
SINON
HDésactiveFiltre(Bouteille)
Table_Bouteille1..FichierParcouru="Bouteille"
FIN
Le pire c'est que hier ca marchait bien du moins quand je faisais une recherche sur le numéro de bouteille. C'est juste que j'ai rajouté des criteres de recherche et la c'est plus allé du tout. Donc je suis revenu au point de depart telle qu'elle mais je m'aperçois que ca ne marche pas... Voyez-vous quelquechose que je ne fais pas bien ?
Contribution le : 17/06/2005 11:25
|
|
|
Re: Fichierversecran |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
i est un entier
//////////////////////PARTIE BOUTEILLE//////////////////////////
SreqBte est une chaîne=
[
SELECT
Bouteille.NumMesser AS NumMesser,
Bouteille.Observations AS Observations,
Bouteille.NumFabrication AS NumFabrication,
Bouteille.DateReforme AS DateReforme,
Bouteille.DateEpreuve AS DateEpreuve,
Bouteille.StopBtl AS StopBtl,
Bouteille.Rebut AS Rebut,
Bouteille.Vendue AS Vendue,
Bouteille.IDCadre AS IDCadre,
Lot.IDLot AS IDLot,
Lot.NumLot AS NumLot,
Lot.Categorie AS Categorie,
Lot.IDEmballage AS IDEmballageLot,
Lot.DateOrigine AS DateOrigine,
Fournisseur.Nom AS Fabricant,
Fournisseur.IDFournisseur,
Lot.PressionEpreuve AS PressionEpreuve,
Bouteille.CategorieActuel,
Lot.StopLot AS StopLot
FROM Bouteille,lot,Fournisseur
Where Lot.IDLot=Bouteille.IDLot
AND Fournisseur.IDFournisseur=lot.IDFournisseur
]
SreqBte += RC
Le WHERE est déjà intégré dans la requête donc plus besion de la variable b_where
SI CHP_NumMesser<>Null ALORS SreqBte+=" AND Bouteille.NumMesser ="+ CHP_NumMesser + " "
For i = 1 a 3
Si INTERRUPT_Rech[i] = Vrai Alors
Si i = 1 Alors : Cond += " Bouteille.StopBtl=1"
Si i = 2 Alors
Si Cond <> "" Alors Cond += " OR"
Cond += "Bouteille.Rebut=1"
Fin
Si i = 3 Alors
Si Cond <> "" Alors Cond += " OR"
Cond += " Bouteille.Vendue=1"
Fin
Fin
Fin
Si Cond <> "" alors
SreqBte+= " AND (" + cond + ") "
Fin
SI HExécuteRequêteSQL(SresulBte,NomConnexion,hRequêteDéfaut,SreqBte) ALORS
Table_Bouteille1..FichierParcouru="SresulBte"
SINON
Info("erreur requete"+RC+HErreurInfo(hErrComplet))
FIN
je ne vois pas ce que vient faire ici le HFiltre HFiltre est à utiliser sur une table mono fichier sinon on utilise plus HFiltre mais directement les Requêtes. Code saisie à la volée et peut comporter des erreurs
Contribution le : 17/06/2005 12:13
|
|
|
Re: Fichierversecran |
|
Anonyme
|
Bonjour,
J'ai testé cela et en fait ca donne le meme resultat que moi.
A savoir que apres l'execution de ce code la table affiche toujours tout les enregistremnts.
Par contre si je l'execute depuis l'editeur de requete Windev ca marche bien.
DOnc j'en deduis que y'a un probléme de liaison avec la table puisque la requete marche dans l'editeur ..
mais ou cherchez...
Contribution le : 17/06/2005 12:34
|
|
|
Re: Fichierversecran |
|
Anonyme
|
Bonjour, J'ai vraiment besoin d'aide parce que vraiment je comprends plus rien a l'informatique. j'ai minimisé ma requete voila ce que j'execute
SELECT Bouteille.NumMesser AS NumMesser,Bouteille.NumFabrication AS NumFabrication,Bouteille.DateReforme AS DateReforme,Bouteille.DateEpreuve AS DateEpreuve,Bouteille.StopBtl AS StopBtl,Bouteille.Rebut AS Rebut,Bouteille.Vendue AS Vendue,Bouteille.IDCadre AS IDCadre,Bouteille.CategorieActuel FROM Bouteille
where Bouteille.NumMesser =5
Donc je cherche la bouteille de NumMesser =5 et rien ne s'affiche dans la table. Et toujours biensur parce que la la requete c'est sur qu'elle est correcte ( a moins que je suis fou...)dans l'editeur de requete a l'execution elle marche... Dites moi je fais bien mon lien en ecrivant :
SI HExécuteRequêteSQL(SresulBte,NomConnexion,hRequêteDéfaut,SreqBte) ALORS Table_Bouteille1..FichierParcouru="SresulBte"
Parce que la je comprends pas. La requete est celle montré plus haut. La fonction HExecuteRequeteSql me renvoi vrai ( donc c bien passé) reste plus que la liason avec la rubrique FichierParcouru. A priori elle est faite. Le pire est que si je fais un trace de HnbEnr(SresulBte) ca me renvoi bien 1. Soit une bouteille trouvée!!! Mais a l'affichage ca ne met rien
Contribution le : 17/06/2005 13:03
|
|
|
Re: Fichierversecran |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Je ne serait que trop que conseiller que de créer une nouvelle fenêtre avec une nouvelle table et de ressaisir le code pour voir si il ne sagit pas d'un problème sur la fenetre car pour le principe je viens de tester et cela fonctionne correctement
Contribution le : 17/06/2005 14:06
|
|
|
Re: Fichierversecran |
|
Anonyme
|
Bonjour,
Bon visiblement la sélection des rubriques a afficher est importante pour la liaison avec la table.
Je vais pas tout expliquer parce que je ne suis pas sur de bien comprendre moimeme.
Donc la ca marche comme il faut.
Mise a part avec certains tri ou ca devient trés trés long.
Si vous pouvez marquer le prob resoulu c bon :)
Contribution le : 17/06/2005 14:28
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|