この特集のトップページへ
>
Chapter 7:プレゼンテーション層の構築
7.5 製品管理処理
顧客管理処理の実装が終わったところで,次に製品管理処理の実装を始める。とはいえ,ほとんどの実装は顧客管理用のフォームと変わらない。そのため,顧客管理用のフォームとほぼ同じ実装についてはプログラムを示すのみとし,詳細の説明は省くことにする。
7.5.1 製品管理用のフォーム
まずは製品管理用のフォームを作成する。製品管理用のフォームはMDIの子フォームとして実装する。
今回は,製品管理用のフォームをFormProductという名前で実装することにしよう。そこで,Visual Basicのメニューから[プロジェクト]−[フォームモジュールの追加]を選択し,新しいモジュールを追加したのち,各プロパティをTable 7-21のように設定する。
Table 7-21 FormProductのプロパティ
プロパティ | 値 |
---|---|
(オブジェクト名) | FormProduct |
Caption | 製品情報 |
MDIChild | True |
次に,追加したFormProductフォームにボタンやテキストボックスなど必要なコンポーネントを配置する。今回は,Fig.7-67に示す画面構成をとることにする。
Fig.7-67 FormProductフォームの画面構成
Fig.7-67を参照するとわかるように,画面構成は[在庫調査]というボタンがある点を省き,Fig.7-16に示した顧客情報フォームと変わらない。異なるのは,操作の対象が顧客情報テーブルであるのか,製品情報テーブルであるのか,という点だけである。
各コンポーネントの役割は,次のようになっている。
- [新規]ボタン
- 新しく製品を登録する。
- [編集]ボタン
- 既存の製品を編集する。
- [削除]ボタン
- 既存の製品を削除する。削除の処理は,顧客管理処理の場合と同様に実装する。つまり,1回目の削除では製品情報テーブルのDELETEDFLAGフィールドの値をTrueにして削除ずみというマークを付けるだけであり,2回目の削除で当該レコードそのものを削除する。
- [復帰]ボタン
- 削除ずみというマークが付いている(DELETEDFLAGフィールドの値がTrueである)製品のDELETEDFLAGフィールドの値をFalseに設定し,削除状態から復帰させる。
- [印刷]ボタン
- DGrid_Productデータグリッドに表示されている内容一覧を印刷する。
- [最新の状態に更新]ボタン
- サーバーと再接続し,DGrid_Productデータグリッドに最新の情報を表示するように更新する。
- [検索]ボタン
- その左にあるテキストボックス(TXT_SEARCHテキストボックス)に入力された内容と合致するレコードを検索する。検索対象となる列は,その下にあるドロップダウンリストボックス(COMBO_SEARCHFIELDコンボボックス)で選択された列を対象とする。また,[上]ラジオボタン(OPT_UPラジオボタン),[下]ラジオボタン(OPT_DOWNラジオボタン)を使って,検索方向を指定する。
- [表示項目]ボタン
- DGrid_Productデータグリッドにどの列を表示するのかを設定するウィンドウを表示する(Fig.7-17を参照)。
- DGrid_Productデータグリッド
- 登録されている製品の一覧を表示するDataGridコンポーネントである。DGrid_Productデータグリッドには,Business.ProductコンポーネントのGetProductsメソッド(List 6-68)を呼び出して得たADODB.Recordsetオブジェクトと結び付けることで登録されている製品の一覧を表示する。
DGrid_Productデータグリッドには,Table 7-22に示すように,各列とフィールド名を割り当てるものとする。データグリッドコントロールに列を割り当てる方法については,「7.4.3 顧客の一覧参照」を参照してほしい。
なお,いくつかの列フィールドに対しては,プロパティの[形式]ページを使って書式を設定した(Fig.7-57を参照)。たとえば,金銭型のフィールドである「価格」フィールドであれば,「\xx,xxx」のように3桁ごとにカンマで桁区切りをした円記号付きの数字列で表示されるようにしている。具体的にどのように設定したのかについては,本章末からダウンロードできるプログラムを実際にVisual Basicで開いて確認してほしい。ここではそういった細々とした設定についての詳細は省く。
- [在庫調査]ボタン
- 指定した製品の在庫が揃う日付を計算する。このボタンを押すと,Fig.7-68に示すウィンドウが表示される。ユーザーが必要な数量を入力して[計算]ボタンを押すと,その数量を確保できる日付が表示される。
Fig.7-68 在庫の確認
Table 7-22 DGrid_Productデータグリッドの列の割り当て
インデックス | キャプション(Caption) | 対応するフィールド(DataField) | 可視(Visible) |
---|---|---|---|
0 | 製品番号 | ID | True |
1 | よみがな | YOMIGANA | True |
2 | 製品名 | PRODUCTNAME | True |
3 | 価格 | PRICE | True |
4 | 在庫数 | STOCK | True |
5 | 予約数 | BACKORDER | True |
6 | 摘要 | MEMO | True |
7 | 作成者 | MADEUSER | False |
8 | 作成日 | MADEDATE | False |
9 | 最終更新者 | LASTUSER | False |
10 | 最終更新日 | LASTDATE | False |
11 | 削除ずみ | DELETEDFLAG | False |
66/134 |