• ベストアンサー

Access 更新クエリについて

yumi-accessの回答

回答No.4

VBAで処理する方が正確にできると思います。 Excelの更新履歴を取込む際に、入力項目がある顧客情報のみ更新するようにすればよいのかと思います。 ただそうすると、空白に更新したい時に出来ないと思います。 項目数が少ないのであれば1つの項目のみを条件に更新するような 更新クエリを作成すればシンプルに更新クエリを作成できると思います。 例)入力がある項目のみを抽出し一致するレコードの項目のみ更新 住所差分更新クエリ 電話番号差分更新クエリ 名前更新クエリ ①クエリを起動してT_更新履歴とT_顧客情報を選択し  2つをキーで繋ぐようにする ②条件に住所なら住所<>"" ③更新クエリにして更新項目をT_更新履歴.住所→T_顧客情報.住所 これを項目数の数分作成する 一番楽で正確なのはVBAを使う事と思いますがハードル高くなってしまうので少し手間ですが更新クエリを必要な項目の数分作成して実行するのが良さそうに思います。

関連するQ&A

  • Access 更新クエリについて

    いつもお世話になっております。 今回もAccessについてご指南お願い致します。 ただいまAccess2007で顧客管理DB作成しておりそれは無事完成いたしました。 今回は、更新クエリについてお伺いしたいです。 クライアント様より、お客様の進捗状況データがエクセルで毎週送られてきます。 そのデータ型は毎週同じです。 顧客番号、お客様の現ステータス、申込状況、支払方法登録状況など、 1行ごとにお客様の情報が記載されています。 A B C D E 1顧客番号 ステータス 支払い 入会日 開始日 2S52134 利用OK コンビニ 2015/3/10 2015/3/15 3 … 4 … 5 … といったデータです。 これを貼り付ける用のテーブルを作成しクエリで更新したい項目と紐付ける為の項目(今回は顧客番号)を出してきて、なおかつメインテーブルから更新したい項目をだしてきたクエリを作成しました。 更新用クエリで上記の二つのクエリを紐付けし、更新できるようになりました。 今までは上記でなんら問題なかったのですが、今回は更新データが2つ来ることになりました。 一つは他社利用だった新規のお客様のデータ、もうひとつは自社利用中のコース変更のお客様のデータです。 上記二つのデータはほぼ同じなのですが、新規データの方が項目が何個か多いのです。 毎回毎回自社利用のデータをコピペで新規お客様データに張り付ければ問題ないのですが、毎週の事で手間に思い、もうひとつ上記と同じようにテーブルを少し変えたもので更新クエリを組みました。 そうするとやはり、他社更新→自社更新、自社更新→他社更新どちらの順序で更新しても先に更新した方のデータが空白になってしまいます。 他社、自社共に更新する対象ものは同じものなので当然ですよね。。。 なので今回はテーブルにはったデータのみを更新するという方法をお伺いしたいです。 お前ばかだなあ、こういう方法もあるよって方も是非教えてください!! 分かりにくかったら本当に申し訳ありません。 ご教授の程何卒宜しくお願い致します。

  • アクセスのクエリで更新できるようにしたいんですが、

    アクセス2000を使っています。クエリから、作ったフォームを更新したいのですが、できません。どなたか教えて下さい。 二つのテーブルがあります。 ・テーブル1=顧客番号、顧客名、初来店日、来店日2・・・ ・テーブル2=顧客番号、顧客名、アンケートの有無、カードの有無・・・ というようなもので、エクセルから外部データの取り込み→テーブルのリンクで作ってます。 この二つのテーブルから ・クエリ1=顧客番号(テーブル1)、顧客名(テーブル1)、初来日店(テーブ ル1)、アンケートの有無(テーブル2) を作り、これをもとにフォームを作ってフォーム上でアンケートの有無を更新できるようにしたいのですが・・・。 初心者で説明も上手くできなくてごめんなさい。 宜しくお願いいたします。

  • アクセス2000でクエリーで更新できない

    アクセス2000で簡単なプログラムを作成中なのですが、2つのテーブルをリレーションで繋いでそれぞれ必要項目を抽出するクエリーを作成しました。 このクエリーをフォームに使って空欄のエリアにデータを 入力しようとしたら次のメッセージとなりました。 「このレコードセットは更新できません。」となってしまいます。根本的なミスのような気がしますが、気が焦っていて思いつきません。どこの設定を見れば良いか、どなたかご教示ください。 よろしくお願いします。

  • ACCESSのクエリの考え方

    お世話になります。 現在、アクセスを参考書片手に取り組んでいます。参考書の通りに進んでいたのですが、 クエリのことで悩んでいます。 自分なりの理解なのですが…、テーブルにあるデーターを会議などの資料のために いろんな条件で抽出したりしないかぎりは、別にクエリを作成しなくてもいい、 (要するに、「こういう条件のデーターが欲しい!」って時以外は、基本的には テーブルへのデーター入力だけでOKで、クエリは別に必要ない) という認識で正しいでしょうか? 参考書がやたらとクエリを作成させたがるために、よく分からなくなっています。 下記が、アクセスの目的ですが、自分的にはフォームは扱いやすくする必要が あると思うのですが、いまいちクエリの必要性がわからないのです。 ―――目的――― ・顧客情報・商品情報・顧客ごとの見積・問い合わせを、 社員(10名程度)で  共有したいため。(現在は各々が紙にて管理) ・データーはNASかサーバーにアクセスのデーターを入れて、各々のPCから  閲覧・書き込みができるようにする予定。 ・共有したい情報(「顧客情報」「商品情報」「見積情報」「問い合わせ情報」「クレーム情報」)は  テーブルにて作成。 ・入力・閲覧がしやすいように、フォームについては作成予定。 ・見積書などはアクセスでは作成しない。

  • Accessのクエリについて質問です。

    Accessのクエリについて質問です。 T_元データ、T_書換データという2つのテーブルがあります。 それぞれのテーブルは顧客番号、金額1、金額2、金額3というフィールドがあります。 テーブル生成クエリで、以下のような新規テーブルを生成したいと思います。 ---------------------------------------------------------------- 【1】顧客番号が一致した場合、T_元データの金額1、金額2、金額3を T_書換データの金額1、金額2、金額3に書き換えたい。 【2】顧客番号一致しない場合、T_元データの金額1、金額2、金額3を をのまま表示させたい。 ---------------------------------------------------------------- 【1】については正常に書き換えができていますが、 顧客番号が一致しない場合は、金額1、金額2、金額3がブランクになってしまいます。 【2】のような動きにするにはどうしたらよいのでしょうか? ちなみに、結合プロパティは以下のように設定しています。 左のテーブル名:T_元データ  右のテーブル名:T_書換データ 左の列見出し:顧客番号    右の列見出し:顧客番号 2を選択 ('T_元データ'の全レコードと'T_書換データ'の同じ結合フィールドのレコードだけを含め る。) よろしくお願いいたします。

  • アクセスの追加クエリで教えてください。

    非連結のフォームから、追加クエリを使ってテーブルにデータを追加したいのですが、 どうもうまくいきません。 具体的には、 履歴フォーム、というフォームで、 日付 施設名 内容 という項目があります。 追加クエリで、 [Forms]![履歴フォーム]![日付] のようにほかの項目も入力し、 その保存先は、 履歴テーブル、で、 項目は、履歴フォームと同じです。 履歴フォームにデータがまったく入っていない状態ですと、 追加クエリを実行した際、 0件のデータを追加します。となります。 自分でテーブルに直接データを何か入力すると、 次に追加クエリを実行した際、 1件のデータを追加します。となります。 続いて追加クエリ実行の際には2件、 その次は4件追加と、 テーブルに入っているデータの件数だけ、 そのときにフォームに入力されている情報が、追加されてしまいます。 どのような原因が考えられますでしょうか? お知恵を貸していただけたらと思います。 情報が不十分でしたらご指摘願います。 補足いたしますので。 それでは、よろしくお願いいたします。

  • ACCESSの更新クエリのエラー

    更新クエリを使い条件にあ合ったレコードの値を削除して空白にしたいと思います。 しかし抽出条件を入力し、レコードの更新に空白のまま実行すると「クエリには、出力フィールドがひとつ以上必要です」と言うエラーが出ます。 このような場合クエリではどう対処したらいいのでしょうか。 よろしくお願いします。

  • アクセスの更新クエリについて

    アクセスの更新クエリにおいて、各レコードで繰り返し同じ数を入力しなければならないフィールドが3つあります。その3つをパラメータを設定し、更新クエリを設定して実行しようとすると2つまではパラメータで聞いてくるのですが、1つだけ聞いてきません。アドバイス宜しくお願い致します。

  • アクセスの更新クエリーについて

    お世話になっております。 アクセスの更新クエリーについてできるかどうかわかりませんがお聞きしたいことが一つございます。 それは、アクセスで更新クエリーを実行時にメッセージボックス(定型)のがでてきますが、このメッセージボックスの内容を「データが更新しますか?YES/No」みたいな感じにシンプルなメッセージボックスにしたいと考えているのですが、このようなことは可能なのでしょうか? また、ついでといってはなんですが、アクセスのリンクテーブルマネジャを利用した場合、アクセスのデータには最大何人までデータベースを壊さずにアクセスできるのでしょうか?もちろん、同一レコードに数人が書き込みをしようとしていないことが前提だと思いますが(^^;もしよろしければ、リンクテーブルマネジャの概念的なものについてお聞かせいただけたらと思っています。 質問が一つにならずにしまいましたが、よろしくお願いいたします。

  • Accessのクエリについて

    Accessの初心者です。 “クエリ”がよくわからなくて困っています。 (1)テーブルの情報を更新した場合、クエリも自動で内容が更新するのでしょうか? 複数のクエリがある場合、テーブル更新後すぐにアクセスを閉じて、次にアクセスを起動させた時はクエリの内容も更新されるか。 それとも、テーブル更新後に各クエリを実行しないと更新しないとでしょうか。 (2)クエリ実行後、表示されたデータの一部を書き換えて出力した場合、元のテーブルの内容も変更されてしまうのでしょうか。 教えてください。 どうぞよろしくお願い致します。