「SQL Server Express と ADO、Excel と VBA を使って課題管理表を作ってみよう」を複数プロジェクトで使えるようにテーブルを追加しプログラムを改造します。
コンテンツ
考え方
- プロジェクト管理用のテーブルを追加する
- プロジェクトIDを設け、課題管理表との外部キーとする
テーブル再設計
上記考え方を元に「T_プロジェクト」テーブルを新規設計、「T_課題管理表P」テーブルを改設計しました。
テーブル名:T_プロジェクト
No | 項目名 | データ型 | オプション |
---|---|---|---|
1 | プロジェクトID | int | Not Null, Identity 1 +1 |
2 | プロジェクト名称 | nverchar(50) | |
3 | 登録者所属 | nverchar(50) | |
4 | 登録者氏名 | nverchar(50) | |
5 | 登録日 | date | |
6 | 完了予定日 | date | |
7 | 完了日 | date | |
8 | 削除フラグ | nverchar(1) |
テーブル名:T_課題管理表P
No | 項目名 | データ型 | オプション |
---|---|---|---|
1 | ID | int | Not Null, Identity 1 +1 |
2 | プロジェクトID | int | Not Null |
3 | No | int | Not Null |
4 | 分類 | nverchar(50) | |
5 | 課題 | nverchar(max) | |
6 | 対応進捗 | nverchar(max) | |
7 | 担当者 | nverchar(50) | |
8 | 責任者 | nverchar(50) | |
9 | 更新日 | date | |
10 | 完了予定日 | date | |
11 | 完了日 | date | |
12 | 削除フラグ | nverchar(1) | |
13 | 更新時間 | datetime |
画面イメージ
プロジェクト管理用のシートを追加作成しました。課題管理表はプロジェクト名がセルB1に入ったのが見た目の変化です。
プロジェクト管理シート
課題管理シート
プログラムのポイント
- 課題管理シートのデータベース処理はプロジェクトID毎に集計する。
- プログラム上処理が複数のワークシートを行き来するので、ワークシートオブジェクトやワークシートに関係する変数はモジュールの先頭で Public 宣言する。
まとめ
RDBS(リレーショナルデータベースシステム)を使うのですから一元管理が理想です。プロジェクト毎にテーブルを作成するのは少しもったいない(とてつもない数のプロジェクトを管理するならそれもありですが・・・。)ですよね。
今回は表題として「プロジェクト管理」、明細として「課題管理」と機能をテーブルに分割することで複数のプロジェクト管理に対応しています。
この記事へのコメントはありません。