これ何て呼びますか

Access2003で修正しているプログラム(元は、別の担当者が作ったプログラム)を
Access2000が入っている端末で動かしたいのですが、
コンパイルエラーが出て、原因が分かりません。

プログラムは、EXCELを出力する処理を追加し、
Microsoft Excel 11.0 Object Library を参照するようにしました。
これが、Access2000の端末にコピーすると参照不可になっていたため、チェックをはずし、
Microsoft Exce 9.0 Object Library にチェックを入れました。

参照はできるようになりましたが、
「コンパイルエラー:引数の数が一致していません。または不正なプロパティを指定しています。」
というエラーがとれません。

データベースユーティリティでのデーターベースの変換が必要なのかと思いましたが、
Access2000がグレーになっているため、もともとはAccess2000だったのか、
変換の必要はなさそうです。

コンパイルエラーをとる方法を教えていただきたいです。

A 回答 (2件)

例えば、旧バージョンのExcel Objectでは引数を2つとる機能があったとして、それが新バージョンで引数を3つとるように拡張されたとします。

その機能を引数を3つ与えて呼び出していた場合、参照するObjectのバージョンを下げると、2つしか引数を取らないのに、3つの引数を渡そうとすることになります。
このような現象が起こっているのではないですか?
    • good
    • 0
この回答へのお礼

教えていただいたとおり、バージョンによって引数の数が違うことが原因でした。
両バージョンで使えるよう、引数の数を減らしました。
どうもありがとうございました。

お礼日時:2012/06/08 11:07

参考になるか分かりませんが、自社で作成したプログラム(Access97)をずっと使っていますが、上位互換は全くありません。


なので2000.2003ともに作り直しました。(業者依頼)
中のプログラムの実行命令言語が違う?らしいです。(よく分かりませんがw)
当然2003で作成したプログラムも2000では動きません。

あなたの場合も同じでは無いかと推測します。
つまり2003を入れるしか無いと・・・・

excel、wordでは上位互換(下位互換はアップデートで可)がほぼ可能なのに、Accessだけ出来ないってのには納得いきませんけどねw
    • good
    • 0
この回答へのお礼

上位互換は問題なくても、逆だとうまくいかないんですね。
原因は、実行命令文の引数の数がバージョンによって違うことでした。
どうもありがとうございました。

お礼日時:2012/06/08 11:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!