プライマリ・コンテンツに移動

Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド リリース5.1 E83810-03 |
| 目次 | 索引

前 | 次 |

# 9.4 マスター・ディテール・フォームの管理

マスター・ディテール・フォームは、データベースの2つの表の1対多関係を示します。通常、マスター・ディテール・フォームには、1つのHTMLフォーム内にマスター行および複数のディテール行が表示されます。このフォームを使用すると、2つの表またはビューに対し、値の挿入、更新および削除を行うことができます。

ヒント:

1ページまたは2ページのマスター・ディテール・フォームの実際の例を参照するには、サンプル・アプリケーションのサンプル・プロジェクトをインストールして、プロジェクト・ページを表示します。パッケージ・アプリケーションのインストールを参照してください。

トピック:

- マスター・ディテール・フォームについて
- アプリケーションの作成ウィザードを使用した1ページのマスター・ディテールの作成
- ページの作成ウィザードを使用した1ページのマスター・ディテールの作成
- ページの作成ウィザードを使用した2ページのマスター・ディテールの作成

関連項目:

既存の対話グリッドからのマスター・ディテールの作成およびレガシー・マスター・ディテール・フォームの作成

## 9.4.1 マスター・ディテール・フォームについて

マスター・ディテール・フォームは、データベースの2つの表の1対多関係を示します。通常、マスター・ディテール・フォームには、マスター行および複数のディテール行が表示されます。ページの作成ウィザードまたはアプリケーションの作成ウィザードを使用してマスター・ディテール・フォームを作成する場合、マスター・フォームおよびディテール・フォームを構築する表を選択します。

1ページのマスター・ディテール

1ページのマスター・ディテールには、2つの関連する表またはビューに基づく2つの編集可能対話グリッドがあります。ユーザーは、マスター・グリッドの行を選択して、ディテール・グリッドを更新します。開発者は、アプリケーションの作成ウィザードまたはページの作成ウィザードを使用して、1ページのマスター・ディテールを作成できます。

1ページのマスター・ディテールには、2つの関連する表またはビューに基づく2つの編集可能対話グリッドがあります。

図GUID-4387D49C-3C96-46A5-B5FD-DF7B54EC239A-default.pngの説明

ユーザーは、マスター・グリッドの行を選択して、ディテール・グリッドを更新します。この例では、ユーザーがマスター・グリッドの部門を選択して、ディテール・グリッドの従業員を表示します。開発者は、アプリケーションの作成ウィザードまたはページの作成ウィザードを使用して、1ページのマスター・ディテールを作成できます。

図GUID-A6F40D9F-53EC-4E2D-8C19-6D97DFBE8BBF-default.pngの説明

2ページのマスター・ディテール

2ページのマスター・ディテールには、2つの関連する表またはビューに基づく2つのページがあります。最初のページは、編集不能対話グリッドです。ユーザーは、最初のページで「編集」アイコンをクリックして、2ページ目で詳細を編集します。

図GUID-D5C0612A-A7F9-432E-966A-9E62D1BBB260-default.pngの説明

この例では、ユーザーが「編集」アイコンをクリックして、部門内のすべての従業員にアクセスします。2ページ目には、標準フォーム(マスター)と従業員の編集可能対話グリッドの両方が含まれます。

図GUID-A0F6B07B-3693-4727-BBEE-835A21C60AF5-default.pngの説明

数値フィールドおよび日付フィールドについては、日付と数値の書式マスクを事前に定義したり、初期フォームの生成後にそれらの書式マスクを適用することもできます。また、ウィザードによって生成されるマスター・ディテール・フォームでは、一部の列に対して検証が自動的に作成されます。検証は、基礎となる表で`NOT NULL`に設定されている列、およびタイプが`NUMBER`、`DATE`または`TIMESTAMP`の列に対して作成されます。ユーザーの選択または定義済のユーザー・インタフェースのデフォルト値に基づいて、列が読取り専用に設定されている場合、検証は作成されません。

ヒント:

列属性を編集して、特定の列の外観を制御できます。

## 9.4.2 アプリケーションの作成ウィザードを使用した1ページのマスター・ディテールの作成

アプリケーションの作成ウィザードを使用してマスター・ディテール・フォームを作成すると、2つの関連する表またはビューに基づく2つの編集可能対話グリッドを含む単一ページが作成されます。このページを使用すると、関連する2つの表またはビューに対し、値の問合せ、挿入、更新および削除を行うことができます。

ヒント:

アプリケーションの作成ウィザードでは、一般的なベスト・プラクティスに基づいてアプリケーションが生成され、ページの作成ウィザードに含まれているいくつかの高度なオプションは使用されません。

アプリケーションの作成ウィザードを使用してマスター・ディテール・フォームを作成するには、次のステップを実行します。

