- 締切済み
Access2000でAutoExecマクロを使用しています。マクロの
Access2000でAutoExecマクロを使用しています。マクロの条件にCommand()=""の時にアクションを実行するようにしています。 Access2000では問題ないのですが、このファイルをAccess2007で起動した場合、以下のメッセージが表示されて起動できません。 「指定した式に、microsoft office accessが見つけることができない関数名が含まれています。」 ちなみにファイル形式はmdbのままです。 以上、宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- piroin654
- ベストアンサー率75% (692/917)
このファイルがAccess2000で作成されたもの ならば、一度同様のレポートをAccess2007で 新規に作成して確認してみるというのはどう でしょうか。 破損、あるいは気づかないところに何か2007 が認識できないものがどこかにある可能性も 否定できないのですが。
- piroin654
- ベストアンサー率75% (692/917)
レポートの値集合ソースの中に認識されていない 関数が存在するということはありませんか。 vb6からではなく、Access2007でレポートに値を渡して単独で レポートを開いて確認してみるというのはどうでしょうか。
- piroin654
- ベストアンサー率75% (692/917)
2007でコンパイルは通ったのですか。
お礼
ご回答ありがとうございます。 内容が不足してましたので、追記します。 Vb6.0で作成したアプリケーションから、Accessを起動(コマンドライン引数に「R_レポート名」を設定)しています。 AutoExecマクロにて、条件:Left(command(),2)="R_"の時に、アクション:「マクロの中止」を実行するようにしています。 コンパイルは通りました。
補足
ご回答ありがとうございます。 内容が不足してましたので、追記します。 Vb6.0で作成したアプリケーションから、Accessを起動(コマンドライン引数に「R_レポート名」を設定)しています。 AutoExecマクロにて、条件:Left(command(),2)="R_"の時に、アクション:「マクロの中止」を実行するようにしています。 コンパイルは通りました。 ※初めての投稿で、補足質問をする場合の手順が誤ってました。お礼の方ではなく、補足の方に追記しました。
- piroin654
- ベストアンサー率75% (692/917)
Command()で何か値を取得しようとしたとき 値がない場合に何かを実行するようですが、 Command()の中身、あるいはCommand()に関連する 関数などに問題があるのでは、と思われますが。 Command()の中身が分からないのでこれ以上は 推測できませんが。 あるいは、Command()コード表の参照設定で参照不可に なっているものがある場合も可能性としてはあります。
補足
いろいろとありがとうございます。 認識されていない関数はありませんでした。 以下のようなことを試みました。 (1)Access2000で新規にmdbファイルを作成し、マクロ「AutoExec」を作成。 (2)マクロの内容は、条件:「command()="1"」、アクション:「メッセージボックス」 (3)コマンドライン引数に1を入力し、マクロ「AutoExec」を実行。 (4)正しくメッセージボックスが表示される。 (5)上記ファイルをAccess2007で起動し、引数を設定後、マクロ「AutoExec」を実行。 ⇒「指定した式に、microsoft office accessが見つけることができない関数名が含まれていま す。」のメッセージが表示されます。 たびたびすみませんが、ご回答の程、宜しくお願いします。