Tips-03.コード化の作業 でコード化の話をしましたが、自社システムの場合はシステムが変わっても、結構、同じような文言が出てくるのではないでしょうか?
自社用のコードテーブルを持っていると結構便利だと思います。
最低限の仕様でのコードテーブルの作成ツールをご紹介します。
1.テーブルレイアウト
- 区分テーブルと明細テーブルのみです。
- 区分テーブルは大分類、明細テーブルは小分類です。
※一つのコード区分に、複数の明細コードが含まれるツリー構造です。 - 両テーブルはコード区分で連結します。
- コード区分は2桁の数値、明細コードは5桁の数値としています。
※あまり大きな桁にしないほうがいいと思います。
※数値のほうが検索しやすいです。
| テーブル名 | フィールド名 | データ型 | 説明 |
|---|---|---|---|
| 区分テーブル | コード区分 | 数値 | 1~99 |
| 区分名 | テキスト | 15文字 | |
| 明細テーブル | コード区分 | 数値 | 1~99 |
| 明細コード | 数値 | 1~99999 | |
| 明細 | テキスト | 15文字 | |
| 明細かな | テキスト | 30文字 | |
| 備考 | テキスト | 20文字 |
区分テーブルの主キー:コード区分
明細テーブルの主キー:コード区分、明細コード
2.コード区分の登録フォーム
①フォームウィザードから「区分テーブル」を選択して表形式で作成します。
②プロパティシートの「その他」から「ポップアップ」を「はい」に変更してサイズを調整してください。
③コマンドボタンを二つ作成します。
クリック時のイベント処理に「埋め込みマクロ」を設定します。

3.明細コードの登録フォーム


①フォームウィザードから「明細テーブル」を選択して表形式で作成します。
②プロパティシートの「その他」から「ポップアップ」を「はい」に変更してサイズを調整
してください。
③レコードソースの「…」をクリックして、クエリービルダーを開いてください。
③-1.右クリックでショートメニューから「区分テーブル」を追加します。
③-2.区分テーブルと明細テーブルを、コード区分で連結します。
③-3.両テーブルのフィールドは、すべて「*」を選択してください。
③-4.区分テーブルの並びは、「コード区分」の昇順です。
③-5.明細テーブルの並びは、「明細コード」の昇順です。
③-6.明細テーブルは「区分の登録」フォームで選択された「コード区分」のみの抽出です。
④フォーム画面に戻り、区分の登録フォームで選択された「コード区分」と「区分名」を
表示するテキストボックスを作成します。
⑤コマンドボタンを作成します。
クリック時のイベント処理は、埋め込みマクロの「ウィンドウを閉じる」です。
コード区分単位で操作するようにすると、その区分内の明細コードのみが一覧表示されますので、新規で登録する際にも番号が取りやすくなります。
実行結果は下記の通りです。
4.実行結果
コード区分毎に明細コードを登録します。

印刷結果です。
明細テーブルの「コード区分」でグループ化しました。

Tips-03.コード化の作業 のサンプルデータをそのまま利用しました。
ここでは、基本的な最低限の仕様で作成していますが、コード区分や明細コードに登録条件や付加情報を持たせるようにすると、もう少し有効的なコードテーブルになるかと思います。
Accessの機能のみでVBAを使用せずに作成しました。
参考になれば幸いです。
