Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

「実行時エラー '5':プロシージャの呼び出し、または引数が不正です。」について

2,438 views
Skip to first unread message

佐々木

unread,
May 6, 2010, 1:46:01 AM5/6/10
to
佐々木と申します。
2度目の投稿になりますが、よろしくお願いいたします。

ACCESS2003のイミディエイトウィンドウで
DateAdd関数を実行すると、
「実行時エラー '5':プロシージャの呼び出し、または引数が不正です。」が発生します。
ただし、ACCESS2003で必ずでるわけではなく、私の環境では以下のような状況で
発生しております。

OS:Windows7
MS-OFFICE2003 SP3(ACCESS 2003のみ)
MS-OFFICE2007 SP2(ACCESS2007以外)
MS-OFFICEのインストール順番は2003→2007
上記環境でACCESS2003を使用しDateAdd関数を実行するとエラーが発生。
EXCEL2007のVBAを使用しDateAdd関数を実行すると正常に値の取得が可能。
※VBE6.DLLのバージョンは6.5.10.40

上記環境下に VritualPC+WindowsXPモード環境を構築し
MS-OFFICE2003をインストールし
(MS-OFFICE2007のインストールはしていません)
ACCESS2003でDateAdd関数を実行すると正常に値の取得が行えます。
※VBE6.DLLのバージョンは6.4.99.69

原因としてはWindows7上でMS-OFFICE2003と2007を共存させていることが
考えられるとおもうのですが、それが原因なのでしょうか?


http://support.microsoft.com/default.aspx/kb/936748/ja?p=1
上記を参照したところ、WindowsVISTAベースのOSで
ACCESS2003とACCESS2007の共存はエラーが起こることがあるようですが、
VBAを使っている点で考えるとEXCELなどの他のOFFICE製品であっても
2003と2007の共存ではエラーが起こり得るのでしょうか?

回避方法等ございましたら、ご教示いただけると幸いです。

佐々木

unread,
May 13, 2010, 1:32:01 AM5/13/10
to
本件について、以下の点があらたにわかりましたので、記載します。

1.DateAdd関数でInterval引数に"yyyy"を指定すると動作します。
それ以外の"m","d"などについてはすべてエラーが発生します。

2.DatePart関数でも同現象が発生しています。

また、なにかわかりましたら記載させていただきます。

佐々木

unread,
May 13, 2010, 3:16:01 AM5/13/10
to
関連している可能性があるため追記します。

Replace("abcdefg", "de", "12") を実行すると
正しくは、abc12fgが返却されるが
置換がおこなわれず、abcdefgがそのまま返却されます。

Option Compare Binaryに変更するか
もしくは、Replace関数のCompare引数にvbBinaryCompareを明示的に指定すると
正しくabc12fgが返却されます。

DateAdd関数が正常に動作する環境下では
Option Compare Databaseの指定でも置換が正常に行われます。

佐々木

unread,
May 19, 2010, 11:03:01 PM5/19/10
to
Office2003の再インストールなど、いろいろ試しましたが
解決することができませんでした。

よって、OSの再インストールから行うことで復旧をしました。


"佐々木" からの元のメッセージ:

0 new messages