サンプルアプリケーションの名前は“ex01”としておきます。まず全体の仕様を把握しましょう。
- テーブルの保守処理 - レコードの削除処理は、いわゆる「マスターテーブルの保守処理」の一部です。日常頻繁に使用することはないものの、日常業務の基礎情報となるマスターテーブルを最新に保つために、なくてはならない処理です。
マスターテーブルの保守処理では、一般に「レコードの削除・フィールドの更新・レコードの追加」の3種類のテーブル操作を行います。削除と更新では、先に処理対象のレコードを明確にしておかなければなりません。従って、前回紹介した検索処理を先に実行し、そこで検索されたレコードに対して削除や更新の処理を行います。
検索処理と削除や更新の処理とは、基本的に異なる処理として作成しなければなりません。検索に用いるSELECT命令と、削除や更新に用いるDELETE、UPDATEなどの命令とはまったく異なるSQLとなるため、検索したレコードを同じプロシージャの中で削除する――といった処理を作ってしまうとかえって混乱します。
- 検索と削除の二重構造 - ここでは、以下のような二重構造を作ることにします。
1.キーワード(商品IDや商品名)でレコードを検索し、そこで処理対象のレコードを1件に絞り込む
2.上記の処理で絞り込まれたレコードに対して、削除処理を実行する
1.ではSELECT命令、2.でDELETE命令を実行することになるのですが、削除には1.で検索されたレコードを再度示さなければなりません。そこで、1.の段階で検索されたレコードの「商品ID」を保存しておき、2.の段階ではそれを参照して削除対象を決定するようにします。
当然、1.の検索処理には前回紹介したサンプルのコードが流用できます。
- フォームのデザイン - Visual Studio .NETでVisual BasicのWindowsアプリケーションプロジェクトを新規作成し、フォームをデザインします。
テキストボックス“txtItemId”に「商品ID」を入力して[検索]ボタン“btnSearch”をクリックすると、ラベル“lblItemName”と“lblNumStock”に商品名と在庫数が表示される――という形で、この部分は前回紹介したサンプルとほぼ同じ仕様となります。
異なるのは、[削除]ボタン“btnDelete”をクリックすると、表示されているレコードが削除される点です。前回の検索処理に、この削除処理を追加する形となります。
|
|
|