1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
2. 「作成」ボタンをクリックします。
3. アプリケーション・タイプには「デスクトップ」を選択します。
4. 「名前」は、次のようにします。
   1. スキーマ: アプリケーションは、すべてのSQLを特定のデータベース・スキーマとして解析することで、権限を取得します。データベース・スキーマ所有者を指定します。
   2. 名前: 開発者がアプリケーションを識別するための名前を入力します。
   3. アプリケーション: アプリケーションを識別する整数値を指定します。アプリケーションIDは、Application Expressインスタンス内で一意である必要があります。3000から9000の範囲のアプリケーションIDは、Oracle Application Expressの内部使用向けに予約されています。
   4. テーマ: テーマを選択します。テーマは、アプリケーション全体のレイアウトおよびスタイルの定義に使用するテンプレートのコレクションです。
   5. テーマ・スタイル: テーマ・スタイルを選択します。テーマ・スタイルは、テーマ42および51などの新しいアプリケーションに対してのみ使用可能です。
   6. 「次へ」をクリックします。
5. 「ページの追加」ボタンをクリックします。

   「アプリケーションの作成」で、次のようにします。

   1. ページ・タイプの選択: 「マスター・ディテール」を選択します。
   2. 親ページ: 該当する場合、従属ページを選択します。
   3. マスター表名: マスター表として使用する表またはビューを選択します。この表は、レポート・ページ、およびマスター・ディテール・ページのマスター・フォームを作成するために使用されます。
   4. ディテール表名: ディテール表として使用する表またはビューを選択します。
      外部キーを使用して選択したマスター表に関連付けられている表およびビューのみが表示されます。
   5. 「ページの追加」をクリックします
      アプリケーションの作成ページの上部に新しいページが表示されます。
   6. 「次へ」をクリックします。
6. 「共有コンポーネント」で、共有コンポーネントを別のアプリケーションからコピーするかどうかを指定します。「はい」または「いいえ」を選択します。「はい」を選択した場合は、そのコピー元と、インポートするコンポーネントを選択します。
7. 「属性」で、必要に応じて構成し、「次へ」をクリックします。属性の詳細は、フィールドレベル・ヘルプを参照してください。
8. 選択内容を確認して、「アプリケーションの作成」をクリックします。
9. 新しいマスター・ディテール・ページを表示するには、「ページの実行」をクリックします。
   レンダリングされたページが表示されます。

関連項目:

- テーマの使用

- テーマ・スタイルの使用

- 「共有コンポーネントの管理」

## 9.4.3 ページの作成ウィザードを使用した1ページのマスター・ディテールの作成

ページの作成ウィザードを使用して、1ページのマスター・ディテールを作成できます。1ページのマスター・ディテールには、2つの関連する表またはビューに基づく2つの編集可能対話グリッドがあります。

ページの作成ウィザードを使用して1ページのマスター・ディテールを作成するには:

1. アプリケーションに移動するか、新しいアプリケーションを作成します。
2. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
3. アプリケーションを選択します。
4. 「ページの作成」をクリックします。
5. 「ページの作成」で、次のステップを実行します。
   1. ユーザー・インタフェース: ページのユーザー・インタフェースを選択します。
   2. ページ・タイプの選択: 「フォーム」を選択します。
6. 「ページの作成」で「1ページのマスター・ディテール」を選択します。
7. 「ページ属性」で、次のステップを実行します。
   1. ページ番号 - マスター・ページのページ番号を入力します。新しいページ番号を指定した場合、ウィザードによって新しいページが作成されます。既存のページ番号を指定した場合、ウィザードによってそのページにコンポーネントが追加されます。
   2. ページ名 - ページの名前を入力します。
   3. ページ・モード - ページの名前を入力します。オプションは次のとおりです。

      - 標準 - ページは標準のApplication Expressアプリケーション・ページとして表示されます。

      - モーダル・ダイアログ - ページはモーダル・ダイアログとして表示されます。モーダル・ダイアログは、ビューポート内に配置されたオーバーレイ・ウィンドウで、エンド・ユーザーが終了する(閉じる)までアクティブでフォーカスされたままです。基になるページはグレーアウトされ、ダイアログを閉じるまで、エンド・ユーザーは残りのページと対話できません。

   4. ブレッドクラム - ページでブレッドクラム・ナビゲーション・コントロールを使用するかどうかを選択します。ブレッドクラム・ナビゲーションを含めることに決定した場合、追加の属性が表示されます。
   5. 「次へ」をクリックします。
