プロが教える店舗&オフィスのセキュリティ対策術

以前http://oshiete.goo.ne.jp/qa/7848134.html
で質問したものです。
2名の方ご回答ありがとうございました。

頂いたご回答を実行するとエラーになるので教えてください。

新規にフォームを作り、タブとコマンドボタンを置き、
Sub delPage()
Dim myForm As String
Dim frm As Form
Dim i As Long
myForm = "フォーム1"
DoCmd.OpenForm myForm, acDesign
Set frm = Forms(myForm)
For i = frm!タブ0.Pages.Count - 1 To 2 Step -1
frm!タブ0.Pages.Remove (i)
Next
DoCmd.Close acForm, myForm, acSaveYes
Set frm = Nothing
End Sub

を実行すると、ページが消えフォームが閉じられますが、再度フォームを開いた時に、
「イベントプロパティに指定した式 クリック時 でエラーが発生しました:
Microsoft Office AccessがOLEサーバーまたはActiveXコントロールと通信指定いるときにエラーが発生しました。」が出てしまいます。

コードを消したり、タブを削除してもこのコードはずっと出るようになってしまいました。
(フォームにコマンドボタンしかなくても)

なぜこのコードを実行すると、このようなエラーがでるのでしょうか?

http://www.accessclub.jp/bbs2/0033/beginter10779 …
をみると、
「OCX/ActiveX コントロールを貼り付けたが、不要になって外すなどして、無意味な参照設定が残ることがあります。」
となっていますが、コマンドボタンとタブとページだけで、ActiveX コントロールは貼りつけてないし、
参照設定は何もいじってません。

新規にmdbファイルを作り、同じ事をすると同じエラーメッセ―ジが出ます。

当方win7、オフィス2007です。
ご回答よろしくお願いします。

「イベントプロパティに指定した式 クリック」の質問画像

A 回答 (2件)

前回回答者その2です(汗)



> Microsoft Office AccessがOLEサーバーまたはActiveXコントロールと
> 通信指定いるときにエラーが発生しました。

こちらの環境(Access2007/WinXP)でも、エラーは再現しませんでした。

ただ、環境が「win7、オフィス2007」とのことですが、ひょっとして以前の
バージョンのAccessも同じ端末に共存させていたりはしないでしょうか。

もしもそうであれば、一旦Access2003を起動後(→インストール(?)の
ダイアログが出るのはキャンセルでOk)、再びAccess2007を起動して
みてください。
なお、この【Access2007を起動した際のインストール(?)の処理】は、
決してキャンセルはせずに、終わるまで待ちます。
(以前、この処理を待たずにキャンセルしたときに、ActiveX系のものなど
 一切組み込んでいないにも拘わらず、同様のエラーが出た・・・ような
 記憶があります:
 Access2007で、バイナリ形式からXML形式に変更されたのと関連が
 あるのかなぁと【憶測】しています)


・・・記憶違いでしたらすみません(汗)

※待ち時間が面倒なので(汗)、ご質問のエラーが再現するかまでは
  確認していません(汗)
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/01/09 21:26

前回回答したものですが、こちら(Access2010)では問題なかったのですが?


ただし、
ページ数は5個、各ページ内には何も配置してありませんでした。
もしかしたら、Remove処理中に不完全な削除が行われて
ゴミが残ってしまったのかもしれません。
各ページ内に配置してあるオブジェクトを削除してから
{上流(Page)で一度に削除するのではなく、下流(Page内のオブジェクト)
で削除してから上流を削除すれば問題ないかもです。
ただ、当方でページ数10、
各ページ内にテキストボックス2個、コマンドボタン1個、ラベル1個
で直接Pages.Remove を試した限りではエラーの再現は出来ませんでした。
あるいは
frm!タブ0.Pages.Remove (i) の後に
DoEvents のおまじないを加えるとか。。。

なお、Accessのオプションにある「名前の自動修正オプション」は
全てチェックを外して置いた方が不可思議なエラーが少なくなります。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/01/09 21:26

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A