La compensation d'un bloc avant d'entrer dans le mode de recherche dans un autre

Avant que je pose ma question, je dois dire que la base de données à laquelle je travaille n'a pas les clés étrangères, donc je ne peux pas faire le maître-détail des blocs, et de ce fait je suis à l'aide de solution de contournement avec go_block, clear_block, execute_query et les déclencheurs.

J'ai un formulaire avec deux blocs. Si nous supposons que les deux blocs sont remplis avec de l'info, et que je veux exécuter la requête sur la première, est-il un moyen pour effacer l'autre bloc avant d'entrer dans le mode de recherche?

e.g.

Block1: ID, NAME, SURNAME

Block2: INFO1, INFO2, ..., Id_block1 etc.

Donc, si il ya d'info sur les deux blocs, et je entrer dans le mode de requête sur Bloc1, tout le bloc efface afin que je puisse entrer des critères de recherche, mais le deuxième bloc a encore les données de la dernière requête exécutée. Est-il un moyen d'effacer les données sur le deuxième bloc ainsi? Encore une fois, je veux effacer les données de Bloc2 quand je suis ENTRÉE-MODE d'interrogation sur Bloc1.

Workflow: Enter-query mode Block1, execute-query Block1, NEW-RECORD-INSTANCE trigger activates (where workflow continues), go_block('Block2'), execute_query on Block2 (with where clause Id_block1 = block1.id).

Je suis en utilisant Oracle Forms 10g. J'apprécie toute l'aide que vous pouvez fournir.

  • Bien qu'il est fortement recommandé d'ajouter une contrainte d'intégrité référentielle, vous pouvez toujours faire un maître-détail bloc de relation dans les Formes sans un. Lors de l'ajout du détail d'un bloc, et la création de Relations de dialogue qui s'ouvre, décochez la case "Auto-jointure des blocs de données", puis saisissez manuellement les critères de jointure.
  • Droit, comme @JeffreyKemp dit, vous pouvez le faire d'un maître-détail de la relation sans avoir la relation de clé étrangère en place.