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 24/07/2007, 03h27   #1
Futur Membre du Club
 
Inscription : décembre 2006
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 47
Points : 18
Points : 18
Par défaut Assignation d'une valeur à un champs d'un bloc basé

Bonjour,

Je travaille sur un Paramétrage d'application en Forms 6i.

Je me trouve à assigner une valeur à un champs de mon bloc basé, mais ce champs, je ne le connais qu'au trvers d'une variable et un tableau genre:

VAR := ':BLOC_BASE.' || TAB(I);

TAB étant un tableau qui contient mes champs de mon bloc basé. A un moment donné, je sais seulement, que ce qui est définit dans VAR doit recevoir une valeur, pour une MAJ par exemple.

En Forms, je ne peux pas faire :BLOC_BASE.|| TAB(I) := valeur;

Je passe par du dynamique en créant une proc (contenant I-O, contenu I-O)
en passant en paramètre les 2 éléments dont j'ai besoin.

V_requete := 'Select ' || contenu || ' FROM DUAL ' ;

EXECUTE IMMEDIATE V_requete INTO contenant;

Le contenant, c'est VAR.
Le contenu, c'est 10 par exemple;

Lorsqu'après la procédure qui se déroule sans exception je fais dans forms

message (:BLOC_BASE.nom_du_champs) , je n'ai rien.

Pouvez - vous me dire comment faire cette assignation un peu particulière.

Merci

Paxaranne,
Paxaranne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2007, 09h02   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Tu as la fonction name_in qui sert à faire ce que tu veux faire.
Code :
v_contenant := name_in ('BLOC.' || TAB(1));
Merci à l'avenir de penser à utiliser les balises code (# dans la barre d'outils)
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2007, 09h21   #3
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Citation:
En Forms, je ne peux pas faire :BLOC_BASE.|| TAB(I) := valeur;
Code :
COPY(valeur, 'BLOC_BASE.' || TAB(I));
On peut utiliser en plus NAME_IN
Code :
COPY(NAME_IN('BLOC_BASE.' || TAB(I - 1)), 'BLOC_BASE.' || TAB(I));
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2007, 15h21   #4
Futur Membre du Club
 
Inscription : décembre 2006
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 47
Points : 18
Points : 18
Par défaut Merci

Merci beaucoup les gars.

C'est fou ce que en 1s cette instruction COPY réalise ce que j'ai passé 3H à chercher et me casser la tête à faire de l'execute immediate.

Je vous remercie beaucoup.

Je ne sais pas encore ce que fait la balise #. Je trouverai

Merci et a+,

Paxaranne,
Paxaranne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2007, 15h39   #5
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Si c'est résolu faut cliquer sur le bouton
Pour le #, faut éditer ton premier message et cliquer sur # qui est à droite de la ligne d'icones juste au dessus du texte que tu tappes.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM 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 12h34.


 
 
 
 
Partenaires

Hébergement Web