2つのaccessテーブルを合体する方法とは?

このQ&Aのポイント
  • 2つのaccessテーブルのレコード数を合わせたい場合、Bテーブルにレコード数を自動で作成する方法があります。
  • Bテーブルはレコードが無いため、手動でレコードを作成する必要がありますが、VBAを使用して自動でレコードを作成することも可能です。
  • VBAでレコード数を数えることで、リンクテーブルのレコード数と同じ数のレコードを自動で作成することができます。
回答を見る
  • ベストアンサー

2つのaccessテーブルのレコード数を合わせたい

一つは200レコードあるリンクテーブルです。 このリンクテーブルとあるテーブル(Bテーブル)を合体させたいと思いました。 そのあるテーブルは主キーであるIDとチェックボックスの2つのフィールドだけです。 このB]テーブルの主キーとリンクテーブルの主キーとリレーションでつなげました。 しかし、そのBテーブルはレコードが全く無いのでチェックボックスが出て来ません。 リンクテーブルのレコード数分、手動で作成したらチェックボックスと組み合わさります。 これでは、毎回毎回リンクテーブルのレコード数を数えて同じ分だけBテーブルでレコードを作成しなくてはいけません。 自動で同じだけのレコードを作ることはできますでしょうか? VBAでレコード数を数えて・・・・とかするのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> このB]テーブルの主キーとリンクテーブルの主キーとリレーションでつなげました。 クエリで2つのテーブルを結合させたということですね。 クエリのデザインビューでこの結合線をダブルクリックして「結合プロパティ」を表示させます。 そこの、「リンクテーブルの全レコードを・・・・・」というオプションを選択します。 これで、リンクテーブルのすべてのレコードが表示されて、チェックボックスも表示されます。

yuukiyuuki
質問者

お礼

ありがとうございました。

