• ベストアンサー

Accessでvlookupみたいなことはできますか。

Accessで、2つのテーブルがあります。 touroku_m テーブル……ID、登録No、氏名、携帯メール keitai_m テーブル……ID、登録No、携帯メール keitai_mの方には、携帯メールフィールドに、アドレスが入力されています。 touroku_mテーブルの携帯メールフィールドは空なので、登録Noを比較して、共通だったらkeitai_mに入力してある携帯メールアドレスをtouroku_mに一気に入れたいのです。 こんなことは可能でしょうか。

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

  • ベストアンサー
  • ape5
  • ベストアンサー率57% (85/148)
回答No.5

レス遅くなってすみません。 えっと、追加クエリはテーブル名を見て追加しますので、追加クエリが実行されるときにtouroku_mの名前のテーブルに追加されます。 なので最初touroku_mという名前のテーブルが名前を変えると、それには追加されませんが、またtouroku_mに戻せば追加されるようになりますよ。 要は追加クエリを実行したいテーブルの名前をtouroku_mにしとけば大丈夫です。

noname#183584
質問者

お礼

お礼が遅くなって申し訳ありません。 ついうっかりしてしまいました。m(_ _)m できました。 どうもありがとうございました。

その他の回答 (4)

  • ape5
  • ベストアンサー率57% (85/148)
回答No.4

少し、面倒ですが結果的にはできます。 前準備として、 1.touroku_mテーブルをコピー 2.テーブル構造のみを貼り付けます。 3.テーブル名をtouroku_newとしたとします。 4.クエリに移り、「デザインビューでクエリを作成する」を選ぶ 5.上段のテーブルを表示するところで右クリックしSQLビューを選択 6.以下のSQL文を書き込む。 INSERT INTO touroku_new ( ID, 登録No, 氏名, 携帯メール ) SELECT touroku_m.ID, touroku_m.登録No, touroku_m.氏名, keitai_m.携帯メール FROM touroku_m LEFT JOIN keitai_m ON touroku_m.登録No=keitai_m.登録No; 実行すれば、touroku_newのテーブルに欲しいデータが入ります。 7.touroku_mの名前を変更し、touroku_newの名前をtouroku_mに書き換える。 以上 SQL文の内容が知りたいのであればレスください。

noname#183584
質問者

お礼

コメントありがとうございます。 早速やってみようと思ってひとつ気になったことがあります。 touroku_m テーブルには、追加クエリを使ってデータが追加されることが あるのですが、追加クエリに設定してある最初の touroku_m を別の名前に すると、追加クエリもこちらに対して行われることになりますか? (試してみればいいんですね(^^;)

noname#79209
noname#79209
回答No.3

> こんなことは可能でしょうか。 とお訊きになっているのでは、Accessを使っている意味がありません。 お訊ねのようなことは「更新クエリ」で実現可能です。 言わばクエリ自体が「vlookup」のようなものなのです。 さらにいえば、Access自体がより強力な「vlookup」を実現する為の道具なのです。 もし、Accessを正しく使おうとするなら「集計表」という概念は捨て、「巻物を横にしたものの一部を見ている」というイメージを持ってください。 具体的な方法は質問者さんのAccessに対する知識レベルでは、ここに書いても無理と思われますので(失礼はご勘弁を...オートマ車しか知らない人に「クラッチが..」と説明するのに似てます)、 Accessの入門書を入手され「クエリ」(特に「更新クエリ」)を参照してみてください。

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

vlookupみたいなことがやりたいということは Excelからの転向者でしょうか Excelは表計算、Accrssはデータベース 見掛けは同じような表を使いますが、まったく異なるジャンルのソフトです Excelの延長で考えていては絶対にAccessは理解できません まずvlookupですが、Access(DB)では複数のテーブルを使って 物事を表すというのが基本ですから、 他のテーブルを参照するのに関数を使ったりしません もっと強力なクエリというものがあります また、データはひとつのテーブルのみで管理するというのが基本です つまり >keitai_m テーブル……ID、登録No、携帯メール こういうテーブルに登録Noとメルアドが登録されているのであれば >touroku_m テーブル……ID、登録No、氏名、携帯メール には携帯メールフィールドを設けません 登録NOで結合したクエリを作ればメルアドはkeitai_mからいつでも引っ張ってくることができます ということでこの質問そのものが無意味ということになりますね Accessをやろうとお考えならば、Excelのことは忘れて 1からきちんと入門書等で勉強されることをお勧めします 特にテーブルやクエリについてよく勉強してください

noname#183584
質問者

お礼

ありがとうございます。 もともと空白になっていた携帯メールアドレスのデータをエクセルで もらったので、それを一気に流し込めないかと虫のいいことを考えて いたのですが、無理のようですね。

  • gura_
  • ベストアンサー率44% (749/1683)
回答No.1

 「選択クエリ」を使えば、ご希望のようなことは出来ます。↓ http://www.mahoutsukaino.com/ac/ac2002/ac2002/sonota/query/043.htm http://www.moug.net/tech/acopr/0041.htm  二つのテーブルを、「登録No」で「結合」して、必要な「フィールド」を選べば良いでしょう。

参考URL:
http://www.mahoutsukaino.com/ac/ac2002/ac2002/sonota/query/043.htm, http://www.moug.net/tech/acopr/0041.htm
noname#183584
質問者

お礼

アドバイスありがとうございます。 でも…したいこととちょっと違うみたいでした。

関連するQ&A