• ベストアンサー

アクセスでのキー送信について

アクセスでマクロを作成しているのですが、処理途中でポップアップ 画面がでてしまい、処理がとまってしまいます。これを回避するために キー送信をしているのですが、正常に動きません。 なにかコツがあるのでしょうか? ■アクションの引数   キー操作:Y  待機:いいえ ■アクションの内容  キー送信  クエリー  キー送信  クエリー  キー送信  クエリー というような処理を5回したあとに最後に終了という記述をしています

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>処理途中でポップアップ画面がでてしまい、処理がとまってしまいます マクロはほとんど使わないのですが。 ポップアップ画面というのはどんな?更新やアクションクエリ実行時の確認メッセージのことでしょうか? これなら[ツール]の[オプション]で[編集/確認]にある[確認]のレコードの変更やアクションクエリのチェックを外すとマクロを実行しても表示されなくなりますが。

v_nakto
質問者

お礼

おっしゃるとおり「確認メッセージ」です。 こちらの方法でも問題が解決されましたありがとうございます

その他の回答 (1)

回答No.1

>処理途中でポップアップ画面がでてしまい、処理がとまってしまいます。 更新問い合わせなどのダイアログでしょうか? http://www.relief.jp/itnote/archives/001880.php に ---------------- メッセージの設定 SetWarnings ---------------- というのがあります。 マクロであれば[メッセージの設定] VBAであれば[DoCmd.SetWarnings] を利用することで、問い合わせなどをしてくなくする事ができます。 私は最近マクロを触っておりませんが、SetWarningsには ---------------- エコー Echo ---------------- も併せて利用することが多かったです。

