Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/04/2008, 12h18   #1
Invité de passage
 
Inscription : avril 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 11
Points : 3
Points : 3
Par défaut Problem de loop

bonjour
j'ai un souci avec un code qui n'arrive pas a contrôlé toute la table.
j'explique:
comme j'ai une table qui s'appelle ordre_de_service, et la 2éme suivie_arret et qui est une table lié a la premiere qui ve dire on peut avoir plusieurs enregistrement dans de suivie_arret sous ordre_de_service.
dans la table ordre_de_service contient une colone 'ecart' et un 'DMCT' et 'DDC'.
alors que la table suivie_arret contient une colonne 'arret' et une autre 'Indicateur' celle ci contient 2 option DDC et DMCT.
j'ai creé un bouton pour me calculer un" DMCT= ecart - arret ", et si arret est egale a 'null' "DMCT=ecart".
et si indicateur est egale 'DDC' donc "DMCT=ecart".


le code et le suivant:


begin
:ORDRE_DE_SERVICE.DMCT := :ECART-:SUIVIE_ARRET.ARRET;

if :SUIVIE_ARRET.ARRET is null
then :ORDRE_DE_SERVICE.DMCT := :ECART;
else if :SUIVIE_ARRET.INDICATEUR = 'DDC'
then :ORDRE_DE_SERVICE.DMCT := :ECART;

end if;
end if;

end;

le probleme c que le code lis seulement le premier enregistrement de suivie_arret.
j'ai essayer le loop mais k'ai pas trouver le bon code.
aminho10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 12h22   #2
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 459
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 459
Points : 4 226
Points : 4 226
T'es dans le bon forum ?
Ca m'a l'air d'être du Forms, non ? Version ?

Sinon, DMCT est basé ou pas ?
Si non, alors un simple item "Formula" et c'est bon, tout se calcule automatiquement.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 12h43   #3
Invité de passage
 
Inscription : avril 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 11
Points : 3
Points : 3
oui c sur oracle forms 10g.
DMCT basé ve dire exist sur la base si c sa ben oui.
aminho10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h17   #4
Invité de passage
 
Inscription : avril 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 11
Points : 3
Points : 3
j'ai essayer encore se code mais le loop je pense ne s'arrete pas
begin
:ORDRE_DE_SERVICE.DMCT := :ECART-:SUIVIE_ARRET.ARRET;

if :SUIVIE_ARRET.ARRET is null
then :ORDRE_DE_SERVICE.DMCT := :ECART;
else if :SUIVIE_ARRET.INDICATEUR = 'DDC'
then :ORDRE_DE_SERVICE.DMCT := :ECART;

loop :ORDRE_DE_SERVICE.DMCT := :ECART-:SUIVIE_ARRET.ARRET;
end loop;
end if;
end if;

end;
le loop until ne se compile pas.
aminho10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h37   #5
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 459
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 459
Points : 4 226
Points : 4 226
Ben c'est normal, un loop end loop ne s'arrête jamais, quelque soit le langage de programmation.

Dans forms, si tu lui dit pas de changer de record, il va pas le faire tout seul.
Code :
1
2
3
4
5
6
7
GO_BLOCK('MON_BLOCK');
FIRST_RECORD;
LOOP
 :block.champ := 1;
 EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
 NEXT_RECORD;
END LOOP;
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h47   #6
Invité de passage
 
Inscription : avril 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 11
Points : 3
Points : 3
enfin sa a l'air de marché
merci BCP
aminho10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h00.


 
 
 
 
Partenaires

Hébergement Web