- 締切済み
Access2003、2010間の非互換?
これまでWindowsXPで動作していた Access2003のアプリケーションをそのまま、 Windows7 Office2010の環境で動作させようとしたところ、 以下のエラーが発生しました。 [エラー] ”実行時エラー -2417352567(80020009) このオブジェクトに値を代入することはできません。” デバッグで上記エラー発生個所を追ってみたところ フォームの処理モジュールで、 自フォームに定義されたチェックボックスの値を変更する箇所があるのですが、 そこで起きています。 [フォームの定義情報] : ・CKボックス = チェックボックスの名称 [フォームモジュール内でエラーが発生した処理] Me.CKボックス = True 冒頭にも挙げたとおり、 本アプリケーションは2003⇒2010の際のソース・設定の変更は実施しておらず 2003の環境では正常に動作しています。 2010へのバージョンアップにあたり、 このチェックボックスの仕様に変更等があったのでしょうか? この現象の解決方法をご教授願います。 いくらかネットで調べてみましたが、 ピタリと該当する事例は確認できておらず お力を貸していただけたらと思います。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nicotinism
- ベストアンサー率70% (1019/1452)
フォームを開いておいて、イミディエイトウィンドウで forms!そのフォーム名!CKボックス=true と入力して Enter 押し下げでもエラーが発生しますか? コードが提示されていないので何とも言えませんが、 これでエラーが発生しないのなら何かのタイミングの問題かもしれません。 以下、思いついたことです。 CKボックス 名前を半角英字だけにしてみる。 CKBox Acc2010 でVBEの参照設定不可の確認。 コンパイルが無事通るか。 最適化は。 OSとOfficeのサービスパックや最新のパッチの当て具合の確認。 それでもダメなら Acc2010で新規ファイルを作成し、 名前の自動修正オプションを止めます。 一旦保存後に、再度開いて、旧ファイルから全てインポートしてみて確認。
- jcctaira
- ベストアンサー率58% (119/204)
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」が無くなっていたことです。 色々と大変だと思いますが、頑張って調査してください。