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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Accessのフィールド数が255しかない=業務では使えない?
PowerPoint(パワーポイント)
-
Access又はExcelで256項目を超えるCSVファイルをインポートしたい
Excel(エクセル)
-
「#エラー」の回避
Access(アクセス)
-
-
4
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
5
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
6
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
7
ACCESS2000「定義されているフィールドが多すぎます。」のエラーについて
その他(データベース)
-
8
access で「指定したフィールドが多すぎたため、・・」エラーが出ます。
その他(ソフトウェア)
-
9
ACCESSで大量の更新を行うと「レコードが大きすぎます。」
Visual Basic(VBA)
-
10
OR関数
その他(Microsoft Office)
-
11
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
12
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
13
アクセスVBAのMe!と[ ]
Access(アクセス)
-
14
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
15
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
16
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
17
ACCESSのクエリで抽出条件「または」は9個までしかかけませんよね…
Access(アクセス)
-
18
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
19
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
20
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでテーブルの値をテキス...
-
ACCESSで400以上のフィールドが...
-
Accessのフィールド数が255しか...
-
ACCESSで和暦を西暦に・・・
-
アクセス エラーを数値「0」に...
-
accessで重複を防ぎたい
-
INSERT INTO ステートメントに...
-
【Access】フォームで自動計算...
-
アクセスで複数行の一括入力す...
-
ACCESS2000「定義されているフ...
-
ODBC--リンクテーブル'XXXX'で...
-
アクセスのテーブルデータをCSV...
-
ACCESSで表が作りたく、そのた...
-
ACCESSでテーブルのフィールド...
-
ACCESSでの改行コード
-
ExcelのデータをコピーでACCESS...
-
Accessで、固定アルファベット+...
-
アクセス A列コピー B列貼り...
-
固有レコード識別子の選択とは??
-
Access 昇順・降順で並び替え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブルの値をテキス...
-
アクセス エラーを数値「0」に...
-
ACCESSでの改行コード
-
Accessのフィールド数が255しか...
-
accessのレポートで元になるテ...
-
Accessで、固定アルファベット+...
-
INSERT INTO ステートメントに...
-
Access 昇順・降順で並び替え...
-
ExcelのデータをコピーでACCESS...
-
SQLServer2005のSQL文での別名...
-
ACCESSで400以上のフィールドが...
-
アクセス VBAで列の入れ替...
-
IT用語について質問です。 以前...
-
【Access】フォームで自動計算...
-
accessで重複を防ぎたい
-
ACCESSでテーブルのチェックを...
-
ACCESSで和暦を西暦に・・・
-
アクセス メモ型 255文字...
-
主キーはオートナンバー型のID...
-
ACCESSでオートナンバーを任意...
おすすめ情報