8. ナビゲーション・メニューで、このページをどのようにナビゲーション・メニューに統合するかを選択します。選択したオプションに応じて、追加の属性が表示されます。「次へ」をクリックします。
9. 「マスター・ソース」で、次のステップを実行します。
   1. マスター・リージョン・タイトル - マスター・リージョンのリージョン・タイトルを入力します。
   2. 表/ビューの所有者 - 対話グリッドを作成している表の所有者を選択します。
   3. 表/ビューの名前 - グリッドの基になる表またはビューを選択します。
   4. 主キー列 - 表内の行を一意に識別する列の名前を選択します。
   5. 列の選択 - リージョンに含める1つ以上の列を選択します。表示するすべての列を選択します。
   6. 「次へ」をクリックします。
10. 「ディテール・ソース」で、次のステップを実行します。
    1. ディテール・リージョンのタイトル - ディテール・リージョンのリージョン・タイトルを入力します。
    2. 関連する表のみの表示: ディテール表のリストを、マスター表に関連する表のみに制限するかどうかを指定します。
    3. 表/ビューの名前 - グリッドの基になる表またはビューを選択します。
    4. 主キー列 - 表内の行を一意に識別する列の名前を選択します。
    5. マスター・ディテール外部キー - マスター表とディテール表を関連付ける外部キーを選択します。
    6. 列の選択 - リージョンに含める1つ以上の列を選択します。表示するすべての列を選択します。
    7. 「作成」をクリックします。
    ページ・デザイナが表示されます。
11. 新しいマスター・ディテールを表示するには、「ページの保存と実行」をクリックします。
    レンダリングされたページが表示されます。

## 9.4.4 ページの作成ウィザードを使用した2ページのマスター・ディテールの作成

ページの作成ウィザードを使用して、2ページのマスター・ディテールを作成します。2ページのマスター・ディテールには、2つの関連する表またはビューに基づく2つのページがあります。最初のページは、編集不能対話グリッドです。ユーザーは、最初のページで「編集」アイコンをクリックして、2ページ目で詳細を編集します。

ページの作成ウィザードを使用して2ページのマスター・ディテールを作成するには:

1. アプリケーションに移動するか、新しいアプリケーションを作成します。
2. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
3. アプリケーションを選択します。
4. 「ページの作成」をクリックします。
5. 「ページの作成」で、次のステップを実行します。
   1. ユーザー・インタフェース: ページのユーザー・インタフェースを選択します。
   2. ページ・タイプの選択: 「フォーム」を選択します。
6. 「ページの作成」で「2ページのマスター・ディテール」を選択します。
7. 「ページ属性」で、次のステップを実行します。
   1. マスター・ページ番号 - マスター・ページのページ番号を入力します。マスター・ページには、読取り専用のマスター対話グリッドが含まれます。新しいページ番号または既存のページ番号を入力します。
   2. マスター・ページ名 - マスター・ページの名前を入力します。
   3. ディテール・ページ番号 - ディテール・ページのページ番号を入力します。詳細ページには、フォームおよび編集可能対話グリッドが含まれます。
   4. ディテール・ページ名 -ディテール・ページの名前を入力します。
   5. ブレッドクラム - ページでブレッドクラム・ナビゲーション・コントロールを使用するかどうかを選択します。ブレッドクラム・ナビゲーションを含めることに決定した場合、追加の属性が表示されます。
   6. 「次へ」をクリックします。
8. ナビゲーション・メニューで、このページをどのようにナビゲーション・メニューに統合するかを選択します。選択したオプションに応じて、追加の属性が表示されます。「次へ」をクリックします。
9. 「マスター・ソース」で、次のステップを実行します。
   1. 表/ビューの所有者 - 対話グリッドを作成している表の所有者を選択します。
   2. 表/ビューの名前 - グリッドの基になる表またはビューを選択します。
   3. 主キー列 - 表内の行を一意に識別する列の名前を選択します。
   4. フォームのナビゲーションの順序 - ディテール・ページで、別のマスター・レコードにナビゲートする前ボタンまたは次ボタンで使用されるナビゲーション順序列を選択します。
   5. 列の選択 - リージョンに含める1つ以上の列を選択します。表示するすべての列を選択します。
   6. 「次へ」をクリックします。
10. 「ディテール・ソース」で、次のステップを実行します。
    1. 表/ビューの所有者 - 対話グリッドを作成している表の所有者を選択します。
    2. 表/ビューの名前 - グリッドの基になる表またはビューを選択します。
    3. 主キー列 - 表内の行を一意に識別する列の名前を選択します。
    4. マスター・ディテール外部キー - マスター表とディテール表を関連付ける外部キーを選択します。
    5. 列の選択 - リージョンに含める1つ以上の列を選択します。表示するすべての列を選択します。
    6. 「作成」をクリックします。
    ページ・デザイナが表示されます。
11. 新しいマスター・ディテールを表示するには、「ページの保存と実行」をクリックします。

レンダリングされたページが表示されます。