• 締切済み

アクセスでの通常のマクロの実行とステップインでのマクロの実行について

お世話になります。 アクセスの自動実行マクロを作成したのですが、確認のためステップインでマクロを実行すると最後までうまくいきました。 しかし、実際に!マークの実行ボタンを押すとどうしてもAテーブルにあるデータをBテーブルに追加貼り付けをするところで「コマンドまたはアクション’追加貼り付け’は無効です。」となります。普通はステップインで成功すると大丈夫という認識でおりましたが、どうして無効になるのか原因がわかりません。 抽象的な質問で申し訳ありませんが、お分かりの方いらっしゃいましたらお願い致します。

  • kyhg
  • お礼率62% (5/8)

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> どうして無効になるのか原因がわかりません。 確かに、ステップインや、進行状況がわかるように途中でメッセージ ボックスを出すようにしたりするとうまくいくのに、連続処理にすると エラー、というのは私も経験したことがあります。 (最近はVBAで組むようになって組み方が変わったからか、あまり  遭遇しなくなりましたが・・・) そんな場合、エラーが起こる直前に「オブジェクトの選択」、「オブジェクトの  再描写」や「再クエリ」(引数でコントロールを指定)等のどれかを入れると  エラーを回避できることがありました。 (感覚的に、コントロールへのフォーカス移動が間に合わなくて(?)エラーに  なっているのかな、と推測していました。ただ、これも必ずうまくいくと  いうわけではありませんでしたが・・・) 以上、kyhgさんの事例でも有効かどうかわかりませんが、参考までに。

kyhg
質問者

お礼

ありがとうございます。 確かに移動が間に合わなくてって言う感覚でした。それをどのようにすれば回避できるかわからず、困っておりました。 早速、ご指摘のオブジェクトの選択などを入れてみたいと思います。 後、メッセージを挿入して一時的にフォーカス移動をとめるのも有効でしょうかね。これも試してみたいと思います。

