表形式フォームでは、単一ページから表の複数の行を一度に更新できます。「表形式フォーム」ウィザードを使用すると、複数行更新プロセスが組み込まれた表形式フォームを作成できます。この組込みプロセスによって、バックグラウンドでオプティミスティック・ロックが実行され、データの整合性が保持されます。
このチュートリアルでは、新しいアプリケーション内から表形式フォームを作成する方法について説明した後、更新可能ないずれかの列をテキスト・フィールドから選択リストに変更する方法について説明します。チュートリアルを始める前に、必要なサンプル・データベース・オブジェクトにアクセスできるように、OEHR Sample Objectsアプリケーションをインポートしてインストールする必要があります。詳細は、「サンプル・オブジェクトのロード方法の概要」を参照してください。
この項には、次の項目が含まれます。
このトピックおよび関連トピックに関するその他の例は、次に示すOracle by Examples (OBE)を参照してください。
Oracle Application Express 3.0: 機能的なアプリケーションの作成
http://www.oracle.com/technology/obe/apex/obe30/apexdev30.htm
Oracle Application Express 3.1での追加の新機能の使用
http://www.oracle.com/technology/obe/apex/apex31nf/apex31misc.htm
既存のアプリケーションへのコンポーネントの追加
http://www.oracle.com/technology/obe/hol08/apexintro/apex3.1.1_c/apex3.1.1_c_otn.htm
最初に、「アプリケーションの作成」ウィザードを使用してアプリケーションを作成する必要があります。
「アプリケーションの作成」ウィザードでアプリケーションを作成するには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
「アプリケーション・ビルダー」ホームページが表示されます。
「作成」をクリックします。
「アプリケーションの作成」を選択して「次へ」をクリックします。
「名前」で、次のステップを実行します。
「名前」に、Tabular Form
と入力します。
「アプリケーション」で、デフォルトを受け入れます。
「アプリケーションの作成」で、「最初から」を選択します。
「スキーマ」で、OEHR Sample Objectsをインストールしたスキーマを選択します。
「次へ」をクリックします。
次に、ページを追加する必要があります。ここでは、空白ページ、レポート、フォーム、表形式フォームまたはレポートおよびフォームを追加できます。次の演習では、空白ページを含むアプリケーションを作成します。続いて、表形式フォームを作成します。
次のステップで空白ページを追加します。
「ページ・タイプの選択」で「空白」を選択し、「ページの追加」をクリックします。
ページ上部のリストに、新しいページが表示されます。
「次へ」をクリックします。
「タブ」で、デフォルトの「1レベルのタブ」を受け入れて「次へ」をクリックします。
「別のアプリケーションから共有コンポーネントのコピー」で、デフォルトの「いいえ」を受け入れて「次へ」をクリックします。
「属性」で、「認証スキーム」、「言語」、「ユーザー言語プリファレンスの派生元」にデフォルトを受け入れて、「次へ」をクリックします。
「ユーザー・インタフェース」で、「テーマ2」を選択して「次へ」をクリックします。
テーマは、アプリケーションのレイアウトおよびスタイルの定義に使用できるテンプレート集です。テーマは随時変更できます。
選択内容を確認して、「作成」をクリックします。
「アプリケーション」ホームページが表示されます。
関連項目: 『Oracle Database Application Expressユーザーズ・ガイド』の「テーマの管理」 |
「表形式フォーム」ウィザードでは、データベース表の複数の行に対して更新、挿入および削除を行うフォームを作成します。また、更新が失われないように、更新を行う前にMD5チェックサム値を確認する複数行更新プロセスも作成します。次の演習では、OEHR_EMPLOYEES
表に表形式フォームを作成します。
「表形式フォーム」ウィザードを使用して表形式フォームを作成するには、次のステップを実行します。
「アプリケーション」ホームページで、「ページの作成」をクリックします。
そのページ・タイプに応じて「フォーム」を選択し、「次へ」をクリックします。
「表形式フォーム」を選択して、「次へ」をクリックします。
「表/ビューの所有者」で、次のステップを実行します。
「表/ビューの所有者」で、デフォルトを受け入れます。
「実行可能な操作」で、デフォルトの「更新」、「挿入」、「削除」を受け入れます。
「次へ」をクリックします。
「表/ビューの名前」で、「OEHR_EMPLOYEES」を選択して「次へ」をクリックします。
「表示列」で、次のステップを実行します。
「列の選択」で、[Ctrl]キーを押しながら次の列を選択します。
FIRST_NAME, LAST_NAME, HIRE_DATE, SALARY, DEPARTMENT_ID
注意: この演習では、列数を制限して最適な表示画面にしています。実際のフォームでは、列を追加する必要がある場合があります。 |
「次へ」をクリックします。
「主キー」で、デフォルトの「EMPLOYEE_ID (Number)」を受け入れて「次へ」をクリックします。
「ソース・タイプ」で、デフォルトの「既存のトリガー」を受け入れて「次へ」をクリックします。
「更新可能な列」で、すべての列を選択して「次へ」をクリックします。
「ページおよびリージョン属性」で、次のステップを実行します。
「ページ」で、デフォルトを受け入れます。
「ページ名」に、Tabular Form
と入力します。
「リージョン・タイトル」で、デフォルトの「Tabular Form
」を受け入れます。
「リージョン・テンプレート」と「レポート・テンプレート」で、デフォルトを受け入れます。
「ブレッドクラム」で、デフォルトを受け入れます。
「次へ」をクリックします。
「タブ」で、デフォルトの「タブを使用しない」を受け入れて「次へ」をクリックします。
「ボタン・ラベル」で、次の各項目を指定します。
「送信」ボタンに、変更の適用
と入力します。
「取消」、「削除」および「行の追加」ボタンの、デフォルトのラベル・テキストを受け入れます。
「次へ」をクリックします。
「ブランチ」でデフォルト値を受け入れ、「次へ」をクリックします。
「ブランチ」には、カレント・ページを処理するために送信したとき、Webブラウザに表示するページを指定します。この演習では、カレント・ページが表示されたままにします。
選択内容を確認して、「終了」をクリックします。
次に、新しいフォームを表示するページを実行します。
ページを実行するには、次のステップを実行します。
図2-1に示すように、「ページの実行」アイコンをクリックします。
ユーザー名およびパスワードを入力するように要求されたら、ワークスペースのユーザー名およびパスワードを入力して、「ログイン」をクリックします。詳細は、「アプリケーション認証の概要」を参照してください。
図2-2に示すように、表形式フォームが表示されます。
図2-2に示すとおり、表形式フォームには4つのボタンがあります。「取消」、「削除」および「変更の適用」が右上に、「行の追加」が右下に表示されます。また、カレント行を選択できるように、各行の左側にチェック・ボックスが表示されます。列ヘッダーの左側にあるチェック・ボックスを選択することによって、一度にすべての行を選択することもできます。削除する行を指定するには、同じチェック・ボックスを「削除」ボタンと組み合せて使用します。
全体のフォーム・レイアウト(カラー・スキーム、ボタンの配置、リージョン・ヘッダーの配置など)は、現在選択しているテーマに含まれているテンプレートによって制御されることに注意してください。
関連項目: 『Oracle Database Application Expressユーザーズ・ガイド』の「テーマの管理」 |
「表形式フォーム」ウィザードで表形式フォームを作成すると、デフォルトでは、更新可能な列がテキスト・フィールドとして表示されます。次の演習では、「Department Id」列のデフォルト表示を選択リストに変更します。これを行うには、名前付きLOVを作成し、列属性を編集します。
この項の内容は次のとおりです。
関連項目: 『Oracle Database Application Expressユーザーズ・ガイド』の「LOVの作成」 |
「Department Id」の名前付きLOVを作成するには、次のステップを実行します。
図2-3に示す「開発者」ツールバーで、「ページの編集2」をクリックします。
ページ2のページ定義が表示されます。
「LOV」で、「作成」アイコンをクリックします。
「LOVの作成」ウィザードが表示されます。
「ソース」で「最初から」を選択し、「次へ」をクリックします。
「名前およびタイプ」で、次のステップを実行します。
「名前」に、DEPTID
と入力します。
「タイプ」で、「動的」を選択します。
「次へ」をクリックします。
「問合せまたは静的値」で、既存のテキストを次の内容に置き換えます。
SELECT DISTINCT department_id a, department_id b FROM oehr_employees
「LOVの作成」をクリックします。
ページ2のページ定義が表示されます。LOVは、まだページ定義に表示されません。
列を編集して選択リストとして表示するには、次のステップを実行します。
「リージョン」で、「レポート」リンクをクリックします。
図2-5に示すとおり、「レポート属性」ページが表示されます。
「列属性」で、図2-5に示すように、DEPARTMENT_ID列の横にある「編集」アイコンをクリックします。「編集」アイコンは、鉛筆が付いた小さいページに似ています。
「列属性」ページが表示されます。
次に、この列のデフォルト表示を選択リストに変更します。
「表形式フォームの要素」までスクロールします。「表示形式」から、「選択リスト(名前付きLOV)」を選択します。
「LOV」までスクロールします。「名前付きLOV」で、「DEPTID」を選択します。
ページ上部までスクロールして「変更の適用」をクリックします。
ページの右上にある「ページの実行」アイコンをクリックします。
図2-6に示すとおり、Department Id列が選択リストとして表示されます。
注意: 表形式フォームのSQL文のSELECT構文のリストは、生成後、変更しないでください。変更すると、フォームのデータを変更し、更新を適用したときにチェックサム・エラーが発生します。次に例を示します。 SELECT first_name FROM oehr_employees; これは、次のようには変更しないでください。 SELECT lower(first_name) FROM oehr_employees |