Accessでの値参照およびコピー

このQ&Aのポイント
  • アクセス2007での処理方法を教えてください。アクセス初心者です。
  • salesテーブルはcsvファイルをインポートしたワークテーブルです。
  • 受注情報テーブルに顧客IDを挿入する方法について教えてください。
回答を見る
  • ベストアンサー

access での値参照およびコピー

はじめまして、 どなたかアクセス2007での処理方法を教えてください。 アクセス初心者です。よろしくお願いいたします。 以下のような3つのテーブルがあります。 salesテーブルはcsvファイルをインポートしたワークテーブルです。 テーブル名:sales(ワークテーブル) 受注番号 名前   住所 3   さぶろう 長野県 4   しろう  愛知県 ここから追加クエリで以下のテーブルにデータを追加しました。 (ID12と13、IDはオートナンバーです。) テーブル名:顧客マスター 顧客ID 名前 住所  10 たろう 東京都 11 じろう 神奈川県 12 さぶろう長野県 13 しろう 愛知県 そして以下のテーブルにも追加クエリでワークテーブルの情報を追加しました。 テーブル名:受注情報(受注番号3と4を追加) 受注番号 顧客ID  商品名 1    10   りんご(すでにあるデータ) 2    11   ばなな(すでにあるデータ) 3         りんご(今回ワークテーブルから追加したデータ) 4         みかん(今回ワークテーブルから追加したデータ) 上記の場合で、受注情報テーブルに顧客IDを挿入するには どのような方法で追加すればよいのでしょうか? ワークテーブルの中に顧客IDはないので単純な追加クエリでは できなのでどうやったらよいか分かりません。 (顧客テーブルと受注情報テーブルは結合されています。) 同姓同名を避けるためにsalesテーブルの名前&住所と顧客マスターテーブルの 名前&住所を比べて、同じものの顧客IDを受注情報テーブルの顧客ID欄に入れたいのです。 そうすると顧客テーブルと受注情報テーブルの顧客IDのリレーションシップに矛盾が 起きないのではないかと思っています。 よろしくお願いいたします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

>顧客マスタには受注番号が入っていないのですが、 >どのようにしたらよろしいでしょうか? 失礼 salesと受注情報を受注番号で結合 の間違いです

taro0408
質問者

お礼

CHRONOS_0様 できましたぁ。 ありがとうございます。 初めて更新クエリを使いました。 案外簡単だったのでびっくりです。 また何かありましたらよろしくお願いいたします。<(_ _)>

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

クエリデザインビューに3つのテーブルを取り込み salesと顧客マスタを名前と住所で結合 顧客マスタと受注情報を受注番号で結合 受注情報の顧客IDを取り出し 更新クエリに変えて レコードの更新欄に [顧客マスタ].[顧客ID]

taro0408
質問者

補足

アドバイスありがとうございます。 顧客マスタには受注番号が入っていないのですが、 どのようにしたらよろしいでしょうか? お手数をおかけいたします。

