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 11/08/2007, 18h31   #1
Membre régulier
 
Avatar de scofield
 
Homme koss
Administrateur de base de données
Inscription : octobre 2006
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme koss

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2006
Messages : 179
Points : 78
Points : 78
Envoyer un message via MSN à scofield Envoyer un message via Skype™ à scofield
Par défaut comment faire des mise a jour après sélection colonne love !

salut ,

j'ai d'un coté des bouton de mise a jour supp etc pour un bloc(utilisateur).
et d'un autre la sélection de l'utilisateur qui se fait a l'aide d'une LOV.
mais voila : pas moyen de MAJ l'utilisateur sélectionné depuis la LOV .
je ne peut mettre a jour que quand je sélectionne a partir d'un Enter, suivie d'execute ;query
question :
comment peut-on MAJ l'enregistrement qu'on a sélectionné depuis la LOV.

et merci BCP
scofield est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2007, 18h35   #2
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
Un bloc à un statut et un seul.
Soit tu est en mode interrogation (enter-query) et ensuite après le execute query, ton bloc en en mode MAJ pour tous les enreg ramenés.
Soit tu es en mode normal (pas en mode enter-query) et toute ligne créée c'est de l'INSERT, toute ligne modifiée, c'est de l'UPDATE, toute ligne supprimée, c'est du DELETE.

Le seul moyen de mettre à jour, c'est de fetcher les enregistrement depuis la base par un execute query.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 03h49   #3
Membre régulier
 
Avatar de scofield
 
Homme koss
Administrateur de base de données
Inscription : octobre 2006
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme koss

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2006
Messages : 179
Points : 78
Points : 78
Envoyer un message via MSN à scofield Envoyer un message via Skype™ à scofield
mais voila , justement
en mod normal , je peut pas modifier l'enregistrement selectioné par la lov.
du coup si j'ai envie de modifier je fait enter et execute (pour ramener 1 ou +eur enregistrement "gymnastique") .Donc ma lov c'est de l'Art DECo .

pas moyen de fetcher avec une lov??
y 'a t-il un moyen de faire comme décrit plus haut(1er poste).

Ou ,je doit carrément mettre le mode enter query.
Selectionner l'enregistrement depuis la lov. Et après, mettre un bouton contenant Execute query; Pour pouvoir modifier!!
(vraiment tiré par les cheveux) .


ALORS !! mes cher codeur une idée!!.
scofield est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 09h07   #4
Membre éclairé
 
Inscription : août 2005
Messages : 316
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : août 2005
Messages : 316
Points : 342
Points : 342
Une LOV n'est la que pour selectionner un code dans une liste de valeur existente, si le souhait est de pouvoir modifier un ensemble d'enregistrement
Il faut mettre le block en enter_query, l'utilisateur renseignes le ou les criteres ou rien, execute_query et là par next_record ou previous_record avec un block en modif autorisé, il peut modifier les enregistrements désirés.
Ou alors si l'enrg n'a pas trop de colonne il suffit d'afficher sous forme de tableau multi-record pour plus de visibilité.
c.langlet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 09h40   #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
En fait si tu mets ta lov dans un bloc non basé (avec l'option de la lov skip à yes), un simple trigger when-new-item-instance teste si le champ est not null et fait l'execute query.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 17h17   #6
Membre régulier
 
Avatar de scofield
 
Homme koss
Administrateur de base de données
Inscription : octobre 2006
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme koss

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2006
Messages : 179
Points : 78
Points : 78
Envoyer un message via MSN à scofield Envoyer un message via Skype™ à scofield
Par défaut he

AH ca ça m parle mcm,

voyez vous, si ça ne tenait qu'a moi je ferait la recherche et modification en classique(semi-manuelle).a la bien!!
mais ,comme c'est pour l'utilisateur .faudrais que ça soit en ne peut plus Transparent!

-Donc d'après toi si je fait ça , après vérification du champ l'execute query s'active (ou pas).
mais , au préalable .le mode doit être en enter_query .!
puisque, si c pas le cas .pas la peine de mettre quelque chose sur le champ .sachant qui va me ramener toute la compagnie (les enregistrement)!!

ce qui veut dire , vue qu'au final moi je doit enlever le menu standard ,
Q'un bouton doit remplacer le ""enter_query"" pas très IHM.
some idea ??
scofield est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 17h41   #7
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:
Envoyé par scofield
mais , au préalable .le mode doit être en enter_query .!
Pas du tout :
Code :
1
2
3
GO_BLOCK('BL1');
SET_BLOCK_PROPERTY('BL1', DEFAULT_WHERE, 'utilisateur=:bl2.util');
EXECUTE_QUERY;
et le SET_BLOCK je l'ai mis si le WHERE du bloc peut changer.
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 14h01   #8
Membre régulier
 
Avatar de scofield
 
Homme koss
Administrateur de base de données
Inscription : octobre 2006
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme koss

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2006
Messages : 179
Points : 78
Points : 78
Envoyer un message via MSN à scofield Envoyer un message via Skype™ à scofield
Par défaut :)

