
ACCESSでデータベースを作成していますが、入力する項目が計400程度になりそうなことが分かり、
色々調べた結果、テーブルを分けてクエリで結合というのがいいということで、
A(主要情報の入力テーブル。フィールド数200)
B(追記項目や詳細なオプション情報。フィールド数200)
の2テーブルまで作りました。
また、Bテーブルに全く情報を入れない場合もあります。
そこで質問させていただきたいのですが、それらを結合するにあたり、どのように関連付けすればよいのでしょうか?
Bには後でオプション情報を追記することもあるので、Aを入力した時点でBの空テーブルも作成できるようにしたいのです。
ただ、その場合のAとBテーブルの関連付けできる基本情報がないので悩んでおります。
どうぞ宜しくお願い致します。
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
設計上はもっと細かくテーブルを分けた方がいいような気がします。
。。1つのテーブルで15前後に押さえてテーブル数20~30というのが普通です。
1つのテーブルを巨大にしても項目を探すのが大変であったり、
少しの変更に時間がかかったりと硬直化しがちです。
関連付けは両方のテーブルで同一の項目を用意します。
仮に商品コードというキー項目があったとして、
AとBに商品コードを用意します。
この回答への補足
アドバイスありがとうございます。
関連付けるべき項目を作らなければいけないのはこれまでの試行錯誤で分かったのですが、
ないんですね‥関連付けられそうな項目が。。
あるとすれば伝票番号なのですが、それを入力したら主にも副テーブルにも同じ番号が自動で入る方法はなさそうですし、難しいのですかね?やはりある程度は手動でしないと。
ありがとうございます!

