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 15/06/2007, 09h59   #1
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Par défaut SET_ITEM contre SET_ITEM_INSTANCE

Bonjour,

J'ai une liste d'enregistrements qui comporte 5 champs et en fonction de la valeur du premier champ je dois rendre ou non accessible les autres.

J'avais dont fait un SET_ITEM_PROPERTY(...,ENABLED, PROPERTY_FALSE/TRUE), le problème étant que cela agissait sur toutes les lignes de mon bloc.

J'ai donc fait un SET_ITEM_INSTANCE_PROPERTY(..., CURRENT_RECORD, UPDATE_ALLOWED,PROPERTY_FALSE/TRUE), le ENABLED n'existant pas, mais cela ne fonctionne pas.

Si je refais le test du SET_ITEM_PROPERTY avec ce coup là UPDATE_ALLOWED cela ne fonctionne pas non plus, le UPDATE_ALLOWED ne semble pas possible. J'essaie de le faire sur le WHEN-VALIDATE-ITEM de mon premier champ.

Du coup je suis dans une impasse.

Avez-vous une idée ?

Merci
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 10h10   #2
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
J'ai trouvé une piste, c'est peut-être car mes champs sont obligatoire en base...

Je la suis et reviens.
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 10h26   #3
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Bon en fait il y avait 2 choses :

mon champ était obligatoire en base et j'étais en insert. Du coup j'ai basé le champ non obligatoire en base, je vais gérer cette propriété par l'appli.

En fait il faut que je fasse suivre un :

set_item_instance_property(...,REQUIRED, ...)
set_item_instance_property(...,UPDATED_ALLOWED, ...)
set_item_instance_property(...,INSERT_ALLOWED, ...)

Voilà.
Je laisse mon Post, il peut servir à d'autres personnes ayant le meme problème je pense.
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 10h58   #4
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Citation:
Envoyé par macben
mon champ était obligatoire en base et j'étais en insert. Du coup j'ai basé le champ non obligatoire en base, je vais gérer cette propriété par l'appli.
L'invocation de SET_ITEM_INSTANCE_PROPERTY n'a rien à voir avec le fait qu'un élément soit base table avec une contrainte ou non.

Et, le fait que l'utilisateur ne puisse pas rentrer une valeur dans une colonne nulle qui est base table avec une propriété NOT NULL est une erreur de conception de l'application.
D'ailleurs, si vous assignez une valeur par programme en maintenant l'interdiction pour l'utilisateur de saisir une valeur dans cette colonne alors vous ne devriez avoir aucune erreur.
Conclusion : il existe 3 solutions :
- soit permettre à l'utilisateur de saisir une valeur
- soit supprimer la contrainte sur la colonne non accessible par l'utilisateur
- soit positionner une valeur lorsque vous désactivez la colonne
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus 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 12h02.


 
 
 
 
Partenaires

Hébergement Web