• ベストアンサー

アクセス2000 ファイルの結合

t_顧客情報、t_購入明細の2つのテーブルを顧客ID(オートナンバー)でリレーション設定し、管理しています。テーブルもフォームもまったく同じファイルが2つあり、それぞれにデータが入っています。顧客IDはどちらとも「000001」からついています。この2つのファイルのデータを1つのテーブルへデータを結合したいのですが、どのような手順で行えばよいでしょうか。アドバイスお願いします。

  • non23
  • お礼率76% (33/43)

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

  • ベストアンサー
noname#4564
noname#4564
回答No.2

> >Union でレコードをマージし、 > とは、どのようにすればよいのでしょうか?よろしければ回答お願いします。 [ Google 検索: SQL UNION ]

参考URL:
http://www.google.co.jp/search?q=SQL+UNION&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

その他の回答 (1)

noname#4564
noname#4564
回答No.1

> どのような手順で行えばよいでしょうか。 概ね、下記のような要領かと思います。 (1) 現状のファイルを退避する。 (2) テーブルストラクチャのみの複製を作る。 (3) Union でレコードをマージし、(2)のファイルに出力。 (4) マージ後のレコードの整合性を検査。 (5) オリジナルのファイルと同様、リレーションを設定。

non23
質問者

補足

早速のご回答ありがとうございます。 >Union でレコードをマージし、 とは、どのようにすればよいのでしょうか?よろしければ回答お願いします。

