• ベストアンサー

アクセスでテーブルの一部を他テーブルを使って更新をしたい

[ユーザーリスト]というテーブルがあり、その中にはユーザー名、住所、電話番号などが入っています。 後から電話番号の更新があったユーザーを修正するために、新しい電話番号とユーザー名だけが入っている[更新リスト]というテーブルを使って、[ユーザーリスト]の電話番号だけを一括で修正することはできるのでしょうか。 わかりにくい説明で申し訳ありませんが、ご回答の方宜しくお願いします。

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

  • ベストアンサー
  • walsh
  • ベストアンサー率41% (77/185)
回答No.3

こんばんは。 更新クエリで簡単に出来ます。 更新クエリで、 [ユーザーリスト]    [更新リスト] ユーザー名----------ユーザー名 住所            電話番号 電話番号   ・   ・ と、2つのテーブルをユーザー名で関連付けして、 [ユーザーリスト]の電話番号をクエリのフィールドとして選択して、 レコードの更新欄に [更新リスト]![電話番号] と入れて、クエリを実行すると、[ユーザーリスト]の電話番号が [更新リスト]の電話番号に書き換えられます。 [更新リスト]に存在しないユーザー名の電話番号は、 書き換えられず、そのままの値を保持します。

kumafukuro
質問者

お礼

回答ありがとうございました。 簡単にできてとても嬉しかったです。 初心者なもので、詳しく回答頂き大変助かりました。

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

ユーザー名がユニークなら、ユーザーリストと更新リストをクエリーで繋いで、更新クエリーで良いと思いますが、、、 [更新リスト]![電話]

kumafukuro
質問者

お礼

ありがとうございました。

noname#22222
noname#22222
回答No.1

パッと思い付いたのは、ユーザー名でリンクしてクエリーで合成してエクスポート、インポートすれば目的は達成しそうですが、問題は、ユーザー名が一意かどうかですね!

kumafukuro
質問者

お礼

ありがとうございました。

