Oracle Forms Builder - changement de fenêtre dans une autre forme
Nous avons deux formes jusqu'à présent, et il faut les passer de window1 en 1 (qui est l'écran de connexion) à windowX dans formX à l'aide du bouton (déclenchement de code ci-dessous):
begin
show_window('windowX');
go_block('some_block_in_formX');
end;
Cela donne une erreur FRM-41052: Impossible de trouver la Fenêtre: ID non valide
Donc, la question est, dois-je ajouter formX en show_window paramètre dans certaine façon, ou est-il une autre approche? Merci.
Veuillez noter que les formulaires sont dans des fichiers différents.
Vous devez vous connecter pour publier un commentaire.
Si les formes sont différentes des fichiers, vous devez appeler l'autre forme à l'aide de open form/formulaire d'appel/newform - ce qui convient à vos besoins.
show_window/go_block
séquence peut être utilisée uniquement lorsque vous êtes en déplacement aux différentes fenêtres/blocs de la même forme et le message d'erreurse plaint qu'il ne peut pas aller à la Fenêtre parce que c'est dans un différents forme.
Chaque forme a effectivement un espace de noms privé de toutes ses fenêtres, blocs, items, etc - et de votre code s'exécute toujours dans le contexte d'un formulaire unique.
Pour résoudre ce problème, vous aurez besoin d'un paramètre de formulaire, plus un peu de code dans l'autre forme, par exemple:
WHEN-NEW-FORM-INSTANCE
déclencheur, vérifiez si:PARAMETER.ACTION = 'XYZ'
, et, si oui, votre show_window et go_block. Copiez le même code pour votreWHEN-WINDOW-ACTIVATED
déclencheur.Bien sûr, vous aurez besoin de réfléchir sur le nom du paramètre (par exemple, l'ACTION) et la valeur ('XYZ') qui va faire sens pour les gens que le maintien de vos formulaires dans l'avenir.