関連するQ&A

  • Access2003でのフォーム作成について(再度です)

    民宿の顧客管理をAccessでしようかと思っています。 氏名、住所、来客日などのフィールドを持つ顧客テーブル。 来客日、その日の献立1~17までを持つ日別献立テーブル。 この2つのテーブルからクエリーを作成し、 それを基にフォームを作ってデータを両方のテーブルに振り分けしようとしたんですが、うまくいきません。 クエリーで来客日同士を結ぶとデータは表示されますが新規の入力が出来ません。 顧客テーブルの顧客ID(オートナンバー)と 日別献立テーブルに顧客ID(数値型)を挿入し、2つを結んでも一方のデータしか表示されません。 おかしいとは思いますが、何がおかしいかわかりません。 何か良い方法があればお教え下さい。

  • アクセスのフォームによるデータ入力について

    顧客の販売履歴管理で サブフォーム上に抽出した顧客データをクリックして 入力用のフォームが立ち上がりデフォルト値として抽出した顧客のデータがすでに入った状態にする方法はどうすればよいでしょうか? 顧客データデーブルと履歴テーブルがあり2間は顧客IDでリレーション関係されています。

  • フォームに新規レコードを入力できない

    アクセス2000 ウィンドウズ98 1.テーブル T_Master ID(主キー)、名前、住所 2.テーブル T_Detales ID(主キー)、基本ID、日付、金額 リレーション→T_MasterのID(主キー)=T_Detalesの基本ID(1対多) 結合プロパティ→2 フォーム(データシートビュウ) 名前  住所  日付  金額 山本  港区  3/19  3000 山本  港区  3/20  2000 山本  港区  3/22  4000 田中  新宿  2/17  1000 田中  新宿  1/17  1200 田中  新宿  3/22  1500 石井  横浜  3/22  4000 という具合に表示されています。 さらにフォーム開くときにフィルターによって、 名前  住所  日付  金額 山本  港区  3/19  3000 田中  新宿  3/22  1500 石井  横浜  3/22  4000 という具合に3月中のデータのみ表示されるようにしています。 最後の行(石井)のあとに新しい顧客が発生したら、追加できるように作成するにはどうしたら作成できますか? 現在のところ、「石井」の後ろに新規顧客を入れようとすると、当然ながら "レコードが追加できません。テーブル'~'の結合キーがレコードセットにありません。" と表示されます。 IDフィールド(オートナンバー)を作っても見ましたが、同じエラーがでて、新規登録できませんでした。 T_Masterに顧客を新規に登録すると同時に、明細をT_detailesに書きこむ方法があれば、教えてください。

  • access フォーム間で情報が引き継がれない

    初心者です、よろしくお願いします。 仕様環境 WinXP Access2002 請求管理のシステムを作っています。 テーブルには 顧客マスタ(主キーは顧客番号でテキスト型 例:0001等) 請求マスタ(主キーは請求番号でテキスト型 例:A0001等) 明細マスタ(主キーは明細番号でオートナンバー ダミーみたいな感じで使っています。) そしてリレーションシップで顧客マスタ(1)→(多)請求マスタ(1)→(多)明細マスタになっています。 顧客マスタを元にしたフォーム(顧客入力フォーム)に顧客情報を入れて、 「請求書作成ボタン」を作り、そのボタンを押すと別のフォーム(請求書作成フォーム)に 飛ぶようにしているのですが、その際に顧客入力フォームに入力した情報を 引っ張っていくようにしたいのですが、うまくいきません。 ちなみに顧客マスタと請求マスタのリレーションは”顧客番号”でつなげています。 請求書作成フォームは請求書作成クエリから成り、 その中で顧客番号(テーブル:顧客マスタ)の抽出条件に[Forms]![顧客入力フォーム]![顧客番号]と 入れて”顧客番号つながり”で飛ぶようにしているのですが、 請求書作成フォームは開くのですけど、項目はすべて空白です。 またいろいろレコードを追加している内に、請求番号が既にあるものに対しては顧客情報も引き継がれることが判明しました。 構文が間違っているのでしょうか? 混乱しています、お助けください。

  • Access フォームのデータがテーブルに反映されない

    こんにちは。 現在、アクセスを使って簡単なデータベースを 作っていたのですが、ひとつわからないことがございます。 テーブルを二つリレーションを組んで、 フォームを作ったのですが、 うまく二つのテーブルにデータが 保存できません。 フォーム:顧客ID、名前、電話番号 サブフォーム:商品ID、商品名、納期、など。。。 こういった二つのテーブルで、サブフォームの方のテーブルに 顧客のデータも保存したいんですが、できるものなのでしょうか? 初心者でわかりづらくて、 大変申し訳ございませんが、よろしくお願い致します。

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

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

  • ACCESS SQL ユニオンと右結合

    いつもお世話になっています。 ACCESS 初心者ですが、年間の売上データテーブルと今月の売り上げデータテーブルをクエリで結合させたあと、右結合でそれぞれの区分を表示させたいと考えています。 現在、年間の売上データテーブルに右結合でそれぞれの区分を表示させる (区分があったりなかったり、しかも区分の管理番号は末尾が随時更新されていくので、リレーションはSQLビューを使用)ところまではやってみたのですが、 今月の売り上げをどうやって結合させたらよいのかわかりません。 詳しい方に教えていただきたいと思います。 よろしくお願いいたします。 ACCESS2007~2010 SELECT [T_年間売上].ID, [T_年間売上].日付, [T_年間売上].管理番号, T_区分種類.書類名称, [T_年間売上].品番, [T_年間売上].受領欄, [T_年間売上].PDF FROM T_区分種類 RIGHT JOIN T_年間売上 ON T_区分種類.CSNo=IIf(LEN(T_年間売上.管理番号)=13,LEFT(T_年間売上.管理番号,10),LEFT(T_年間売上.管理番号,8));

  • Accessについて教えて下さい。

    Access初心者です。 フォームのクリック時のイベントで開いた別のフォームを、サブフォームのリンクフィールドように、リレーションの項目を入力しなくてもテーブルに反映させるにはどうしたらいいのでしょうか? 今現在の状況は テーブルは顧客リスト、送付物、問合せがあり顧客IDでリレーションになっています。フォームはそれぞれ作りました。 メインフォームは顧客フォームで問合せのサブフォームが組み込まれています。送付物フォームはボタンでクリック時開くようマクロで作成しました。where条件は[顧客ID]=[Forms]![顧客リスト]![顧客ID]となっています。 例えば手紙を送ることになり、顧客フォームで該当者を選択→ボタンをクリックし送付物フォームを開く →顧客IDを入力→その他必要事項を入力というかんじです。 顧客IDを入力しないと『フィールド顧客IDとキーが一致しているレコードをテーブル顧客リストで探すことはできません』とエラーになります。 問合せのサブフォームは顧客IDでリンクフィールドとなっています。 ID表示が必要ないので顧客IDは消してあります。 こちらは顧客フォームで該当者を選択し、顧客IDを選択しなくても入力すると問合せテーブルに顧客IDも反映されています。 問合せのように送付物にも顧客IDを選択しなくても反映させるようにするにはどうしたらよいでしょうか? 説明がわかりづらいとは思いますが、お分かりになる方よろしくお願い致します。

  • MS ACCESS 2003 サブレポート機能でメインレコードと関係の

    MS ACCESS 2003 サブレポート機能でメインレコードと関係のないレコードも表示される どなたかアクセスに詳しい方、教えて頂けませんでしょうか。 MS ACCESS 2003 にて、帳票印刷システムを構築しております。 ・請求ヘッダテーブル・・・顧客ID、顧客会社名、顧客氏名、住所 等 ・請求明細テーブル・・・顧客ID、請求明細名、単価、数量、小計 等 となっております。 こちらの状態で、顧客ID別(1人ずつ)に、紙面の上部に請求ヘッダテーブルの情報を羅列し、 紙面の下部に表形式で請求明細テーブルを表示するような形式の「レポート」を作成したいと考えております。 そこで、メインレポート/サブレポート機能を使って、上記を実現したいと思い、以下のような手順でトライしているのですが、サブレポート部分(デザインビューで見た場合の「詳細」部分)に、でメインレポート部分の顧客IDの請求明細データではないレコード(違う顧客IDの請求明細)まで表示されてしまいます。 ■リレーションを作成 ・メニュー「ツール」⇒「リレーションシップ」にて、請求ヘッダ-請求明細をひもづけ。 ・参照整合性にチェック。 ・結合の種類は「請求明細の全レコードと請求ヘッダの同じ結合フィールドのレコードだけを含める」。 ■レポートを作成 ・レポート⇒新規作成⇒レポートウィザードでレポートを作成。請求ヘッダのみの情報で作成。 ・デザインビューの詳細部分にて、サブレポートを呼び出し。請求明細テーブルを選択し、顧客ID、請求明細名、単価、数量、小計 等を選択。 上記のようにすると、顧客IDとは関連なく(正しい詳細データもそうでないデータも合わせて)10件の請求明細データが表示されます。 また顧客ID=1の場合も、次のページの顧客ID=2の場合もすべて同じ10件の明細データが現れます。 インプレスのアクセス本を参照しながら作業しているのですが、詳しくない分非常に苦労しております。 どなたか、なにとぞよろしくお願いいたします。

  • アクセスでの考え方

    アクセスで販売管理のようなシステムをつくっています。 見出部と明細部があるようなフォームを作成していますが、以下のような動作をさせたいときには クエリ、VBAなどなどなにをもってその動作を実現するかを教えてほしいです。 1.見出部顧客名と顧客住所を入力するようにしているのですが、顧客テーブルに顧客名と顧客情報のフィールドがあり、顧客名を選べば顧客住所が入るようにしたい。 2.明細部に販売商品を入力できるようになっていますが、見出し部に販売ID(オートナンバー型)を キーにしているのですが一度入力した販売IDがきまれば見出し部の顧客名などを変更できないようにしたい。 3.みなさんはアクセスでシステムを作るときこのような動作や制御をしたいときどのように実現するような考え方を持っていますか?、可能な限りクエリで実現できるように考えてVBAは極力組まないようにしている、あるいは逆に可能な限りVBAで組むようにしてクエリではしないようにしているなど、効率的なアクセスでの動作の考え方のヒントになるような考え方を教えてください。 以上3点です、よろしくお願いします。