Forum APEX - Développement Oracle Application Express

Le site des développeurs francophones APEX - Oracle Application Express

Vous n'êtes pas identifié(e).

Annonce

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.

#1 2011-03-29 12:44:16

srede
Membre
Inscription : 2011-03-29
Messages : 8

Page Maître-détail, valeur par défaut dans la page Détail

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

#2 2011-03-29 15:44:08

Yann39
Membre
Inscription : 2011-03-28
Messages : 18

Re : Page Maître-détail, valeur par défaut dans la page Détail

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

#3 2011-03-29 17:06:20

gfolou
Membre
Inscription : 2011-03-23
Messages : 4

Re : Page Maître-détail, valeur par défaut dans la page Détail

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

#4 2011-03-29 19:50:24

srede
Membre
Inscription : 2011-03-29
Messages : 8

Re : Page Maître-détail, valeur par défaut dans la page Détail

@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

#5 2011-03-31 08:38:11

Yann39
Membre
Inscription : 2011-03-28
Messages : 18

Re : Page Maître-détail, valeur par défaut dans la page Détail

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

#6 2011-03-31 11:09:45

gfolou
Membre
Inscription : 2011-03-23
Messages : 4

Re : Page Maître-détail, valeur par défaut dans la page Détail

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

#7 2011-03-31 14:22:59

srede
Membre
Inscription : 2011-03-29
Messages : 8

Re : Page Maître-détail, valeur par défaut dans la page Détail

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

#8 2011-03-31 16:24:15

gfolou
Membre
Inscription : 2011-03-23
Messages : 4

Re : Page Maître-détail, valeur par défaut dans la page Détail

Ok, tant mieux si ca marche. On est ensemble!!!!
Bien de choses a toi

Hors ligne

Pied de page des forums