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, je suis débutant sous Oracle ApEx et je rencontre ma première difficultés....
J'ai 2 tables avec une relation 0,n-0,n donc avec une table associative entre les deux.
Pour gérer tout ça, j'ai fais une page maître-détail. La page maître correspond à une des tables de la relation et la pages détail à la table associative.
Seulement, lorsque je veux ajouter une ligne dans cette table associative, la clé primaire liée à la table Maître contient la valeur "NULL" et non pas la valeur de la clé de l'enregistrement sélectionné dans la table maître. Ce qui provoque une erreur lors de l'ajout d'un enregistrement...
J'aimerai donc que ce champ soit masqué et rempli automatiquement par la clé primaire de l'enregistrement sélectionné dans la table maître... J'espère m'être bien exprimé...
Merci de votre aide
EDIT : Je pense que le problème vient du fait quand dans ma table associative, j'ai a faire à une clé primaire-étrangère et ApEx tient absolument à lui associer un déclencheur. Peut-être est-il possible programme un déclencheur PL-SQL qui irait récupérer une valeur dans les champs de la table maître?
Dernière modification par srede (2011-03-29 13:20:54)
Hors ligne
Salut,
comment gères-tu tes clés primaires ?
Normalement tu as du choisir, lors de la création de ton master-report, la façon de gérer de celles-ci, tu avais 3 choix (trigger, fonction PL/SQL ou séquence).
Dernière modification par Yann39 (2011-03-29 15:45:25)
Hors ligne
Bonjour
J'ai eu ce probleme, et voici comment je l'ai resolu:
dans la la propriete 'Element de panneau tabulaire' de la colonne, tu choisis 'Element' comme 'type par defaut' et dans la ligne 'valeur par defaut', tu mets l'element du maitre que tu veux inserrer dans le detail, par exemple: P2_CODE_CLIENT
Dernière modification par gfolou (2011-03-29 17:08:24)
Hors ligne
@Yann39 : Dans ma table associative, mes clés sont à la fois primaires et étrangères et ApEx les voit comme primaires. Donc oui je dois sélectionner un déclencheur à la création de la page alors que je n'en veut pas (pour le moment j'ai sélectionné "Déclencheur existant" mais ça ne fonctionne pas...). Je suis débutant mais il est peut-être possible de faire une fonction PL/SQL pour récupérer la valeur du champ maître...
@gfolou : C'est ce que je pensais faire mais étant donné que ApEx considère mon champ comme clé primaire uniquement, je ne peux pas modifier cette option...
Avez-vous une solution au problème?
Merci en tout cas des réponses!
Hors ligne
Personnellement je n'ai jamais eu ce problème car je met toujours une primary key dans mes tables d'associations.
La solution la plus simple serait donc d'ajouter une primary key dans ta table d'association.
Si tu ne veux absolument pas gérer de primary key dans ta table, tu peux toujours créer une vue de cette table en définissant le rowid comme primary key, et en faisant des trigger pour l'insertion et la mise à jour.
Hors ligne
Dans ma situation, pour recuperer la valeur du maitre, c'est la methode que j'ai enoncée plus haut. Car, c'est cette methode que j'ai utilisée pour faire mes insertions dans le detail meme si ma table associative contient une clé primaire qui est un declencheur
Dernière modification par gfolou (2011-03-31 11:24:10)
Hors ligne
Oui la solution de Yann me paraît la plus simple...
C'est d'ailleurs la solution que j'ai utilisée et ça marche nickel!
Merci à vous deux en tout cas!
Hors ligne
Ok, tant mieux si ca marche. On est ensemble!!!!
Bien de choses a toi
Hors ligne
Pages :: 1