関連するQ&A

  • Access クエリ このレコードセットは・・・

    いつもお世話になります。 Accessで下記の様にクエリを作成しましたが、”このレコードセットは更新できません”と出てしまいます。 ■テーブル1  ・顧客ID(主キー)  ・顧客名  ・住所  ・TEL ■テーブル2  ・顧客ID  ・取引ID(主キー)  ・請求金額 ■クエリ1(集計クエリ)  ・顧客ID グループ  ・請求金額合計: Sum(請求金額) 合計 ■クエリ2(実際に使用するクエリ)  ・顧客ID(テーブル1)  ・顧客名(テーブル1)  ・住所(テーブル1)  ・TEL(テーブル1)  ・請求金額合計(クエリ1) このクエリ2を開いて更新しようとしても、”このレコードセットは更新できません”と左下に表示されて更新できません。 ・請求金額合計(クエリ1)を除けば問題なく更新できます。 ですが1顧客に対して通算で幾ら請求をしたかとその顧客のデータを同一クエリで表示・更新したいので、意味をなさなくなってしまいます。 どなかた良い方法をご教授下さいませ。

  • Access、同じテーブルの2つの項目対他のテーブルで1つの項目のリレーションは可能?

    Accessで販売管理をしています。 以下のテーブルを作成し(*は主キーです)、 [売上T]  [商品M]  [顧客M]  [受注T] *売上NO  *商品ID  *顧客ID1  *受注NO 商品ID   商品名    *顧客ID2  商品ID 日付    顧客ID1     顧客名    受注日 金額    顧客ID2            受注金額        受注先1        受注先2 参照整合性にチェックを入れリレーションでつないでいます。 リレーションシップは下記のとおりです。 [売上T]商品ID―[商品M]商品ID―[受注T]商品ID [商品M]顧客ID1及び2―[顧客M]顧客ID1及び2―[商品M]受注先1及び2 ここで顧客と受注先が重複することもあるので、顧客Mから顧客ID及び受注先IDの2つのテーブルにリレーションシップを設定しているのですが、 クエリで  [受注T]受注NO及び受注金額、[顧客M]顧客名で抽出したところ、 5000件以上[受注T]にデータがあるはずのものが、1200件ほどしか抽出できませんでした。 ちなみに[顧客M]と[受注用顧客M]というまったく別のテーブルを作成し、 [商品M]受注先1及び2―[受注用顧客M]顧客ID1及び2 とリレーションを作成し、クエリで抽出するとうまくいきました。 しかしこの方法だと、[顧客M]と[受注用顧客M]という2つのテーブルを管理しなければならなくなるので面倒です。 そこで質問です。 同じテーブルの2つの項目対他のテーブルの1つの項目とでは、うまくリレーションが設定できないのでしょうか。 もし出来ない場合、[顧客M]と[受注用顧客M]の2つのテーブルを管理しなければならない訳ですが、 なんとか簡単に管理できる方法(ひとつのテーブルを変更すると簡単にもうひとつが変更できる設定)はないでしょうか。 非常にわかりにくく長い文章で申し訳ありません。 VBA等はさっぱりわかりませんので、普通の設定の範囲内で、できるかどうかよろしくお願いします。

  • access table 上書きしてデータ追VBA

    access365 名簿accdbにおいて テーブル1に ID 名前 住所 郵便番号 という項目があり IDは重複不可 数値 テーブル2に ID 名前 住所 郵便番号 という項目があり IDは重複不可 数値 と ふたつのテーブルがあるとき 追加クエリーで テーブル1に テーブル2のデータを追加するときは 同一のIDでは 上書きができません テーブル2のIDが テーブル1にまだ存在しないIDの数値であれば 追加クエリーにより データの追加ができますが 例えばIDが3の人物がいて そのテーブル1の住所が東京で これが新しいデータの格納されているテーブル2では ID3の住所が千葉となったときに これを追加クエリーでIDを3として上書きはできない構造のようです 更新クエリー というのも調べてみましたが ある一定の規則でたとえば物品の値段が100円増しのような 一定の更新条件がある場合であれば更新クエリーが使えますが 上の例のようにテーブル2においてテーブル1にもすでに名前の登録のあるIDのひとの 数人が住所がテーブル2において 新しいものとして変更されていて それをテーブル1に一括で住所の変更のできるVBA 御教示いただけますか (上記の場合ですと住所の変更と郵便番号の変換が同時に当然起きえます) また 同時に テーブル1にはIDの登録もまだない新規IDのひとも テーブル2に存在するとします 要は テーブル2には テーブル1にすでにID人物登録のあるひとと 新規IDのひとが混在している条件で、作りたいと思います すみませんが、おちから頂けると助かります 宜しくお願い致します office365 win10

  • アクセスで値を参照したい

    Win2000,Access2000を使用しています。 AB二つのテーブルに「仮番号」というフィールドがあり、同じ「仮番号」のレコードに同じ「伝票番号」をつけたいんです。 Aテーブル(お客様情報) Bテーブル(注文履歴) Aテーブルの「伝票番号」フィールドに番号を入力したら、BテーブルのAと同じ「仮番号」のレコードの「伝票番号」フィールドに番号が入力されるようにしたいのですが、どのようにVBまたは、フォーム上のテキストボックスのプロパティで組んだらよいのかわかりません。 Bテーブルには、過去の注文データもあるのですでに入力されているレコードには過去に受注した時の伝票番号入力されています。 新規入力したレコードに対してだけAと同じ伝票番号をつけたいのです。 Bテーブルで、         |商品名|価格  |伝票番号| 過去の受注データ|電卓 |¥500|1000  | 今回の受注データ|名刺 |¥800|2500  | と、こんな感じにしたいんですが うまく説明できず申し訳ありませんが、どうぞよろしくお願い致します。

  • Access リレーションが分かりません。

    こんにちは、Access初心者です。 現在の受注テーブルをIDベースでCSVでエクスポートするシステムを追加しようと思っているのですがイメージがわきません。 同じデータベースにCSVテーブルを新規で追加し受注テーブルのIDとCSVテーブルの受注IDを一対多でリレーションをしました。(受注テーブルにはデータが入っていますがCSVは新規です。) 受注テーブル ID:オートナンバー 納期:日付 品番:テキスト 数量:数値 CSVテーブル ID:オートナンバー 状況:テキスト...未と済をコンボボックスで選択式 受注ID:数値 メインフォームでCSVテーブルの状況ベース、受注テーブルの納期ベースでデータを抽出 サブフォームで上記条件のデータが見れるように作ろうとしました。 ですが、サブフォームクエリの段階でデータが新規入力レコードしか表示されてきません。 どうしたら、受注テーブルの一つ一つのレコードにCSVテーブルのレコードが結びつけられますか。 ど素人ですみません。

  • Access2000 フォームからレコード検索

    Access2000で質問です。 「顧客テーブル」を作ります。 顧客テーブルには以下のフィールドを設けます。 顧客ID(主キー) 名前 TEL 住所 変更住所 顧客IDから住所まではすでにデータが入っています。 「変更住所」に新しくデータを入れていきます。 その際に、フォームを利用したいと思っていますが、 新規フォーム(何もデータが入っていない)に顧客IDを入れたら、すでに顧客テーブルに入力されている名前、TEL、住所がパッと表示され、変更住所だけが空欄で表示されるようなフォームを作りたいと思います。 どのような方法がありますでしょうか? ぜひお知恵を貸してください。よろしくお願いいたします。

  • アクセスで同一テーブル内へのデータの追加

    こんにちは。Access2000を使用しています。 「顧客テーブル」には「お買上げ年度」と「顧客名」フィールド があります。 「お買上げ年度」= "2007"の顧客を、「お買上げ年度」 = "2008" として「顧客テーブル」内に追加したいのですが、一度仮テーブル やCSVファイルにデータを退避することなく、クエリやVBA(ADO)で 対応することは可能でしょうか?(=同一テーブル内への追加クエリ を実行したい。)よろしくお願いいたします。

  • ACCESSで出欠リストを管理する

    ACCESSでこんなことができないか調べています テーブルA・・・顧客ナンバー、顧客名、顧客情報、出欠欄 テーブルB・・・X日に会議に出席した人の顧客ナンバー、顧客名 テーブルAに1万件の全顧客データ、Bに500件のX日の出席者のみのデータがあったとして、テーブルAの出席欄にBの500件分について○をつけるということは可能でしょうか?そして、また次に会議があったら、XX日会議出席者に○をつけるというようにして、テーブルAに情報を追加して行く形で全部の情報をテーブルAのデータベースで管理したいのです。 私の技量ではテーブルAとBをクエリを使って出席した人の顧客情報をくっつけるぐらいが精一杯なのですが、テーブルAとBをクエリでくっつけて、それからAから重複を削除して、くっつけたデータを追加してうんぬん、とむにゃむにゃいじればなんかぐちゃぐちゃになりながらもできそうな気もするのですが、よく判りません。 スマートなやり方があればぜひ教えてください。

  • アクセスでの考え方

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

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

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

専門家に質問してみよう