関連するQ&A

  • Access2000のテーブル作成クエリについて

    テーブル作成クエリを使用し、作成された新しいテーブルを見ると、Yes/No型のフィールドのレコードが 0 や -1 に変換されています。 これを回避、または後からチェックボックスの形式に訂正する方法はないでしょうか? もうひとつ 作成された新しいテーブルでは、コピー元のテーブルで「主キー」となっていたフィールドが「主キー」ではなくなります。どうしてなのでしょうか?

  • Access 複数テーブルのレコード自動更新

    Access初心者です。会社で業務の進捗状況を、Access2002を使って管理しています。 フィールド数が増えたので、以下のようにテーブルを分けることになりました。 Aテーブル(メイン)   管理No.(主キー、オートナンバーではない)    カテゴリ    作業内容    : Bテーブル   管理No.(主キー、オートナンバーではない)    チェック項目B-1   チェック項目B-2    : Cテーブル   管理No.(主キー、オートナンバーではない)    チェック項目C-1   チェック項目C-2    : という形式で、AとB・Cはクエリのリレーションシップで、「管理No.」を1対1で関連づけています。 AテーブルのもとのデータはExcelからインポートしますが、 Aテーブルのレコード数は増えますが、クエリには反映されません。 Aのレコードが増えたら、BやCも同時に増やすことはできますか?

  • Accessのリレーションシップ

    Access初心者です。 Access2010でデータベースを作っていて、行き詰ってしまいました。 テーブル1にフィールドABCDEFがあって、Aに主キーが付いています。(Aはテキスト型でフィールドサイズ10です。) テーブル2にはフィールドAGHがあり、Aに主キーが付いてます。(Aはテーブル1と同じです。) テーブル3にも同じくフィールドAIJがあり、Aに主キーが付いています。(Aはテーブル1と同じです。) テーブル1のフィールドAを主テーブルとし、テーブル2・3のフィールドAにリレーションを組んでいます。 この時のリレーションシップで参照整合性と連鎖更新と連鎖削除にチェックを入れ、種類が一対一になりました。 その後、テーブル1でレコードを追加しようとすると、「テーブル'2'にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更を行うことができません。」と出ます。 これを解決する方法はどうするのか、お教えお願いします。 分かりにくい説明ですいません。

  • ACCESS2000 テーブルを分けてアンケートを集計するには?

    いつもお世話になっております。 WINXPでACCESS2000SR-1を使用し、 現在、アンケートを集計するデータベースを作成しています。 アンケート項目(フィールド)は、255近くあるので テーブルを何種類かに分けてデータベースを作ろうと思います。 例えば Aテーブルには「名前」 B,C,Dテーブルにはアンケートの回答を入れようと思います。 この場合、Aのレコードに対してB,C,Dのレコードを関連付けるにはどうしたらよいですか? また、クエリーでテーブルを合体すれば良いのですが フィールド数が多いためダメです。 宜しくお願い致します。

  • レコード削除でのテーブル修正

    初めて、データベースを作成するのですが、 基本的な部分でつまずいています。 テーブルのレコード削除において、 そのテーブルの主キーを外部キーに使用している他のテーブルの修正に関して 教えて頂きたいのですが? 例えば、テーブルが2つ(Table-A、Table-B)あり、 フィールドとして、 Table-A (1)販売員コード(主キー) (2)名前      (3)年齢 Table-B (1)顧客コード(主キー)  (2)販売員コード(外部キー) (3)注文日  (4)商品コード(外部キー) があったとします。 この時、Table-Aの販売員コード 0015番が辞めたので、削除する場合、 1.通常、0015番は、永久欠番にするのでしょうか、それとも新しい販売員に  割り当てることもあるのでしょうか? 2.もし、後者である場合、Table-Bの(2)販売員コードフィールドの0015番のすべてのデータは、  元の販売員と名前が違う訳ですから、どう対応したらよいのでしょう?   永久欠番であれば、まだ分かるのですが、一般に各テーブルの主キーは一度決めたら、 変更しないものなのか、変更もありえるのか教えて欲しいのです。 初心者なので、質問内容が質問になっていないかもしれませんが、宜しくお願いします。

  • Accessでのエラー

    Access修行中の身で、勉強をかねて書類BOXのデータベースを作成中です。 親テーブルのフィールド  ID(主キー、オートナンバー)、タイトル名、・・・・・、保存箱ID 子テーブルのフィールド  保存箱ID(主キー、オートナンバー)、保存箱名、・・・・ リレーション  親:保存箱ID-子:保存箱ID という構成です。 クエリで以下のような複合テーブルを作成し、 複合テーブルのフィールド  ID(主キー、オートナンバー)、タイトル名、・・・、保存箱名、・・・・ データを入力しようとすると、「レコードを追加できません。テーブルの結合キーがレコードセットにありません。」というエラーがでます。また、保存箱IDに入力のないレコードは、抽出されません。 どのようにしたいかというと、保存箱IDは入力しなくてもいいフィールド(関連させなくてもよいデータ)にしたく、複合テーブルで保存箱名を入れると、子テーブルに新たにレコードが追加されるようにしたいです。 できれば、SQLを使用せずに解決したいと甘えておりますが、無理でしょうか。

  • アクセスXPのテーブルで最大レコード数は?

    アクセスXPのテーブルで使用できるレコード数に 上限はあるのでしょうか? また、フィールド数と関連するものでしょうか? フィールド数としては5つ程度を予定しています。

  • テーブルのレコード削除ができません

    SQLserver2000を触る事になり思った通りにならず困っております。 テーブルに主キーを設定せずデータ型を「int」でフィールドに重複する数値を入れてしまいました。 後から重複入力のミスに気づき重複したレコードを 「テーブルを開く」-「全行を返す」から1レコードを 削除しようとしたのですが、 「キー列の情報が足りないか、正しくありません。更新の影響を受ける行が多すぎます。」と表示され削除できません。 このテーブルは、多くのビューで使用してすでに動いている再作成することは難しいです。 このレコードを削除する良い方法はあるのでしょうか。 ご存知の先生方ご指導よろしくお願いいたします。

  • Access 分割したテーブルを一対一で結合。新規レコードが作れなくなりました

    過去に同様の質問が無かったようなので質問します。 Access2002です。 これまで顧客名簿を一つのテーブルで管理していたのですが、フィールド数が増えてきたので、 テーブルを5分割しました。 主テーブルに対し副テーブル4つを、主テーブルのID(主キー、オートナンバー型)と副テーブルそれぞれのID(数値型)で一対一結合しています。 下記のようなイメージです。 テーブルA-テーブルB テーブルA-テーブルC テーブルA-テーブルD テーブルA-テーブルE すると、 新規レコードの登録が出来なくなってしまいました。 全部のテーブルを結合させたクエリを作って、そのクエリを基にフォームを作ったり、 主テーブルのフォームに副テーブルのサブフォームを4つ設置したり、 幾つか方法を試みたのですが、どれも同じエラーメッセージが出ます。 ↓ 「インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。」 非常に基本的な質問なのかも知れませんが、お手上げです。 どなたかご教授くだされば幸いです・・・。

  • Access2002 参照整合性について

    テーブル間にリレーションシップを設定する場合、リレーションテーブル側に主テーブルにないレコードがあると参照整合性を設定できないにも関わらず、「結合の種類」で「3」(リレーションテーブル側の全レコードと主テーブル側の同じ結合フィールドのレコードだけを含める)を選べるのは何故でしょうか。 参照整合性を設定できた時点で、リレーションテーブル側には主テーブルにないレコードは無いということだと思うのですが・・・。 よくわからなくなってしまいました。 お答え、よろしくお願いいたします。

専門家に質問してみよう