CHIBA TRAIN NET

This blog is a record of my hobby of railroads and model trains.

鉄コレ詳細データとパンタグラフマスタの追加

今回は、鉄道コレクションの詳細(車両単位)のデータを管理するテーブルのデザインと設定を進めます。

前回の記事:カプラーと動力ユニット/マスタのテーブルとフォームを作成

詳細のデータを管理するテーブル(T_detailDB)に掛かる3つのマスタテーブル(パンタグラフ・カプラー・鉄コレ動力)を前回までに作りました。

これを踏まえて、詳細のテーブルデザインを以下のとおり考えました。

★鉄道コレクション詳細テーブル(T_detailDB)

  • T_detailID(主キー)オートナンバー型
  • T_HeadID      ルックアップ  T_HeadDB(ヘッダデータ)
  • 鉄コレ車両名  テキスト型
  • 品番      テキスト型
  • PG1_T_pgID     ルックアップ T_pgMT(パンタグラフ)
  • PG2_T_pgID     ルックアップ T_pgMT(パンタグラフ)
  • T_couplerID    ルックアップ T_couplerMT(カプラー)
  • T_motorID   ルックアップ T_motorMT(鉄コレ動力)
  • 記事欄      テキスト型
  • 表示順      数値型
  • 削除フラグ    数値型

ここで不安になったのが、パンタグラフです。

通常、パンタグラフは車両に1個または2個装備されますが、2個装備された場合、その2個は同じ型式のパンタグラフとは限りません。

このため、本テーブルでもパンタグラフを書き込むフィールドは2つ必要になり、1つのレコードで2つのフィールドが同じ一つのマスターを見に行くことになりますが、ACCESS初心者の自分にはこのようなことができるのか、分かりません。

分からないので、実際に詳細テーブル(T_detailDB)を作って試してみることにしました。

詳細データのテーブル(T_detailDB)を作りました。

まだテスト段階なので、主キー(T_detailID)は「オートナンバー型」ではなく、「数値型」でセットしています。

テストデータを3レコード作りました。

検証用に「TEST1」というクエリーを作り、パンタグラフのマスタがどのように表示されるかを確認しました。

「品名」(パンタグラグの品名)が「PG1_T_pgID」と「PG2_T_pgID」のどちらのIDの分を表示したらよいのかACSESS側で正しく判断できないようです。

「PG1」の品名のフィールド名が「Expr1006」に変更され、「Expr1006」も「品名」も同じデータ(PG16)が表示されてしまっています。

パンタグラフデータの持ち方について、変更する必要があります。

そこで、下の図のように、PG1とPG2とそれぞれ用にマスタを持つことにしました。

テーブルのデザインは、既存の「パンタグラフタイプマスタ」「パンタグラフマスタ」に準じたものとしました。

★パンタグラフタイプ2テーブル(T_pgtype2MT)

  • T_pgtype2ID (主キー)数値型
  • パンタグラフタイプ テキスト型
  • 表示順位      数値型

★パンタグラフ2テーブル(T_pg2MT)

  • T_pg2ID(主キー)オートナンバー型
  • T_pgtype2ID   数値型
  • メーカー    テキスト型
  • 品番      テキスト型
  • 品名      テキスト型
  • 記事欄     テキスト型
  • 表示順位    数値型
  • 削除フラグ   数値型

パンタグラフタイプ2テーブル(T_pgtype2MT)を作りました。

基本的には、T_pgtypeMTと同じです。

パンタグラフ2テーブル(T_pg2MT)を作りました。

詳細テーブルのデザインを以下のように変更しました。

★詳細テーブル(T_detailDB)

  • T_detailID(主キー)
  • T_HeadID
  • 鉄コレ車両名
  • 品番
  • PG1_T_pgID ⇒「T_pgID」に変更
  • PG2_T_pgID ⇒「T_pg2ID」に変更( ルックアップ T_pg2MT)
  • T_couplerID
  • T_motorID
  • 記事欄
  • 表示順
  • 削除フラグ

今回はここまでです。