好きなおでんの具材ドラフト会議しましょう

accessでテーブルを作成するときですが、テーブルの形式は縦並びではなく
横並びのほうがいいのでしょうか?

もともとあるエクセルのデータをaccessでテーブルにしたのですが、その形式が
縦並びとなっています。
例えば、
氏名    性別    住所    異動歴
Aさん    男    ○○〇   経理課 〇年11月
                  総務課 〇年10月

のように異動歴などが縦に並んでいます。
この場合これからフォームでテーブルを更新していった場合縦並びだとうまく更新されないのでしょうか。

エクセルの方を直そうとすると何百人ものデータを変えなければいけなくなるのでどうか良い方法を教えて頂きたいです。

A 回答 (4件)

その場合の縦とか横とかの意味がよくわかりません。

。。

データベースのテーブルを視覚的に言い表す場合、列が項目で、行が1件、1件のデータです。

なお、複数の項目をデータベースのテーブルで表現しようとする場合、その中のある項目が1件のデータの中に複数ある・・・しかもデータによってその個数が異なるという場合は、その部分を切り出して別テーブルにする必要があります。これを「正規化」と言います。データベースのテーブルを作成する際はこの正規化という作業が欠かせません。そこを勉強して下さい。
ご質問の場合ですと・・・

氏名    性別    住所    異動歴

を一つのテーブルにするのではなく、

氏名    性別    住所



氏名    異動歴

の2つのテーブルに分けるのです。
本当の所は・・・

社員番号  氏名
社員番号  性別    住所
社員番号  異動歴

の3テーブルですね。
参考まで。
    • good
    • 0

N0.3の方の指摘の通り、二つのテーブルに分けて、社員コードで1対多のリレーションシップを設定します。


氏名、性別、住所は、一人に一つのデータとなります。
これに対し、異動履歴は、1回の人も、5回の人も、10回の人もと人それぞれの数が発生します。
これを処理するには、1対多のリレーションテーブルとする必要があります。
社員名簿テーブルと異動履歴テーブルを作成し、共通の社員コードフィールドで両テーブルのデータを接続します。
これもデータの正規化の一つの作業となります。
    • good
    • 0

accessは、リレーショナル・データベース(RDB)で、エクセルとはデータの持ち方がちがいます。


これを理解する必要がありますね。
RDBは、異動歴のような繰り返しデータは切り出して、別テーブルとします。
このあたりのデータ設計は、「第一正規化」「第二正規化」「第三正規化」などと呼ばれています。
また、処理スピードを考慮して、あえて「正規化破り」をした設計にすることもあります。
実際の設計は、簡単そうに思えるのですが、初めてみるとなかなか難しかったりします。

大きな書店にいけば、「データモデリング入門」なんてタイトルの専門書があると思いますので、購入されてみるのもいいと思います。

一部のRDBは、異動歴のようなデータを配列として複数格納できることもあるようですけど、そこだけ処理が特別になるような感じがしましたので、あまりお勧めではないと思いました。
    • good
    • 0

テーブルに縦横の概念はありません。


フィールド(氏名、性別、住所、移動歴) と レコード(Aさん、Bさん、・・・)
というものがあるだけです。

ご提示のデータで、二行目の氏名に何も入っていないレコードは、アクセスとしては不正なものとなります。
一般的に、移動部署を管理するようなものを作る時には

職員テーブル
職員ID、年齢、性別、住所、

部署テーブル
部署ID、部署名称、、、、

移動履歴テーブル
職員ID、部署ID、移動日

・・・・

のような感じ作っていき、
それらを組み合わせて必要なデータをみたり、印刷したりする機能をつけていくことが多いと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報