関連するQ&A

  • 「yes」なら実行させて「no」なら実行させない仕組みをAccessのマクロで作れますか?

    以前にも似たようなご質問をしましたが、回答して頂いた内容が私では解らなかったので再度させて頂きます。 “クエリ”を実行させる前に『「本当に実行しますか?」とメッセージを表示させて、「yes」なら実行させて「no」なら実行させない』という仕組みを「マクロ」で作れないのでしょうか? 私が作成した方法は マクロの 1行目 「アクション」のとこで「メッセージボックス」を選択し、アクションの引数「メッセージ」の箇所に「本当に実行しますか?」と入力。 2行目 「アクション」のとこで「クエリを開く」を選択し、アクションの引数「クエリ名」の箇所に「●●クエリ(任意のクエリ)」と入力。 そして保存します。 そのマクロを実行させても「本当に実行しますか?」のメッセージが出て、「OK」のボタンしか表示されないんです。 (当たり前なのかもしれませんが…) そしてその「OK」をESCキーで回避してもクエリが実行されてしまいます。 (当たり前なのかもしれませんが…) 上記の知識しかありません。どなたか柔らかくご説明して頂けないでしょうか?よろしくお願い致します。

  • [ACCESS]マクロを中止した際のエラー回避

    お知恵を拝借したいです。 フォームに、コマンドボタンを作成しています。 クリックすると、「クエリA」が開いてくるマクロを登録していますが、クエリAはパラメータを聞いてきます。 パラメータ入力画面を[キャンセル]した場合、「アクションの実行エラー」が出てしまうのですが、VBAを使わずに、このエラーを回避する事は可能でしょうか? [クエリを開く]アクションの後に、[イベントのキャンセル]や[マクロの中止]を設定しても、無意味でした。 やはり、VBAを使わないと無理な処理なのでしょうか。

  • ACCESSで、コンポをつかって絞り込みの場合?

    コンポでA,Bの区分表示され Aを選ぶとコンポ2に A区分のみa1,a2が表示される ようにしたいです コンポ1--------->コンポ2 区分       商品名 A         a1 A         a2 B         b1 B         b2 さて コンポ1の 更新後処理 で”マクロ1” を指定し そのマクロでは アクション=再クエリ としますが 再クエリの対象をコンポ2 にしたいのですが ? マクロでデザイン画面では アクションの欄と コントロール名の欄しかありません とすると コンポ2を再クエリしたいとき どう、記述するのでしょうか

  • メール送信ポップアップから送信できません

    以下について教えて頂ければありがたいです。 vistaでエクセル、ワードで作成したファイルをwindows mailで添付し、送信しようとすると、送信ポップアップが出るので送信をクリックすると送信ポップアップが消えてしまうだけで、送信されません。windows メールの方から新規作成してのファイル添付は正常に送信できます。どういう操作をすればポップアップから送信できるでしょうか。宜しくご教示お願いします。

  • Accessでオブジェクトの送信で出力ファイル名に処理日付を追加したい。

    Access2000を使用しています。 マクロで アクション : オブジェクトの送信 オブジェクトの種類 : クエリ(またはレポート) オブジェクト名 : LIST1 (仮名) 出力ファイル形式 : Microsoft Excel (*.xls)(またはMicrosoft Excel) ・・・・とした場合、 出力(添付)されるファイル名に、処理日付を追加させて LIST1(2009/11/12).xls ・・・・として送信を行いたいと思いますが、ご教示をお願いします。 よろしくお願いします。

  • ACCESSで自動でメールをおくる時に任意のアドレスに送りたい

    工場にてACCESS97を使い、営業からの発注に対して納期の回答やもろもろのデータをメールにて任意のアドレスに送りたいのですが、当方VBAはまったく使えず、クエリーの使い倒しとマクロにて、結構ややこしい処理をしています。 マクロにてオブジェクトの送信で行うと、 マクロの記述内でアドレスを書きこむかあるいはブランクにしておき、送信時に送り先を入力するかしか手がないのでしょうか? 該当する営業にその人に関わるデータのみ送りたいので 営業全員におくるわけもゆかないのです。 VBを使うしか手がないのでしょうか?

  • Access2007でサブフォームを再クエリする

    ==環境== OS:Windows XP Professional Ver.2002 Service Pack 3 Access 2007 マクロを使って下記の操作をしようとしています。 以前Access2000を使っていて使用できたマクロが、Access2007では動かなくなってしまいました。 このマクロをどう修正したらいいのかわかりません。 [1]フォームAに作られた一覧表(テキストボックスを使って表示している) ----------------------------------- 品名------金額a-----金額b-----合計 製品1----5000-------6000@------11000 製品2----4000-------3000-------7000 ----------------------------------- [2]そのうち明細が見たい箇所のテキストボックスをクリック  ※この場合、製品1の金額bの明細を表示させたいので   `@マークが付いているテキストボックスをクリックしています。 [3]サブフォームを持つフォームBが開く [4]フォームBの検索条件 テキストボックスの『品名検索欄』に「製品1」を入力 オプショングループの『金額区分』の「b」がON [5]フォームBを再クエリ  ※フォーム上には再クエリボタンが設置されています。   サブフォームは「sub_form」という名前で配置されています。 ==2000でのマクロ== [3]から[5]について、以下のように作成しています。 (1)フォームを開く ・フォーム名:フォームB (2)値の代入 ・アイテム:[Forms]![フォームB]![品名検索欄] ・式:[Forms]![フォームA]![品名] (3)値の代入 ・アイテム:[Forms]![フォームB]![金額区分] ・式:2 (4)キー送信 ・キー操作:+{F9} ・待機:いいえ ==2007での状況== 2000で作成したマクロをそのまま使うと(4)が動かないようです。 フォームB上では品名と金額区分が入力されており、 サブフォームに表示されるはずのデータは空です。 フォームB上の「再クエリ」ボタンを押すとデータが表示されました。 試しに(4)キー送信を再クエリ(コントロール名:sub_form)に変えたところ 「カレントレコードには'sub_form'という名前のフィールドはありません。」 と表示されてしまいました。 このマクロをどう直したらいいでしょうか。 皆さん、よろしくお願いいたします。

  • Accessマクロ呼び出し制限に関して

    Access2010に関して教えて下さい。 現在受注データベースを作成しており、ほぼ完成をしたのですが、マクロの呼び出し制限で止まってしまっています。 ある程度処理を進めていると 「マクロを呼び出せるのは19回までです。  実行している1つ以上の"Run Macro/マクロの実行"アクションで、同じマクロを20回以上呼び出しています。IFブロックを使ってマクロを19回呼び出したら実行を中止するようにして下さい。」というメッセージが出て処理が止まってしまいます。 フォームをいくつか行ったり来たりをしていますので、おそらく「ウィンドウを閉じる」というマクロが引っかかっているのではないかと思っていますが、どこが止まっているのかも確定はできていません。 すいませんが、こちらを回避する方法を教えていただければと思います。 よろしくお願いします。

  • ACCESSでVBAから選択クエリの抽出条件を指定したい

    選択クエリの抽出条件はデザインビューの「抽出条件」欄に直接条件式を書き込むのが普通だと思いますが、この条件式をVBAで記述することは出来るでしょうか? DoCmd.RunSQL ではアクションクエリしか実行できないようだし、 DoCmsOpenQuery では引数に抽出条件を指定することが出来ないし困っています。

  • アクセスの追加クエリについて

    二つのテーブル間(AとB)を追加クエリを使い AからレコードをBに追加することは出来たんですが、 逆にBからAにレコードを追加しようと選択クエリを追加クエリに変更しようとしたんですが、ウィザードの追加先テーブル名にAのテーブル名が表れないですがその理由が全く分からないので分かる方教えていただけませんか? AとBのレコード内のフィールドは同じです。 AからBにレコードを移行する処理としてマクロを使いアクションとして ・クエリを開く(これは追加クエリです) ・SQLの実行(上と同じクエリを削除クエリに変更し、そのSQL文をSOLステートメントに貼り付けました) 上の処理は問題なく出来たので逆のBからAへレコード移行処理のマクロを作ろうとしたのですが、追加クエリの追加先テーブルにテーブルAの名前が出てこないので困っています。こういったAからB。BからAという処理は追加クエリで出来ないのでしょうか?

専門家に質問してみよう