|
Iniciado por mbarnabo, 26,oct. 2004 19:41 - 5 respuestas |
| |
| | | |
|
| |
Publicado el 26,octubre 2004 - 19:41 |
Bonjour,
J'essaye de faire la manip suivante : Je regarde dans une table si elle contient un ensemble d'éléments. Si les éléments ne sont pas présent, je dois remplir cette table avec les éléments contenus dans une autre table. D'ou ce code:
ReqControle1,ReqControle2 sont des Sources de Données Monsql est une chaîne Ressql est un booléen Monsql = "SELECT DISTINCT Resultat_Controle.Code,Resultat_Controle.Numero_OF,Resultat_Controle.Lot FROM Resultat_Controle RIGHT JOIN Definition_Controle ON Resultat_Controle.Code = Definition_Controle.Code WHERE Definition_Controle.Etape=" + PTCONT + " AND Resultat_Controle.Numero_OF='" + NOOF + "' AND Resultat_Controle.Lot_PF='" + NOLOT + "' AND Resultat_Controle.Valeur Is Null AND Definition_Controle.Controle_Actif=True" Ressql=HExécuteRequêteSQL(ReqControle1,Monsql) SI Ressql=Faux ALORS Monsql = "SELECT Definition_Controle.Code FROM Definition_Controle WHERE Chaine_Fabrication=" + CHAFA +" AND Etape=" + PTCONT Ressql=HExécuteRequêteSQL(ReqControle2,Monsql) SI Ressql=Vrai ALORS HLitPremier(ReqControle2) TANTQUE PAS HEnDehors Monsql = "SELECT Code,Numero_OF,Lot FROM Resultat_Controle" Ressql=HExécuteRequêteSQL(ReqControle1,Monsql) ReqControle1.Code =ReqControle2.Code ReqControle1.Numero_OF =NOOF ReqControle1.Lot =NOLOT SI PAS HAjoute(ReqControle1) ALORS Erreur ("erreur ajout ") FIN HLitSuivant(ReqControle2) FIN SINON Erreur("Erreur SQL : " + HErreurInfo()) FIN FIN
Lors de l'execution, je n'ai pas d'erreur mais le fichier est vide.
D'avance merci |
| |
| |
| | | |
|
| | |
| |
Publicado el 26,octubre 2004 - 23:46 |
"Michel Barnabon" <mbarnabo@club-internet.Fr> écrivait news:417e6695$1 @news.pcsoft.fr:
> Ressql=HEx‚cuteRequˆteSQL(ReqControle1,Monsql)
Salut,
Il faut le flag hModifieFichier !
Ressql=HEx‚cuteRequêteSQL(ReqControle1,HModifieFichier,Monsql)
Ou mieux encore une modification directe des rubrique du fichier et Hajoute sur le fichier !
-- En esperant t'avoir aidé. ted |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,octubre 2004 - 15:14 |
Merci mais si tu regarde bien, mon code contient une modification des rubriques et un Hajoute.
Michel |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,octubre 2004 - 16:31 |
A moins que tu n'es surchargé la fonction HAjoute() celle-ci ne renvoie pas de valeur, donc ton test ne peut pas fonctionner, si il y a une erreur, tu ne la verras pas. J'ai fait un test, il n'y a pas d'erreur de compil ?!?
Yves
"Michel Barnabon" <mbarnabo@club-internet.Fr> a écrit dans le message de news: 417e6695$1@news.pcsoft.fr...
Bonjour,
J'essaye de faire la manip suivante : Je regarde dans une table si elle contient un ensemble d'éléments. Si les éléments ne sont pas présent, je dois remplir cette table avec les
éléments contenus dans une autre table.
D'ou ce code:
ReqControle1,ReqControle2 sont des Sources de Données Monsql est une chaîne Ressql est un booléen Monsql = "SELECT DISTINCT Resultat_Controle.Code,Resultat_Controle.Numero_OF,Resultat_Controle.Lot FROM Resultat_Controle RIGHT JOIN Definition_Controle ON Resultat_Controle.Code = Definition_Controle.Code WHERE Definition_Controle.Etape=" + PTCONT + " AND Resultat_Controle.Numero_OF='" + NOOF + "' AND Resultat_Controle.Lot_PF='" + NOLOT + "' AND Resultat_Controle.Valeur Is Null AND Definition_Controle.Controle_Actif=True"
Ressql=HExécuteRequêteSQL(ReqControle1,Monsql) SI Ressql=Faux ALORS Monsql = "SELECT Definition_Controle.Code FROM Definition_Controle WHERE Chaine_Fabrication=" + CHAFA +" AND Etape=" + PTCONT
Ressql=HExécuteRequêteSQL(ReqControle2,Monsql) SI Ressql=Vrai ALORS HLitPremier(ReqControle2) TANTQUE PAS HEnDehors Monsql = "SELECT Code,Numero_OF,Lot FROM Resultat_Controle"
Ressql=HExécuteRequêteSQL(ReqControle1,Monsql) ReqControle1.Code =ReqControle2.Code ReqControle1.Numero_OF =NOOF ReqControle1.Lot =NOLOT SI PAS HAjoute(ReqControle1) ALORS Erreur ("erreur ajout ") FIN HLitSuivant(ReqControle2) FIN SINON Erreur("Erreur SQL : " + HErreurInfo()) FIN FIN
Lors de l'execution, je n'ai pas d'erreur mais le fichier est vide.
D'avance merci
|
| |
| |
| | | |
|
| | |
| |
Publicado el 27,octubre 2004 - 16:54 |
Autant pour moi ! Utilisation avancée : la fonction Hajoute() peut renvoyer un résultat Quand je dis que l'on ne lit pas assez l'aide, je ferai mieux de me relire moi-même.
sinon l'aide de Hajoute() concernant les requêtes dit ceci : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Quel que soit le mode d'exécution de la requête (avec ou sans l'option hAvecFiltre), l'ajout d'enregistrement dans une requête n'est possible que pour les requêtes mono fichier. Les rubriques calculées précisées lors de l'ajout sont ignorées. Elles sont automatiquement calculées.
Attention :
Tout ajout dans une requête utilisant les groupes ou les agrégats est interdit.
La gestion de l'intégrité et des doublons n'est pas réalisée lors d'opérations sur les requêtes multi-fichiers : il est conseillé d'utiliser les transactions pour éviter tout problème.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Je ne suis pas un expert des reqêtes mais j'ai vu 'JOIN' donc une jointure
et dans ce cas ta requête est multi-fichier.
Si je ne me suis pas trompé une fois de plus.
Yves
"Yves.83" <_yves.piot.83@wanadoo.fr (S.p_a.m)> a écrit dans le message de news: 417f8c51$1@news.pcsoft.fr...
A moins que tu n'es surchargé la fonction HAjoute() celle-ci ne renvoie pas de valeur, donc ton test ne peut pas fonctionner, si il y a une erreur, tu ne la verras pas. J'ai fait un test, il n'y a pas d'erreur de compil ?!? Yves "Michel Barnabon" <mbarnabo@club-internet.Fr> a écrit dans le message de news: 417e6695$1@news.pcsoft.fr...
Bonjour,
J'essaye de faire la manip suivante : Je regarde dans une table si elle contient un ensemble d'éléments. Si les éléments ne sont pas présent, je dois remplir cette table avec
les
éléments contenus dans une autre table. D'ou ce code:
ReqControle1,ReqControle2 sont des Sources de Données Monsql est une chaîne Ressql est un booléen Monsql = "SELECT DISTINCT Resultat_Controle.Code,Resultat_Controle.Numero_OF,Resultat_Controle.Lot FROM Resultat_Controle RIGHT JOIN Definition_Controle ON Resultat_Controle.Code = Definition_Controle.Code WHERE Definition_Controle.Etape=" + PTCONT + " AND Resultat_Controle.Numero_OF='"
+ NOOF + "' AND Resultat_Controle.Lot_PF='" + NOLOT + "' AND Resultat_Controle.Valeur Is Null AND Definition_Controle.Controle_Actif=True" Ressql=HExécuteRequêteSQL(ReqControle1,Monsql) SI Ressql=Faux ALORS Monsql = "SELECT Definition_Controle.Code FROM Definition_Controle WHERE Chaine_Fabrication=" + CHAFA +" AND Etape=" + PTCONT Ressql=HExécuteRequêteSQL(ReqControle2,Monsql) SI Ressql=Vrai ALORS HLitPremier(ReqControle2) TANTQUE PAS HEnDehors Monsql = "SELECT Code,Numero_OF,Lot FROM Resultat_Controle" Ressql=HExécuteRequêteSQL(ReqControle1,Monsql) ReqControle1.Code =ReqControle2.Code ReqControle1.Numero_OF =NOOF ReqControle1.Lot =NOLOT SI PAS HAjoute(ReqControle1) ALORS Erreur ("erreur ajout ") FIN HLitSuivant(ReqControle2) FIN SINON Erreur("Erreur SQL : " + HErreurInfo()) FIN FIN
Lors de l'execution, je n'ai pas d'erreur mais le fichier est vide.
D'avance merci
begin 666 smallblue.gif M1TE&.#EA"@`*`-7_`,# P!P30"4:4AL3.A\60R 71"<<6!L3/#0F=3<H>2TA M8RP@8#$D:B4;4"$81RP@7B4;3S<I=B\C91@2-#,F;#XP>T,TA3DM;51%F"PD M359(E5-(A&99H3LU5R 821P5/BTE6%]7ADU(:&->?@`````````````````` M```````````````````````````````````````````````````````````` M`````````````````````````````````"'Y! $`````+ `````*``H`0 8P M0(!P2"2..J+B!L&I/ 20HB5"*88,$$=@D"EZAQI,@K$@7B2*1(-0(((\G\GA %6PP"`#L` ` end |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,octubre 2004 - 22:25 |
"Michel Barnabon" <mbarnabo@club-internet.Fr> écrivait news:417f7992$1@news.pcsoft.fr:
Merci mais si tu regarde bien, mon code contient une modification des rubriques et un Hajoute.
Salut,
Hajoute sur une requête pour ajouter dans le fichier, il faut bien le flag hModifieFichier. De plus comme déjà dit je te conseille de faire l'ajout directement sur le fichier et pas sur la requête ! Si tu veux faire une modif/ajout via requête fait une requete de modif/ajout : UPDATE/INSERT INTO
-- En esperant t'avoir aidé. ted |
| |
| |
| | | |
|
| | | | |
| | |
|