• 締切済み

Access2000でAutoExecマクロを使用しています。マクロの

Access2000でAutoExecマクロを使用しています。マクロの条件にCommand()=""の時にアクションを実行するようにしています。 Access2000では問題ないのですが、このファイルをAccess2007で起動した場合、以下のメッセージが表示されて起動できません。 「指定した式に、microsoft office accessが見つけることができない関数名が含まれています。」 ちなみにファイル形式はmdbのままです。 以上、宜しくお願いします。

みんなの回答

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

このファイルがAccess2000で作成されたもの ならば、一度同様のレポートをAccess2007で 新規に作成して確認してみるというのはどう でしょうか。 破損、あるいは気づかないところに何か2007 が認識できないものがどこかにある可能性も 否定できないのですが。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

レポートの値集合ソースの中に認識されていない 関数が存在するということはありませんか。 vb6からではなく、Access2007でレポートに値を渡して単独で レポートを開いて確認してみるというのはどうでしょうか。

pdv18575
質問者

補足

いろいろとありがとうございます。 認識されていない関数はありませんでした。 以下のようなことを試みました。  (1)Access2000で新規にmdbファイルを作成し、マクロ「AutoExec」を作成。  (2)マクロの内容は、条件:「command()="1"」、アクション:「メッセージボックス」  (3)コマンドライン引数に1を入力し、マクロ「AutoExec」を実行。  (4)正しくメッセージボックスが表示される。  (5)上記ファイルをAccess2007で起動し、引数を設定後、マクロ「AutoExec」を実行。   ⇒「指定した式に、microsoft office accessが見つけることができない関数名が含まれていま     す。」のメッセージが表示されます。 たびたびすみませんが、ご回答の程、宜しくお願いします。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

2007でコンパイルは通ったのですか。

pdv18575
質問者

お礼

ご回答ありがとうございます。 内容が不足してましたので、追記します。 Vb6.0で作成したアプリケーションから、Accessを起動(コマンドライン引数に「R_レポート名」を設定)しています。 AutoExecマクロにて、条件:Left(command(),2)="R_"の時に、アクション:「マクロの中止」を実行するようにしています。 コンパイルは通りました。

pdv18575
質問者

補足

ご回答ありがとうございます。 内容が不足してましたので、追記します。 Vb6.0で作成したアプリケーションから、Accessを起動(コマンドライン引数に「R_レポート名」を設定)しています。 AutoExecマクロにて、条件:Left(command(),2)="R_"の時に、アクション:「マクロの中止」を実行するようにしています。 コンパイルは通りました。 ※初めての投稿で、補足質問をする場合の手順が誤ってました。お礼の方ではなく、補足の方に追記しました。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

Command()で何か値を取得しようとしたとき 値がない場合に何かを実行するようですが、 Command()の中身、あるいはCommand()に関連する 関数などに問題があるのでは、と思われますが。 Command()の中身が分からないのでこれ以上は 推測できませんが。 あるいは、Command()コード表の参照設定で参照不可に なっているものがある場合も可能性としてはあります。

関連するQ&A

専門家に質問してみよう