Le site des développeurs francophones APEX - Oracle Application Express
Vous n'êtes pas identifié(e).
Bienvenue sur le forum Oracle APEX
S'il s'agit de votre première visite, nous vous invitons à consulter la FAQ en cliquant sur le lien ci-dessous. Vous pouvez poster ici toutes vos questions sur l'installation, le développement (composants clients et serveurs), l'administration des instances Oracle APEX. Par ailleurs, ce forum diffuse les annonces et actualités relatives à Oracle APEX.
Oracle APEX 4.1
Oracle APEX 4.1 est disponible depuis le 24 août 2011.
Oracle APEX 4.0
Oracle APEX 4.0 est disponible depuis le 23 juin 2010. Il existe 2 distributions, une distribution en langue anglaise uniquement et une distribution multilingue.
Pages :: 1
Bonjour à tous,
Depuis peu, je me suis mis à APEX (4.0). Je tente de mettre une valeur par défault à une select list qui est présente sur ma page.
Explication :
J'ai une LOV contenant une liste de projet qui sont afficher dans une select liste. Je sauvegarde la valeur de cette liste (dans un autre champ d'une table de ma base de donné). Ma LOV est utilisé sur toutes les pages de mon application. Je souhaiterai qu'à chaque changement de page, la valeur précédente de ma LOV soit reprit dans ma Select list. Ceci doit être valable pour le passage de n'importe quel page à une autre.
Je ne sais vraiment pas vraiment quoi faire... J'ai essayé beaucoup de chose farfelu qui serai long et compliqué a vous expliquer.
Avez vous, s'il vous plait, une idée pour résoudre cette fabuleuse egnigme!
Thibault
Hors ligne
Bonjour,
Si j'ai bien compris ta question, je pense que dans la partie source de ta LOV, tu peux rajouter une requête sql qui va chercher ta valeur stockée en base
Edit du champ qui contient ta liste, puis tu vas dans la partie source, et tu mets la requête SQL
Hors ligne
Bonjour,
merci pour votre réponse. Je pense avoir trouvé une solution à mon probléme :
La requête SQL permettant d'aller chercher ma valeur souhaité dans la base de donnée fonctionne correctement depuis plusieurs jours. Mais il n'est pas possible de passer une requête SQL dans la valeur par défaut d'une Select List.
A savoir : La valeur par défaut attendu dans une select liste est la valeur de Retour de votre LOV (Et non la valeur d'affichage)
Il m'a donc fallu faire une fonction PLSQL qui me retourné la valeur bonne attendu. Pour que cette valeur s'affiche à chaque rechargement de la page, il ne faut pas exécuter la fonction dans le champ 'valeur par défaut' mais dans le champ 'valeur et expression de la source' avec les parametres suivant :
- Source utilisée : Toujours en remplacant les valeurs existantes dans le statut de session
- Type de source : Expression ou fonction PL/SQL
- Gérer le statut de session : par Session.
Malheureusement, ceci n'est qu'un petit point de mon probléme globale :
La valeur choisit dans la select liste doit s'enregistrer à chaque fois que l'utilisateur choisit une valeur. Je n'ai pas encore trouver s'il fallait maintenant faire une requete SQL (Ma requête existe déjà et fonctionne trés bien mais je ne sais pas ou la mettre) ou faire une procédure PLSQL (Puisque je ne peut pas faire de fonction PLSQL, en effet, celle-ci ne retourne rien.). Savez-vous s'il faut créer une procedure, validation? Comment faire pour qu'à chaque changement de valeur de ma select list une fonction SQL (un UPDATE dans ce cas) ce lance?
Merci pour votre réponse de cette aprés midi!
J'espere pouvoir rapidement vous venir en aide sur ce Forum.
Thibault
Hors ligne
Vous voulez qu'une simple sélection d'une valeur implique une mise à jour dans une base sans cliquer sur un bouton, ni rien ?
Hors ligne
Oui, plus exactement non pas une sélection mais une 'injonction' ! La seule action attendu est le changement de choix de l'utilisateur dans l'élément : select list.
Vous avez une idée ? ![]()
Hors ligne
Vous avez tenté les différentes options dans Settings ?
Dans "Page Action when Value Changed" vous avez plusieurs choix :
None(default)
Submit Page
Redirect and set value
Redirect to page
Redirect to URL
Hors ligne
De nouveau je viens de résoudre mon probléme : ![]()
Pour information, il m'a fallut créer une procedure qui reprennait ma fonction SQL afin d'updater ma table.
Par la suite j'ai créer un processus PL/SQL sur ma page de l'application voulu où j'appelais ma procédure.
Ce processus est appeler à chaque chargement de la page.
Puisque dans les settings de la select list, j'ai choisit 'Redirect and set value', à chaque changement de valeur cela recharge ma page et appel correctement ma procédure PL/SQL !
Et le tour et joué !
Et voila, 3 jours pour faire ca ouf! En tout cas merci de votre réponse, cela m'a aidé à sortir un peu d'APEX et à prendre du recul.
En espérant pouvoir résoudre vos problèmes le plus vite possible ![]()
Hors ligne
Pages :: 1