ここから本文です

ACCESSのクエリ(マクロ)について質問です。更新クエリをフォームメニュー...

sau********さん

2011/3/1715:25:00

ACCESSのクエリ(マクロ)について質問です。更新クエリをフォームメニューに設定、使用するためマクロを作りました。内容は、既存の担当者名を、一括して新担当者名に変更する、というものです。

更新クエリの設定は、
フィールド1(担当者名)の

<レコードの更新>欄に [新担当者名を入力して下さい;]
<抽出条件>欄に Like "*" & [旧担当者名を入力して下さい(一部可)] & "*"

と記述しております。
このクエリを単純にマクロに定義して、担当者の一括変更を行う、というものですが、
マクロを実行すると、最初に、[新担当者名を入力して下さい;]と聞いてきます。
そのあとに、[旧担当者名を入力して下さい(一部可)]と聞いてきます。

これを逆の順番にしたいのですが、できるのでしょうか?
当方、ACCESSの超初心者ですので、よろしくお願い致します。
なお、申し訳ございませんが、VBAとかSQLは全くわかりません。
よろしくお願い致します。

閲覧数:
1,276
回答数:
2

違反報告

ベストアンサーに選ばれた回答

mi_********さん

2011/3/1718:17:12

> フィールド1(担当者名)の
> <レコードの更新>欄に [新担当者名を入力して下さい;]
> <抽出条件>欄に Like "*" & [旧担当者名を入力して下さい(一部可)] & "*"



> これを逆の順番にしたいのですが、できるのでしょうか?

更新クエリだけでは、無理なので、いったん選択クエリで対象となるレコードを抽出し、そのクエリを元に更新クエリを作成します。



まず、元のテーブルを使って選択クエリを作ります。

デザインビューに元のテーブルを表示させ、グリッドのフィールドに、フィールド1を表示させます。
このフィールドの抽出条件欄に

Like "*" & [旧担当者名を入力して下さい(一部可)] & "*"

と記述します。


このクエリを、たとえば、クエリ61という名称で保存します。



次に、クエリ61を元に更新クエリを作ります。

デザインビューにクエリ61を表示させ、クエリの種類を「更新」に変更します。

グリッドのフィールドに、フィールド1を表示させます。
このフィールドの、レコードの更新欄に

[新担当者名を入力して下さい;]

と記述します。


コマンドボタンから、更新クエリを開けば、最初に[旧担当者名を入力して下さい(一部可)]と表示され、次に[新担当者名を入力して下さい;]と表示されると思います。

質問した人からのコメント

2011/3/18 14:38:29

笑う みなさんありがとうございました。お二方とも丁寧なご指導でしたが、自分でやってみてできた方をベストアンサーにさせて頂きました。ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

mah********さん

2011/3/1716:23:30

フォームに更新クエリを実行するボタンがあると思います。
ボタン押す→新担当者入力→旧担当者入力→更新される
という仕組みを
旧担当者入力→新担当者入力→ボタン押す→更新される
でも良いですか。

クエリの
[旧担当者名を入力して下さい(一部可)]
[新担当者名を入力して下さい;]
の2項目について、フォームの画面で入力した値を使うという仕掛けであれば
順番は意識しないで解消されるのではないかと思います。

フォームにテキストボックス2つ用意
「旧担当者」
「新担当者」

Forms![フォーム名![旧担当者の項目]を抽出条件に
Forms![フォーム名![新担当者の項目]を更新欄に

マクロでは
メッセージボックス「旧担当者名を入力して下さい」
メッセージボックス「新担当者名を入力して下さい」
クエリの実行「更新クエリの名称」
の順番です。

「フォームで入力した値をクエリの抽出条件に使う」という仕掛けが参考になります。
構文はビルドで生成しても良いです。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる