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 13/11/2007, 14h22   #1
Invité de passage
 
Inscription : janvier 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 8
Points : 0
Points : 0
Par défaut récuperer le nombre de case cochée

Voila mon probleme
A partir d'infos saisis dans une fenetre, j'ouvre une autre fenetre en cliquant sur un bouton.Une liste avec des données s'affichent afin de cocher celle que je dois reprendre (pas plus de 5).

Je ne sais pas comment à partir de cette liste à cocher connaitre le nombre de case coché afin de limiter celui-ci à 5 et de mettre un message d'avertissement.
Pourriez-vous m'aider
meredith est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 14h52   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
pourquoi pas une variable que tu incrémentes à chaque fois que coche une case ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 16h12   #3
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Est ce que tes cases à cocher correspondent à un seule case à cocher dans un block multi-enregistrement ?
Si oui
- Dans le block tu fais un item non basé calculé (Formule) qui vaut 1 si coché , 0 si pas coché (attention à la propriété QUERY_ALL_RECORDS du block à positionner à TRUE)
- Dans un block de controle (single record, non basé) tu fait un item calculé (Summary/Sum) de l'item créé ci dessus : sa valeur te donneras le nombre de case coché dans le block
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 16h34   #4
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
D'accord avec Garuda. Le champ calculé c'est net et sans bavure.
__________________
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 13/11/2007, 16h36   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
mais le champ en question doit reparcourir tous les enregistrements ou il est alimenté "en live" ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 16h48   #6
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Citation:
Envoyé par orafrance Voir le message
mais le champ en question doit reparcourir tous les enregistrements ou il est alimenté "en live" ?
Soit ta case à cocher :block1.chk
dans le meme block faire un item :block1.flag_chk qui vaut
  • 1 si :block1.chk est coché
  • 0 si :block1.chk n'est pas coché
NB : ce champ est inutile si les valeurs possibles de :block1.chk sont déja 1 ou 0

Ceci peut se faire soit
  • dans le trigger du bloc (post_query) et dans le trigger "WHEN-CHECK-BOX_CHANGED" de :block1.chk
  • ou en faisant de :block1.flag_chk un champ calculé (Formula). Dans la propriété "formule" de cet item mettre par exemple "CALCUL_FLAG" ou "calcul_flag" est une fonction du module qui renvoie 1 ou 0 selon la valeur de :block1.chk
Faire ensuite dans un autre block un champs calculé (Summary/Count) basé sur :block1.flag_chk

Le gros avantage de cette solution est de rendre transparente la mise à jour du compteur (aucun trigger à mettre à jour, aucune boucle).
Les UPDATE, DELETE et autres QUERY sont immédiatement répercutés dans le compteur.
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 17h09   #7
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 453
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 453
Points : 4 215
Points : 4 215
Le seul désavantage de ceci c'est le QUERY_ALL_RECORDS=YES
Quand tu as 1000 lignes, ça rame au query dans ce seul cas, la solution de la variable est mieux.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 17h20   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par McM Voir le message
Le seul désavantage de ceci c'est le QUERY_ALL_RECORDS=YES
Quand tu as 1000 lignes, ça rame au query dans ce seul cas, la solution de la variable est mieux.

c'est bien où je voulais en venir, sinon la solution du champ est en effet plus trivial

Citation:
Le gros avantage de cette solution est de rendre transparente la mise à jour du compteur (aucun trigger à mettre à jour, aucune boucle).
sauf si tu choisis la 1° solution et dans ce cas, personnellement je préfère la variable qui évite l'ajoue d'un champ qui allourdi la page
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2007, 16h44   #9
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Ou est passé(e?) meredith ?
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h14.


 
 
 
 
Partenaires

Hébergement Web