je vais tester ça ,aujourd'huis .(ça a l'air pas mal )au faite si je comprend bien .

1-je met la lov dans un bloc non basé option skip a yes.

2-je fait le teste dans le trigger wen-new-item-instance (du champ qui reçoit la valeur LOV) ...if :text2 is not nul then execute_query(un truc cm ça).

3-
Code :
1
2
3
GO_BLOCK('BL1');
SET_BLOCK_PROPERTY('BL1', DEFAULT_WHERE, 'utilisateur=:bl2.util');
EXECUTE_QUERY;
je le met dans when-bouton-pressed d'un bouton!(sur lequel on appuis après que la lov ait envoyé une valeur a mon champ), ou du champ text2 .?

cela dit , c'est pas ça qui m'empêcheras de bidouiller toute a l'heure .faudrais , pas être cinique en même temps .

MERCI ENCORE , JE FERAIT PART DU RESULTAT.
scofield est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 17h56   #9
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
3 dans 2

en fait, le GO_BLOCK est une procédure restreinte (tu peux pas le faire dans les WHEN VALIDATE, etc..) Mais tu peux dans les WHEN-XXX-INSTANCE
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2007, 00h30   #10
Membre régulier
 
Avatar de scofield
 
Homme koss
Administrateur de base de données
Inscription : octobre 2006
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme koss

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2006
Messages : 179
Points : 78
Points : 78
Envoyer un message via MSN à scofield Envoyer un message via Skype™ à scofield
Par défaut eh..

re ,

désolé d'avoir tardé ! j'ai essayé aujourd'hui ceci :

1- la lov , ne peut pas se mettre dans un bloc , elle appartient au même module c'est tout (j'ai même essayé de la déplacer )
mais le skip est quand même a yes.
-j'ai donc mis plutôt le bouton qui appel la lov dans un bloc non basé au cas ou .
-le code de when -new-item-instance :
Code :
1
2
3
4
5
IF :text2 IS NOT NULL then 
go_block('bl1')
SET_BLOCK_PROPERTY('BL1', DEFAULT_WHERE, 'utilisateur=:bl2.util');
EXECUTE_QUERY;
end IF;
et LA comme d'habitude : il me demande de sauvegarder l'enregistrement ou d'annuler.

Donc l'exécute_Q du code ne prend pas en compte le contenu du champ :text2 dans son exécution.
REPONSES SONT TJR BIENVENUES
scofield est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2007, 11h51   #11
Membre régulier
 
Avatar de scofield
 
Homme koss
Administrateur de base de données
Inscription : octobre 2006
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme koss

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2006
Messages : 179
Points : 78
Points : 78
Envoyer un message via MSN à scofield Envoyer un message via Skype™ à scofield
Par défaut hey

MCM EST demandé a la réception en tout urgence !!
scofield est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 21h02   #12
Membre régulier
 
Avatar de scofield
 
Homme koss
Administrateur de base de données
Inscription : octobre 2006
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme koss

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2006
Messages : 179
Points : 78
Points : 78
Envoyer un message via MSN à scofield Envoyer un message via Skype™ à scofield
Par défaut E O!

SVP , si quelqu'un a une idée sur ça , j'arrive pas a avancer

je suis dans l'embarras
scofield est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2007, 21h16   #13
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Essayez en anglais sur un forum OTN qui eux "suivent le soleil" et donc ne dorment jamais ...
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2007, 11h15   #14
Membre régulier
 
Avatar de scofield
 
Homme koss
Administrateur de base de données
Inscription : octobre 2006
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme koss

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : octobre 2006
Messages : 179
Points : 78
Points : 78
Envoyer un message via MSN à scofield Envoyer un message via Skype™ à scofield
Par défaut we we

ta raison , mais c'est plutôt le soleil qui les suit.
bon voila , j'ai trouvé un topic LOV FOR QUERY
et on melangant avec , les dires de MCM .

j'ai finalement , mis un pre_query ou je spécifie le
Citation:
set_block_property('blok',default_where,colone=:text2);
et puis j'ai mis dans un TRigger WB_pressed d'un bouton apartenant a un block non basé 'blockx'(
Citation:
if show_lov('lovx') then go_block('block'); execute query;
donc , un block additionnele avec un texte(qui reçoit la colonne de la lov) et un bouton(qui appel la lov et execute la query)
SUJET RESOLU , MERCI A TOUT CEUX QUI ONT CONTRIBUE..m...c...m.............
scofield 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 23h29.


 
 
 
 
Partenaires

Hébergement Web