Bonjour,
Je dois créer une forms (10g) pour gérer des formes (un rectangle par ex) avec leur dimentions X et Y...
Mais comme rien n'est simple ces formes peuvent être tournées avec les valeurs de rotations suivantes : 0°, 90°, 180° ou 270°...
J'ai donc créé les 3 tables suivantes :
- Forme (Frm_Id, X, Y),
- Rotation (Rotation, Inverser_XY)
- Forme_Rota(Frm_Id,Rotation)
Et les 2 clefs étrangères sur Forme_Rota nécessaires...
Mon module contient 2 blocs "Forme" et "Forme_Rota" avec la relation maître-détail pour gérer tout cela...
Le bloc "Forme_Rota" est multi-ligne (4 enregistrements affichés)...
Je voudrais que pour chaque forme la première rotation saisie soit obligatoirement 0°, puis ne plus proposer les rotations déjà choisies (j'utilise une LOV pour récupérer les 4 rotations de la table "Rotation") .
Je voudrais également récupérer automatiquement les dimentions saisies dans la ligne 0° et les inverser pour les rotations qui ont "Inverser_XY" à vrai...
Mon problème est le suivant :
Je vois comment récupérer les valeurs contenues dans les tables et modifier les champs lors de la saisie de la nouvelle rotation (en utilisant le trigger "WHEN-VALIDATE-ITEM" sur l'item "Rotation" du bloc "Forme_Rota"),
mais je suis coincé si l'utilisateur renseigne plusieurs rotations différentes avant de faire un "COMMIT.
Je pensais balayer l'ensemble des lignes pour récupérer les valeurs des lignes précédentes mais les fonctions "FIRST_RECORD" et "NEXT_RECORD" sont interdites dans les triggers de validation !
D'avance un grand merci aux courageux qui m'auront lu jusqu'au bout (je sais c'est long!) et à tous ceux qui voudront bien me répondre....
Partager