[取引先テーブル]と[商品テーブル]を作成すると、もう一度ウィザードが起動するので、最後に[請求書]テーブルからページとテーブルを作成しよう。
最初のページでは特にワークシートから入力内容を削除せずに[次へ]ボタンをクリックする。ここでは入力済みのデータもないので、次のページでも何も指定せずに[次へ]ボタンをクリックする。3ページ目の入力項目画面(フィールドの指定画面)では、Forguncyが入力項目を自動で検出してくれ、次のように表示される。
ここでは「何を入力項目(フィールド)として設定するか」を少々検討する必要がある。データベースの正規化と同様な考え方をして、フィールドの不要な重複を避けるようにするのがよい。とはいえ、Forguncyは「Excel名人がWebアプリを手軽に作成する」のを支援するツールなので、そこまで深く考えなくてもよいだろう。ポイントとなるのは、次のような事柄だ。
こうしたことを検討した結果、入力項目としては次のものを設定することにした(若干の無駄があるが、そこはサンプルとしてご容赦いただきたい)。
また、次のページではこれらの項目のデータ型を設定する。ここでは上に示した項目のデータ型を次のようにした。なお、2つのコンボボックスのデータ型が選択項目になっていて、その表示項目がテキストで設定されているが、これは後で[取引先テーブル]と[商品テーブル]のデータを表示するように変更する。
入力項目 | データ型 | デフォルトのデータ型から変更したかどうか |
---|---|---|
日付 | 日付 | デフォルト |
取引先 | 選択項目 | デフォルト |
数量 | 数値(整数) | 変更 |
内容 | 選択項目 | デフォルト |
金額 | 数値(整数) | 変更 |
小計 | 数値(整数) | デフォルト |
消費税 | 数値(小数) | デフォルト |
合計 | 数値(整数) | デフォルト |
各入力項目のデータ型とデフォルトのデータ型から変更したかどうか |
最後のページでは[一覧ページ]チェックボックスと[登録・更新の共通ページ]チェックボックスをオンにして(デフォルト)、[完了]ボタンをクリックする。
これにより、[請求書テーブル]と[請求書_詳細テーブル]の2つのテーブル、[請求書テーブル_一覧ページ]と[請求書テーブル_登録・更新の共通ページ]の2つのページが作成される。これらについて簡単に見ておこう。
2つのテーブルのうち、[請求書テーブル]は個々の請求書の日付や取引先、請求額に関する情報(小計、消費税率、合計)を格納する。その[お取引先]フィールドは[取引先テーブル]と関連付ける必要があるが、これは自動では行われない。[請求書_詳細テーブル]は[請求書テーブル]のIDにひも付けられ、対応する請求書の明細(内容、数量、金額)を格納する。その[内容]フィールドは[商品テーブル]と関連付ける必要があるが、これは自動では行われない。
4つのテーブルの関連をまとめると次のようになる。
なお、関連付けが行われていない[請求書テーブル]の[お取引先]フィールドと、[請求書_詳細テーブル]の[内容]フィールドのデータ型が[テキスト]となっているので、これを[整数]に変更し、[お取引先]フィールドを[取引先テーブル]の[ID]フィールドに、[内容]フィールドを[商品テーブル]の[ID]フィールドに関連付けておく。
作成されたページはForguncyではよくあるマスター/詳細形式の画面だ。一覧画面には請求書の概要が一覧され、そこから請求書を新規に作成したり、既存の請求書を編集(更新)したり、削除したりできる。
[請求書テーブル_登録・更新の共通ページ]は請求書ワークシートのフォーマットを踏襲したものとなっていて、中央の個別の請求項目部分はリストビューを使用するようになっている。このリストビューを使って入力された請求内容は、[請求書_詳細テーブル]に保存されるが、そのときには個々の請求書のIDとひも付けられる(最終的には、[請求書テーブル_一覧ページ]で何らかの項目を選んで[更新]リンクをクリックすると、その請求書のIDにひも付けられているデータが[請求書_詳細テーブル]から抽出されてリストビューに表示されるようにする)。
次ページでは取りあえずこのアプリを実行してから、こまごまとした修正を行っていこう。
Copyright© Digital Advantage Corp. All Rights Reserved.