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 08/07/2011, 11h34   #1
Invité de passage
 
Inscription : juin 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 6
Points : 1
Points : 1
Par défaut Clause where execute_query

Bonjour à tous

Je travaille avec forms 9i et voici mon problème :
J'ai un forms qui affiche les données d'une table (classique). Sur cet écran j'ai la possibilité de faire une recherche de la façon suivante : j'entre mon critère de recherche dans le champs et j'utilise la touche correspondant à KEY_EXEQRY et tout se passe bien puisque mes données s'affichent en tenant compte de ce critère.
Par exemple mon Forms affiche tous les employés (nom et coordonnée), j'utilise la touche KEY_ENTQRY et dans le champs nom je saisis A% et en appuyant sur la touche KEY_EXEQRY. Et j'affiche les employés dont le nom commence par un A. Je voudrais savoir comment est-ce que je peux récupérer la valeur de ce paramètre une fois la requête exécuter?
En gros comment connaitre la clause WHERE de la requete exécuter par Execute_Query?

J'ai essayé (mais peut-être mal utilisé) get_block_property('MON_BLOCK' DEFAULT_WHERE) et ça ne semble pas fonctionné.

J'ai aussi récupéré la requête grâce à :SYSTEM.LAST_QUERY mais faire des substr et des ltrim/rtrim pour récupérer juste la clause where ce n'est pas très propre.

Est-ce que vous pouvez m'aider?
Je vous remercie par avance
matig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 11h45   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Pourquoi ne pas simplement lire la valeur de l'item ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 11h53   #3
Invité de passage
 
Inscription : juin 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2011
Messages : 6
Points : 1
Points : 1
C'est pour le moment la solution que je vais choisir mais ça m'oblige à reconstruire la clause where alors qu'elle est déjà construite et je me dis qu'elle doit bien être quelque part.

Merci
matig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 14h58   #4
Invité de passage
 
Inscription : mars 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 3
Points : 3
Points : 3
Sinon essaye GET_BLOCK_PROPERTY('TON_BLOCK',LAST_QUERY)

mais je ne pense pas qu'il y est de possibilité d'éviter les SUBSTR et les TRIM
Lord of the Dance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2011, 15h35   #5
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
La clause WHERE originale peut être obtenu avec Get_Block_Property( DEFAULT_WHERE), donc il suffit d'y ajouter votre clause avec un AND
__________________
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
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h06.


 
 
 
 
Partenaires

Hébergement Web