関連するQ&A

  • マクロの「アクション:コマンドの実行」の使い方

    アクセス2003、windows-xpを使っています。 どうしてもわかりません。教えてください!! フォームの中にボタンを作成します。 そのボタンをクリックすると、その都度"追加クエリAが作成され、更新クエリを走らせ、またその追加クエリAを消去させる"ということをしたいと思いました。 そこで、マクロを見たら「アクション」に「コマンドの実行」を表示させると、「コマンド」欄に「追加クエリの作成」というのがでてきました。 これだ!と思いやってみたのですが、エラーになってしまいます。 どうしたら、マクロの中にある、「コマンドの実行」というマクロを使うことができるのでしょうか? (いまいち、マクロにあるアクションの組み立て方が判らないのですが、参考になりそうなサイトはないでしょうか?) なんとか、みなさんにご相談しながらアクセスで集計システムを作成しておりますが、自分のアクセスレベルの低さにはがゆさを感じている次第です。 どなたかおわかりになりましたら、教えてください。 宜しくお願い致します。

  • テーブル1にマクロで再クエリはできないのか?

    テーブル1があり、 マクロの新規作成で アクション:再クエリ コントロール名:テーブル1 を作り、 テーブル1を開き、マクロ1を実行しても 「コマンドまたはアクション'再クエリ’は無効です。」 となります。 コントロール名を"テーブル1" にしても同じです。 テーブルに対して再クエリは出来ないのでしょうか?アクセス2003です。 よろしくお願い致します。

  • access フォームのコマンドボタンをマクロ実行

    access97 フォームの中のコマンドボタンをひとつのマクロで実行したい お世話になります 上記表題のように現在access97をwindowsXP sp3で使用しています ここで例えば フォーム Aというフォームのなかに コマンドボタンBが 設置されているとします コマンドボタンBをワンクリックするとイベントプロシージャーCが実行されるとします お尋ねしたいのは ひとつのマクロDによって 上記 一連の操作をしたいのですが マクロをデザインビューで開きますと まず アクションにおいて フォームを開く 下左のダイアログに フォームの名称に コンボリストから Aを選択します 次に このコマンドボタンBを実行するために このマクロDのデザインビューにおいて 以下の行のアクションに どのように 入力したら よいものか 御教示願いたいです コマンドの実行 から できるかなと 思ったのですが 適切な項目がリストから 表示されません 御存じの方 宜しくお願い致します access97以降の新しいバージョンでのご解説でも参考になりますので 宜しくお願い致します

  • エクセルマクロの実行とステップイン

    皆様はじめまして、マクロ初心者です。 エクセルを添付ファイルとしてメールで自動送信するマクロを書きたくて、このOkWaveを参考に以下のようなマクロを書きました。 ActiveWorkbook.SendMail Recipients:="xxxx@xxxx", Subject:="test" ステップインで実行すると、メールを自動送信しようとしているというダイアローグが現れて、OKをクリックするとうまくいきますが、通常に実行すると実行されません。ポインタが砂時計のまま応答なしになってしまいます。 以前にアクセスではこれと同様な質問があり、オブジェクトを途中に入れるといいなどと回答がありましたが、初心者なので、この意味もよくわかりません。 恐れいりますがご教示をお願いします。

  • マクロを使ってコマンドボタンを実行するには

    お世話になります。 OSは、Windows 98 Second Edition アプリケーションは、Access 2000 です 下記作業の一連を簡素化したいのですが マクロを使うのが良いかと考えています。 1.データをインポート 2.レポート印刷 3.追加クエリ実行 4.削除クエリ実行 インポートはフォームのコマンドボタンから 実行できるようにして有ります。 追加、削除クエリも別のフォームのコマンドボタンから 実行できるようにして有ります。 マクロでフォームを開く、閉じるはできるのですが コマンドボタンの実行方法がわかりません。 どのアクションを選べばよろしいのでしょうか? よろしくお願い致します。

  • accessマクログループの全マクロの実行方法

    お世話になります。 現在、顧客のデータベースを作成しております。DBは名前、住所等の連絡先を入力したテーブルを元に下記のクエリやマクロを作成しています。取引がない顧客等はメイン名簿テーブルから削除して、メインテーブルの構造をコピーした、削除テーブルに入れるようにしたいと考えています。 そこで下記のテーブル、クエリ、グループマクロを作成しました。グループマクロは作成したクエリ3つで構成されています。各アクションクエリは一個一個は正常に作動するのですが、グループマクロを実行しますと、1行目のクエリしか実行されません。実行方法はマクロの画面で更新ボタンを押しても、フォームに削除というボタンを作成してクリック時にグループマクロを実行させるよう設定した場合の両方で起きます。  グループマクロに登録されているマクロを全て実行するにはどうしたらいいのでしょうか。色々調べると、グループマクロは1行目しか実行できないようですが、全て実行する簡単な方法はありませんか?できればVBAではない方法を希望します。大変お手数ですがどうぞ、よろしくお願い致します。  ・(テーブル)メイン名簿(以下、名簿tblとします)    ⇒フィールド:名前、郵便番号、住所、電話、メモ欄、削除の有無、削除処理日  ・(テーブル)削除テーブル(以下、削除tblとします)    ⇒フィールドは上記と同じ  ・(更新クエリ)削除処理日追加    ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、「削除処理日」に処理日が     入力されるようにdate関数を設定しています。(date())  ・(追加クエリ)削除tblへ追加    ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、「削除tbl」へそのレコードを、     追加する。    ・(削除クエリ)名簿tblからの削除    ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、名簿tblからそのレコードを、     削除する。  ・(マクログループ)削除処理(上から順番に実行希望)     マクロ名           アクション     クエリ名     削除処理日追加     クエリを開く    (更新クエリ)削除処理日追加     削除tblへコピー      クエリを開く    (追加クエリ)削除tblへ追加   名簿tblからの削除    クエリを開く    (削除クエリ)名簿tblからの削除                                                        以上

  • Accessのマクロの最適化

    Accessでマクロを1つ新規作成します。 作成したマクロのアクションに、「コマンドの実行」を選択し、 画面下のコマンドには、「データべースの最適化」を選択します。 しかし、「マクロまたは、VisualBasicコード実行中に開いているデータベースを最適化することはできません。」とメッセージが出ます。 メッセージの意味はわかりますが、そもそも、なぜ、マクロに、 「データベースの最適化」を選択することができるのでしょうか? できないんじゃ意味ないんじゃないですか?

  • ACCESSのマクロに関しまして

    お願いします。 ACCESS97で追加クエリを作成し、その後自動起動にしようと思い、マクロで追加クエリを項目に入れマクロを作りました。 マクロを作成する際に、モジュールでレコード追加するテーブルを一度削除しようと思い、「DELETE文」でモジュールを作成し、マクロの追加クエリの前に「プロシージャの実行」でモジュールのプロシージャを実行するようマクロに記述しました。 <マクロ内容> (1)「プロシージャの実行」  (追加クエリで追加するテーブルの中身をDELする) (2)「クエリを開く」  (追加クエリでレコード追加) この用に記述し、マクロ名を「AutoExec」で記述して、ファイルを実行してもマクロが起動しません。 (1)の「プロシージャの実行」までは、実行されているようなのですが(テーブル内確認)、以降の追加クエリが実行されません。 何か他の設定があるのでしょうか? お願い致します。

  • Accessのマクロでモジュールを実行させたい。

    Access2002を勉強中の初心者です。 AccessでDB1という名前のデータベースを作成し、その中で、モジュール1というモジュールを作成しました。これを実行するマクロを作成したく、次のようにマクロを作成しました。 マクロのデザイン画面でアクションに「プロージャの実行」を選択、プロージャ名入力覧の右側の...のボタンを押して式ビルダ画面を表示、ここの「関数」フォルダを開いてDB1を選択、表示されたモジュール1を貼り付けてOK。 しかし、このマクロを実行すると、次のエラーとなります。「DB1 指定されたDB1が見つけることができない関数名が含まれています」 根本的に方法が間違っているのでしょうか? アドバイスをよろしくお願いします。

  • Excel2007のマクロ実行

    お世話になります。 office2007で作成したマクロ入りのファイルを知人に送信しました。 知人のパソコンでは次のメッセージが出て実行不可能です。 「マクロ'XXX.xlms!住所ボタン'を実行できません。このブックでマクロが使用できないか、またすべてのマクロが無効になっている可能性が有ります。」 「住所ボタン」はボタン(フォームコントロール)です 最初コマンドボタン(activeXコントロールボタン)を使っていましたが知人側ではボタンをクリックしても無反応でしたので切り替えたもですが、今回のメッセージになったようです。

専門家に質問してみよう