Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
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 26/08/2008, 14h50   #1
Membre habitué
 
Inscription : avril 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 320
Points : 102
Points : 102
Par défaut Impossible de supprimer des lignes

Bonjour,

Pourriez-vous m'aider sur un probléme de supression.
Voila j'ai un bloc basé, et je voudrais supprimer les enregistrement vides
En effet, L'utilisateur peut creer des lignes sans valeur.
Voila ce que j'ai essayé de faire, mais le soucis c'est que cela me supprime bien les lignes vides sauf une :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
FIRST_RECORD ;
WHILE :SYSTEM.LAST_RECORD='FALSE'
	LOOP 
		IF :BLOC.ITEM IS NULL THEN
			delete_record ;
			commit_form ;
		END IF ;
		NEXT_RECORD ;
	END LOOP ;
IF :BLOC.ITEM IS NULL THEN
 delete_record ;
 commit_form ;
END IF ;
Merci pour votre aide.
__________________
Va vers ton risque, à te regarder ils s'habitueront.
decksroy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 15h01   #2
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 534
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 534
Points : 6 471
Points : 6 471
tester le dernier record en fin et pas au début.

remplacer while du début par loop puis exit when en fin de block.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 16h15   #3
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
Ca marche si 2 lignes qui se suivent sont à NULL ?
Parce qu'il me semble que delete_record supprime l'enregistrement et que tu passes à l'enregistrement suivant automatiquement. Le Next_record dans le loop changera à nouveau de record.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 17h41   #4
Membre habitué
 
Inscription : avril 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 320
Points : 102
Points : 102
Merci pour vos réponses.
J'ai donc mis le LOOP et le EXIT WHEN à la place de WHILE.

McM ! tu as vu juste, après le delete record je passe à l'enregistrement suivant
donc s'il est à nul je ne le supprime pas.C'est ici que je dois résoudre le probléme.

J'ai donc toujours la même problème.
__________________
Va vers ton risque, à te regarder ils s'habitueront.
decksroy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 17h46   #5
Membre habitué
 
Inscription : avril 2004
Messages : 320
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 320
Points : 102
Points : 102
Pour résoudre le problème j'ai remplacé le premier IF par un WHILE.
encore merci.
__________________
Va vers ton risque, à te regarder ils s'habitueront.
decksroy 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 21h59.


 
 
 
 
Partenaires

Hébergement Web