![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
すみません教えて下さい。
「テーブルA」というテーブルと「テーブルB」というテーブルがあり、
それぞれに「項目1」と「項目2」があります。
「テーブルB」の内容を元に「テーブルA」を更新したいのですが、
「テーブルA」の「項目2」が空欄の場合のみ、
「テーブルB」の「項目2」の内容を、
「テーブルA」の「項目2」へ登録したいのです。
その際、紐づけのキーとなる項目を「項目1」にしたいです。
OSはWinXP。アクセス2003です。
すみませんが、どのようにすれば良いか教えてもらえるでしょうか。
No.1ベストアンサー
- 回答日時:
新規のクエリをデザインビューで開いたら、『テーブルの表示』ダイアログを
そのまま閉じ、メニューで「表示(V)→SQLビュー(Q)」を選択して、以下の
SQL文を貼り付けて下さい。
(但し、ご質問通りのテーブル2つがあるのが前提になります)
UPDATE テーブルA INNER JOIN テーブルB ON テーブルA.項目1 = テーブルB.項目1
SET テーブルA.項目2 = [テーブルB]![項目2]
WHERE (((テーブルA.項目2) Is Null));
貼り付け後、再びメニューで「表示(V)→デザインビュー(D)」を選択すれば、
クエリのデザインビューになりますので、それを参考に、実際のテーブルで
同じようなクエリを作成して下さい。
※テーブル2の項目1が主キー(もしくは「重複なし」のインデックスあり)で
ないと、意図した通りの更新結果にならない場合がある(又は更新不可?)
のでご注意下さい。
この回答への補足
ありがとうございます。現在、頂いた内容を元に試行錯誤してます。
色々やりすぎてしまい、どうした結果がどれなのか混乱してきました。
「0件のデータが更新されました」となってしまう事もありますし、
「XXXXXXのデータが更新されました」と表示されたので見てみると、
今まで1万件あったレコードが2万件になっていたりします。もう少し色々やってみます。
ところで「デザインビュー(D)」と「SQLビュー(Q)」は表示の違いだけなのですね。
No.2
- 回答日時:
No.1です。
> 今まで1万件あったレコードが2万件になっていたりします。
まずは10件程度のレコードで動かして、クエリの動作の理解を
第一に考えた方がいいと思います。
(データベースウィンドウでテーブルをコピー&貼り付けし、
貼り付け時に「貼り付けの設定」で「テーブル構造のみ」を
選択すると、空のテーブルができます。あとは、これに実際
のレコードをコピー&貼り付け)
更新クエリで件数が増えるというのはちょっとわかりませんが、「0件が更新」
というのは、間違ってクエリを連続で2回実行されたのではないでしょうか。
(私もうっかりよくやっていましたので・・・(汗))
> 「デザインビュー(D)」と「SQLビュー(Q)」は表示の違いだけなのですね。
「SQL文」がまずあって、けれどそれだと文法(?)を覚えなければならない
ので、より感覚的にわかりやすくするためのインターフェースとして
デザインビューが用意された、ということだと思います。
(実際、デザインビューで作成できるクエリは全てSQLビューに切り替える
ことができますが、逆は必ずできるわけではありません;
例えば、2つのテーブルのデータを1フィールドに合一表示させることができる
「ユニオンクエリ」などは、デザインビューでの表示はできません)
慣れるまでは試行錯誤の連続だと思いますが(・・・そう言う私も今現在かなり
試行錯誤していますが)、お互い頑張りましょう。
色々とアドバイスありがとうございます。
私の質問が悪いのかしら。
もっと皆さんガシガシ答えて頂けると思ったのですが、思いのほか少なく、
そんな中2度も回答いただけて、励みになりました。
がんばりまーす!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle SQL update方法 2 2022/06/22 14:07
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- JavaScript html javascriptにてWeb SQLを操作したい。 2 2022/12/16 17:43
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSユニオンクエリから新テ...
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
Acccessで2つのテーブルから1...
-
COBOLでHEXを印字する
-
Accessのアクションマクロでエ...
-
テーブルに表示されているもの...
-
Microsoft Access 「Form」のボ...
-
クエリで同一テーブルの複数回...
-
Accessで成績一覧表をつくりたい。
-
Accessで、複数行を、別...
-
Accessで、1つのマスターを複...
-
access2000・・テーブルをデー...
-
Accessのリンクされたテーブル...
-
ACCESS テーブルを見比...
-
accessについて(超初心者です)
-
access vbaにてテンポラリーテ...
-
アクセス2003 空欄の場合...
-
アクセスVBA現在開いている全て...
-
Accessでリストの並び順を変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
テーブルに表示されているもの...
-
ACCESSユニオンクエリから新テ...
-
Accessでリストの並び順を変更...
-
Acccessで2つのテーブルから1...
-
access vbaにてテンポラリーテ...
-
Accessのリンクされたテーブル...
-
ACCESS テーブルを見比...
-
Accessのテーブルで、リンク?...
-
クエリで同一テーブルの複数回...
-
ACCESSでテーブルをコピーしよ...
-
アクセス 部分一致の抽出
-
アクセス2000でのリンク先...
-
Accessでリンクテーブルからロ...
-
Microsoft Access 「Form」のボ...
-
ACCESS テーブルを見比...
-
access2000・・テーブルをデー...
-
ACCESSのODBCリンクテーブルの...
-
Accessで使用しているリンクテ...
おすすめ情報