関連するQ&A

  • テーブルの一部を別のテーブルを使って更新したい

    テーブルA…[住所]、[氏名]、[電話番号]、[携帯番号]、[変更日] テーブルB…[氏名]、[自宅電話・携帯番号]、[変更日] Bの[氏名]と[自宅電話・携帯番号]が、Aの[氏名]と[電話番号]、[携帯番号]に一致した場合、Aの[変更日]がBの[変更日]に更新されるようにしたいです。 以前、似たような質問で回答して頂いたのですが、条件が二つになり指定方法が上手くいかなくなってしまいました。 お手数お掛けしますが回答宜しくお願いします。

  • SQLを使って他のテーブルから更新したいのですが

    状況説明 テーブル:顧客→マスターファイルで住所や電話がブランク テーブル:NewTable→住所や電話番号でデータを持っている NewTableの内容を顧客テーブルに更新したい SQL→ UPDATE 顧客 INNER JOIN NewTable ON 顧客.店舗名 = NewTable.店舗名 SET 顧客.客室数 = NewTable.客室数, 顧客.郵便番号 = NewTable.郵便番号, 顧客.都道府県 = NewTable.住所, 顧客.店電話 = NewTable.電話番号, 顧客.店FAX = NewTable.FAX NO, 顧客.オープン日 = NewTable.オープン日; 実行方法→ これが正しいかどうか分からないのですが、 モジュールのオブジェクトを選んで 新規作成を選ぶとVBモードになります。 ここでイミディエイト画面を出して 上記のSQLをそのまま入れ、 実行のため、Enterキーをたたいたら エラーが発生→ コンパイラエラー 修正候補:ステートメントの最後 と出ました。 質問→ そもそもSQLの実行をイミディエイト画面からでいいのかも わかりません 何かアドバイスいただけますでしょうか

  • SQLで他のテーブルを参照して該当個所を一発更新したい

    例えば次のような二つのテーブルがあるとします。 住所録(氏名,住所,メモ) 電話帳(氏名,電話番号) ※(住所録の氏名はキーだが電話帳の氏名はキーではない) この時、住所録テーブルに対して、 電話帳に電話番号がない名前全てについて メモに、"電話番号は不明"と言う更新をしたいのですが… UPDATE 住所録 SET メモ='電話番号は不明' WHERE … のWHERE句には何と書けばいいのか分からなくて困っています。 それともこういう時の更新はそもそも出来ないのでしょうか? 回答よろしくお願いします。

  • accessのVBAでテーブル更新するには・・・?

    [input]フォームより「登録」ボタンを押すことで [data]テーブルの[氏名][住所][電話番号][年齢][性別][コメント]フィールドを更新する動作をVBAだけでさせたいです。 このボタンだけで新規登録と更新登録ように既存データの氏名と住所を参照して入力されたデータが既存なのかを確認するようにしたいです。 dim dbs as database をつかってSQLを書き込んでいけばいけるような気がするのですが どうもうまくいきません。 よろしくお願いします。

  • accessの自動更新処理をできないようにするにはどうすれば良いですか?

    accesで顧客データベースを作成しています。 「顧客リスト」テーブルを作り、そのテーブルを閲覧しやすいように「顧客リスト」フォームを作成しました。 また、フォーム上でデータの修正をした際、その修正内容を保存する為のコマンドボタンを取り付けました。 しかし、現在の状態では、そのコマンドボタンを押さなくても×印をクリックして閉じると自動的にデータの更新内容がテーブルに反映されてしまいます。 データを修正した際、保存用のコマンドボタンを押した場合にのみ、その修正内容がテーブルに反映されるようにするのにはどうしたら良いのでしょうか?? 説明足らずかもしれませんが、ご存知の方教えてください。 ご回答宜しくお願い致します。

  • テーブルの分散について

    お世話になります。 個人情報を格納しているユーザーテーブルがあります。 項目は以下の通りです。 ------------------------------ 1.連番 2.ユーザーID 3.名前カナ(姓) 4.名前カナ(名) 5.名前(姓) 6.名前(名) 7.性別 8.生年月日 9.年齢 10.電話番号 11.携帯番号 12.メールアドレス 13.パスワード 14.職業 15.郵便番号 16.国 17.住所(都道府県) 18.住所(市区町村) 19.住所(町域(番地)) 20.住所(建物名) 21.備考1 22.備考2 23.備考3 24.備考4 25.備考5 ------------------------------ 上記のように個人情報を1つのテーブルにまとめてセキュリティ上、問題はありませんでしょうか。 もし上記のテーブルを分散するとしたらどのように管理するようにしたらいいのでしょうか。 くだらない質問で大変申し訳ありませんがご教授いただけたら幸いです。 何卒、アドバイスの方を宜しくお願いします。

  • ACCESS2003 テーブルから特定のデータを削除する

    初めまして。ACCESS2003で、"Aテーブル"(電話番号、郵便番号、名前、住所のフィールドがあります)から別の"Bテーブル"(たとえば電話番号削除リスト、削除する電話番号のフィールドのみ)に該当するレコードのみを削除するといったような作業をするには、どのようにしたら良いでしょうか? アクセス初心者で困っています助けてください。

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

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

  • アクセスで、テーブルのデータが更新できない

    アクセスで、テーブルのデータが更新できない accessについての質問なのですが、テーブルの中のデータを(フォーム等を使わず)テーブルを開いて直接データを書き換えました。 フィールド名などの変更でなく、テーブルの中身の更新です。 そのあと、数日間はその変更された内容が保持されていたのですが、1週間もたたないうちに、またもとに戻っていたのです。(3回以上、同じことがありました) これは何か原因があるのでしょうか。それとも、このaccess自体が何かおかしくなっているのでしょうか??

  • Access 更新クエリについて

    Access365で顧客データを管理しようとしています。 「T_更新履歴」の情報を「T_顧客情報」へ更新クエリを用いて更新させたいです。 「T_更新履歴」には今回更新されたデータのみが入っており、更新のない項目については空白状態です。 例) 顧客ID/顧客名/電話番号/住所…    /   /00-0000-0000/…  今回は電話番号に更新があった為、電話番号のみが入力され、他項目は空白 こういったテーブルの場合、空白項目は更新せず、入力のある項目、今回の例では電話番号のみを更新するといった動きが理想なのですが、更新クエリで可能でしょうか。 ちなみに、毎月100件以上のデータ変更(更新)があり、「T_更新履歴」にはExcelデータを取り込んでデータを蓄積しています。 Accessをよく分かっておらず恐縮ですが、お知恵をお借りできると幸いです。 どうぞよろしくお願いいたします。

専門家に質問してみよう