電子書籍の厳選無料作品が豊富!

ACCESS2000から2003にバージョンアップしました。
その際、マクロをすべてVisualBasicに変換しています。
VB変換後全く同じマクロなのですがAフォームではエラーがでず、Bフォームではエラーが出ます。

2000の時のマクロの内容:開く時のプロパティで、アクション:サイズ変更 縦0cm、横0cm(幅、高さはスペース)

変換された後のマクロ:
Private Sub Form_Open(Cancel As Integer)
On Error GoTo Form_Open_Err
DoCmd.MoveSize 0, 0
Form_Open_Exit:
Exit Sub
Form_Open_Err:
MsgBox Error$
Resume Form_Open_Exit
End Sub
*この、開く時のイベント プロシージャが全く同じものですが、Aフォームでは通り、Bフォームでは通りません。
*エラーメッセージ:「イベントプロパティに指定した式 開く時 でエラーが発生しました。プロシージャの宣言がイベントまたは
プロシージャーの定義と一致していません」

ポップアップ、境界線スタイル等の画面のプロパティも同じだと思います。

どなたかご存知の方、よろしくお願いします。

A 回答 (2件)

>もし、他にありましたら、よろしくお願いします。



エラーの原因が特定できないので、何とも言えませんが・・・

・まず、開く時のイベントプロシージャを丸ごと削除してみて、エラーが無くなるか確認する
・エラーが無くなれば、開く時のイベントプロシージャを作り直し、内容は空のままで様子を見る
・正常なら、イベントプロシージャの内容を記述する

上記の何処かでエラーが出るようなら、

・データベースの最適化/修復を試みる
・それでもダメなら、新規のデータベースを作り、不具合の出るMDBから内容をインポートする

私の思いつく対処法はこんな感じです。
    • good
    • 0

エラーの内容からすると、宣言部分が怪しいのですが・・・



Private Sub Form_Open()
↑この様に、引数の数が一致していないと、質問と同じエラーが出ます。

再度確認してみてください。

この回答への補足

Private Sub Form_Open()
でやってみましたが、やはり同じでした。
もし、他にありましたら、よろしくお願いします。

補足日時:2007/02/21 08:57
    • good
    • 0

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

関連するカテゴリからQ&Aを探す