表形式フォームでは、単一ページを使用して表の複数の行を一度に更新できます。「表形式フォーム」ウィザードを使用すると、複数行更新プロセスが組み込まれた表形式フォームを作成できます。この組込みプロセスによって、バックグラウンドでオプティミスティック・ロックが実行され、データの整合性が保持されます。
このチュートリアルでは、既存のアプリケーション内から表形式フォームを作成する方法について説明した後、更新可能ないずれかの列をテキスト・フィールドから選択リストに変更する方法について説明します。
この付録の内容は次のとおりです。
Oracle HTML DBとともに多くのデモンストレーション・アプリケーションがインストールされます。この演習では、デモンストレーション・アプリケーション(サンプル・アプリケーション)内に表形式フォームを作成します。
サンプル・アプリケーションがインストールされているかどうかを確認するには、次の手順を実行します。
Oracle HTML DBにログインします。
「アプリケーション・ビルダー」アイコンの右側にある下矢印をクリックします。
メニューから、「デモンストレーション」を選択します。
サンプル・アプリケーションを検索し、「ステータス」列を確認します。
「ステータス」に「インストール済」が表示されている場合は、「作業領域」ホームページに戻ります。
「ステータス」列に「インストールされていません」が表示されている場合は、「アクション」列の「インストール」を選択します。
画面に表示される手順に従います。
「表形式フォーム」ウィザードでは、データベース表の複数の行に対して更新、挿入および削除を行うフォームを作成します。また、更新が失われないように、更新を行う前にMD5チェックサム値を確認する複数行更新プロセスも作成します。次の演習では、EMP
表に表形式フォームを作成します。
「表形式フォーム」ウィザードを使用して表形式フォームを作成するには、次の手順を実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
「サンプル・アプリケーション」を選択します。
「ページの作成」をクリックします。
そのページ・タイプに応じて「フォーム」を選択し、「次へ」をクリックします。
「表形式フォーム」を選択して「次へ」をクリックします。
「表/ビューの所有者を指定」で、次の手順を実行します。
「表/ビューの所有者」で、EMP
表の所有者を選択します。
「実行可能な操作」で、デフォルトを受け入れます。
「次へ」をクリックします。
「表/ビューの名前」で、「EMP」を選択して「次へ」をクリックします。
「表示する列の指定」で、次の手順を実行します。
「ユーザー・インタフェースのデフォルト値を使用」で、デフォルトを受け入れます。
「列の選択」で、[CTRL]キーを押しながら次の列を選択します。
ENAME, JOB, HIREDATE, SAL, COMM
注意: この演習では、列数を制限して最適な表示画面にしています。実際のフォームでは、列を追加する必要がある場合があります。 |
「次へ」をクリックします。
「主キー列1」で、デフォルトの「EMPNO」を受け入れて「次へ」をクリックします。
「ソース・タイプ」で、デフォルトの「既存のトリガー」を受け入れて「次へ」をクリックします。
「更新可能な列」で、[CTRL]キーを押しながら次の列を選択して「次へ」をクリックします。
JOB, HIREDATE, SAL, COMM
「ページおよびリージョン属性の指定」で、次の手順を実行します。
「ページ」に、800
と入力します。
「ページ名」に、EMPの表形式フォーム
と入力します。
「リージョン・タイトル」に、EMPの表形式フォーム
と入力します。
「次へ」をクリックします。
「タブの指定」で、デフォルトの「タブを使用しない」を受け入れて「次へ」をクリックします。
「ボタン・ラベル」で、次の手順を実行します。
「取消」、「削除」および「行の追加」ボタンのデフォルト値を受け入れます。
「送信」ボタンに、変更の適用
と入力します。
「次へ」をクリックします。
残りのデフォルト値を受け入れて「次へ」をクリックした後、「終了」をクリックします。
次に、新しいフォームを表示するページを実行します。
ページを実行するには、次の手順を実行します。
「ページの実行」をクリックします。
ユーザー名とパスワードを入力するように要求されたら、次の手順を実行します。
「ユーザー名」に、demo
またはadmin
のいずれかを入力します。
「パスワード」に現行の作業領域名をすべて小文字で入力します。
「ログイン」をクリックします。
ページ800にナビゲートします。
「開発者」ツールバーから「ページ1の編集」を選択します。
「ページ」に、800と入力して「実行」をクリックします。
「ページの実行」アイコンをクリックします。
図1-1に示すとおり、表形式フォームには4つのボタンがあります。 「取消」、「削除」および「変更の適用」が右上に、「行の追加」が右下に表示されます。また、各行の左にチェック・ボックスが表示されます。ユーザーは、これらのチェック・ボックスを使用して1行ずつ選択するか、または列ヘッダーの左にあるチェック・ボックスを選択して一度にすべての行を選択することができます。削除する行を指定するには、チェック・ボックスを「削除」ボタンと組み合せて使用します。
「表形式フォーム」ウィザードで表形式フォームを作成すると、デフォルトでは、更新可能な列がテキスト・フィールドとして表示されます。このデフォルト表示は、レポート列属性を編集して変更できます。
JOB
のデフォルト表示を選択リストに変更するには、次の手順を実行します。
ページ800のページ定義にナビゲートします。「開発者」ツールバーで「ページ800の編集」を選択します。
「リージョン」で、「表形式フォーム」の横にある「レポート」をクリックします。
「レポート属性」ページが表示されます。
「列属性」で、JOB列の横にある「編集」アイコンをクリックします。
「表形式フォームの要素」までスクロールします。「表示形式」で、「選択リスト(問合せに基づくLOV)」を選択します。
「LOV」で、次のLOV問合せを入力します。
SELECT DISTINCT job a, job b FROM emp
「変更の適用」をクリックします。
ページの右上にある「ページの実行」ボタンをクリックします。
図1-2に示すとおり、Job列が選択リストとして表示されます。
注意: 表形式フォームのSQL文のSELECT構文のリストは、生成後、変更しないでください。変更すると、フォームのデータを変更し、更新を適用したときにチェックサム・エラーが発生します。次に例を示します。 SELECT ename FROM emp; これは、次のようには変更しないでください。 SELECT lower(ename) FROM emp |