「お昼の放送」の思い出

これまでWindowsXPで動作していた
Access2003のアプリケーションをそのまま、

Windows7 Office2010の環境で動作させようとしたところ、
以下のエラーが発生しました。


 [エラー]
  ”実行時エラー -2417352567(80020009)
  このオブジェクトに値を代入することはできません。”



デバッグで上記エラー発生個所を追ってみたところ

フォームの処理モジュールで、
自フォームに定義されたチェックボックスの値を変更する箇所があるのですが、
そこで起きています。

 [フォームの定義情報]
   :
  ・CKボックス = チェックボックスの名称

 [フォームモジュール内でエラーが発生した処理]
  Me.CKボックス = True

冒頭にも挙げたとおり、
本アプリケーションは2003⇒2010の際のソース・設定の変更は実施しておらず
2003の環境では正常に動作しています。

2010へのバージョンアップにあたり、
このチェックボックスの仕様に変更等があったのでしょうか?

この現象の解決方法をご教授願います。


いくらかネットで調べてみましたが、
ピタリと該当する事例は確認できておらず
お力を貸していただけたらと思います。

A 回答 (2件)

フォームを開いておいて、イミディエイトウィンドウで


forms!そのフォーム名!CKボックス=true
と入力して Enter 押し下げでもエラーが発生しますか?
コードが提示されていないので何とも言えませんが、
これでエラーが発生しないのなら何かのタイミングの問題かもしれません。

以下、思いついたことです。
CKボックス 名前を半角英字だけにしてみる。 CKBox
Acc2010 でVBEの参照設定不可の確認。
コンパイルが無事通るか。
最適化は。
OSとOfficeのサービスパックや最新のパッチの当て具合の確認。

それでもダメなら
Acc2010で新規ファイルを作成し、
名前の自動修正オプションを止めます。
一旦保存後に、再度開いて、旧ファイルから全てインポートしてみて確認。
    • good
    • 0

babystar0130さん


はじめまして。

特に問題なく動作します。
テストは以下のコードです。
※環境はWIN7(64ビット),Office2010

【標準モジュール】
Sub フォーム表示()
 UserForm1.CheckBox1 = False
 UserForm1.Show
End Sub
 
【UserForm1】
Private Sub CommandButton1_Click()
 Me.CheckBox1 = True
End Sub

プロパティを省略しない方法(Value指定)でも問題なく動作しました。
Private Sub CommandButton1_Click()
 Me.CheckBox1.Value = True
End Sub

私もEXCEL2003からEXCEL2010にした時、苦労した経験があります。
一番大きいかったのは「Application.FileSearch」が無くなっていたことです。
色々と大変だと思いますが、頑張って調査してください。
    • good
    • 0

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


おすすめ情報