No.6
- 回答日時:
皆様が回答されていることをまとめると、
例えばAにオートナンバーの主IDを作った際に、
BにAのIDを入れるフィールドを用意すれば
よいだけです。 これはオートナンバーではなく、
長整数型などにしておき、データを入れる際に、
Aテーブルとの整合性を保つように作ればよい
わけです。
ただし、クエリのフィールド数も255なので、
ひとつのフォームの連結フィールドによって
指定できるデータ数は255です。
テーブルの設計はシステム上とても大切なこと
なので、ある程度理解してから事を進めないと、
もう一回作り直したいと思われることが何度も
おきると思われますので、大きなものに取りかかる
前に、しっかりと勉強なさってください。
> データを入れる際に、Aテーブルとの整合性を保つように作ればよい
わけです。
確かにそうですね。自分でオートナンバーと同じ番号を入れればよい‥。
しかし入れ忘れたり、後で副テーブルのみを見た時の混乱が心配です。
できればAのデータ入力の時点でBにも同じものが入ればと‥。
とにかくアドバイスありがとうございます!
No.5
- 回答日時:
どうやらテーブルを分けるという意味をよく理解しておられないみたいですね
(1)テーブル内に繰り返しがあるときは別テーブルに分ける
例 質問1、回答1、質問2、回答2、・・・
(2)主キー以外に従属するフィールドは別テーブルに分ける
例 売上ID、売上日、顧客ID、顧客名、顧客電話番号
の顧客名、電話番号
などの正規化規則に則って分けていくのですよ
フィールド数が多すぎる場合は(1)の繰り返しのケースが多いですね
> フィールド数が多すぎる場合は(1)の繰り返しのケースが多いですね
まさに仰るとおりです。この形ですね。
この(1)の場合の分け方で混乱しております。これを正規化‥できるのでしょうか‥。
とりあえず私のレベルが低いことだけは分かりました。。
No.4
- 回答日時:
> 色々調べた結果、テーブルを分けてクエリで結合というのがいいということで、
クエリにしたところで、
1レコードのフィールド数は 255 まで
という制限があることはご存知ですよね?
ちょっと心配になりました。
この回答への補足
知りませんでした‥。ありがとうございます!
しかしながら、クエリは恐らく255までは行かない形で作成できると思います。
勉強になりました。
No.3
- 回答日時:
<主表>
ID__フィールド_1__フィールド_2
1___F1_1____________F2_1
2___F1_2____________F2_2
<従表>
ID__主表_ID__フィールド_1__フィールド_2
1____2__________S_F1_1_________S_F2_2
<主表 クエリ>
ID__主表.フィールド_1__主表.フィールド_2__従表.フィールド_1__従表.フィールド_2
1___F1_1___________________F2_1
2___F1_2___________________F2_2___________________S_F1_1________________S_F2_2
SELECT 主表.ID, 主表.フィールド_1, 主表.フィールド_2, 従表.フィールド_1, 従表.フィールド_2
FROM 主表 LEFT JOIN 従表 ON 主表.ID = 従表.主表_ID;
※こういうテーブル設計になるかと思います。
※問題は、かかる主と従の関係を持つテーブルデータの管理要領が不明なこと。
※しかし、これはリレーショナル・データベースの基本中の基本。
※ヘルプの「Access データベースのリレーションシップについて」を一通り読まれたし。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) ACSESS初心者です マンション管理をACCESSで出来ないかとチャレンジしています。 リレーショ 3 2022/10/08 11:45
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessのフィールド数が255しかない=業務では使えない?
PowerPoint(パワーポイント)
-
列が255以上のCSVファイルをAccessでリンクテーブルを作るには
Access(アクセス)
-
Access又はExcelで256項目を超えるCSVファイルをインポートしたい
Excel(エクセル)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
ユニオンクエリで繋げられるテーブル(クエリ)の上限の個数は?
Access(アクセス)
-
6
access で「指定したフィールドが多すぎたため、・・」エラーが出ます。
その他(ソフトウェア)
-
7
ACCESS2000「定義されているフィールドが多すぎます。」のエラーについて
その他(データベース)
-
8
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
9
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
10
Access2010 「演算子がありません」エラー
その他(データベース)
-
11
アクセスのフォームの幅の最大値はいくつでしょうか?
Access(アクセス)
-
12
Access クエリ実行が急に非常に遅くなりました。
Access(アクセス)
-
13
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
14
ACCESSの空白をカウントする
Access(アクセス)
-
15
アクセスVBAのMe!と[ ]
Access(アクセス)
-
16
accessのフィールドの数
Access(アクセス)
-
17
AccessのSQL文で1件のみヒットしたら終了させる構文。
その他(データベース)
-
18
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
19
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
20
ACCESSでの改行コード
その他(データベース)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSで400以上のフィールドが...
-
アクセス エラーを数値「0」に...
-
accessのレポートで元になるテ...
-
ACCESSでの改行コード
-
Accessのフィールド数が255しか...
-
INSERT INTO ステートメントに...
-
ACCESSで表が作りたく、そのた...
-
ExcelのデータをコピーでACCESS...
-
アクセス メモ型 255文字...
-
ACCESS2000「定義されているフ...
-
Access:リンクテーブルマネー...
-
【Access】フォームで自動計算...
-
Access⇒エクセルへのエク...
-
Accessでテーブルの値をテキス...
-
フォームのデータシートビュー...
-
主キーはオートナンバー型のID...
-
ACCESSでテーブルのフィールド...
-
ACCESSでの連番作成
-
ExcelのデータをAccessのテーブ...
-
SQLServer2005のSQL文での別名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INSERT INTO ステートメントに...
-
Accessのフィールド数が255しか...
-
ACCESSで400以上のフィールドが...
-
SQLServer2005のSQL文での別名...
-
アクセス エラーを数値「0」に...
-
accessのレポートで元になるテ...
-
Accessでテーブルの値をテキス...
-
ACCESSでの改行コード
-
ACCESSでテーブルのチェックを...
-
ExcelのデータをコピーでACCESS...
-
ACCESS検索★ある文字を複数のフ...
-
Access 昇順・降順で並び替え...
-
アクセス メモ型 255文字...
-
アクセス A列コピー B列貼り...
-
【Access】フォームで自動計算...
-
ACCESSでオートナンバーを任意...
-
Access:リンクテーブルマネー...
-
ACCESS VBAにてCSV...
-
Accessで、固定アルファベット+...
-
主キーはオートナンバー型のID...
おすすめ情報