• 締切済み

Access2003、2010間の非互換?

これまでWindowsXPで動作していた Access2003のアプリケーションをそのまま、 Windows7 Office2010の環境で動作させようとしたところ、 以下のエラーが発生しました。  [エラー]   ”実行時エラー -2417352567(80020009)   このオブジェクトに値を代入することはできません。” デバッグで上記エラー発生個所を追ってみたところ フォームの処理モジュールで、 自フォームに定義されたチェックボックスの値を変更する箇所があるのですが、 そこで起きています。  [フォームの定義情報]    :   ・CKボックス = チェックボックスの名称  [フォームモジュール内でエラーが発生した処理]   Me.CKボックス = True 冒頭にも挙げたとおり、 本アプリケーションは2003⇒2010の際のソース・設定の変更は実施しておらず 2003の環境では正常に動作しています。 2010へのバージョンアップにあたり、 このチェックボックスの仕様に変更等があったのでしょうか? この現象の解決方法をご教授願います。 いくらかネットで調べてみましたが、 ピタリと該当する事例は確認できておらず お力を貸していただけたらと思います。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

フォームを開いておいて、イミディエイトウィンドウで forms!そのフォーム名!CKボックス=true と入力して Enter 押し下げでもエラーが発生しますか? コードが提示されていないので何とも言えませんが、 これでエラーが発生しないのなら何かのタイミングの問題かもしれません。 以下、思いついたことです。 CKボックス 名前を半角英字だけにしてみる。 CKBox Acc2010 でVBEの参照設定不可の確認。 コンパイルが無事通るか。 最適化は。 OSとOfficeのサービスパックや最新のパッチの当て具合の確認。 それでもダメなら Acc2010で新規ファイルを作成し、 名前の自動修正オプションを止めます。 一旦保存後に、再度開いて、旧ファイルから全てインポートしてみて確認。

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

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」が無くなっていたことです。 色々と大変だと思いますが、頑張って調査してください。

関連するQ&A

  • MSアクセス2010と2003

    アクセスの帳票フォームで入力用チェックボックスが84個(ck1からck84)あります。表示データは10個程度ですが、このチェックマークの更新前処理で、同じ場所へのダブリが発生しないような処理をしています。フォームフッターにテキストボックスを84個配し(Text1~Text84)、Text1はCk1の合計を、Text2はCk2の合計を出すようにしておき、CK1の更新前処理に Select Case Me![Text1] Case "" If (Me![ck1]) = -1 Then MsgBox "Please wait" Cancel = True Me.Undo End If Case "-1" If (Me![ck1]) = -1 Then MsgBox "Already used." Cancel = True Me.Undo End If End Select またチェックマークを入れることにより、計算処理をして結果をチェックボックスの下に表示しているためme.Refreshを更新後処理に入れております。アクセス2003+Office2003SP3では問題なく動きますが、アクセス2003+Office2003SP1、アクセス2010+Office2010SP1では次のチェックボックスにチェックを入れるのに5~6秒程掛かります。(アクセス2003+OfficeSP3ではチェックマークをつけて次のチェックマークを付けるのに待ち時間はありません。)したがって使い物になりません。何か考えられることはありますでしょうか。

  • アクセスのサブフォームでのトラブル

    サブフォームにコンボボックスがあります。値集合ソースにクエリを指定しており、クエリの抽出条件でメインフォームのリストボックスの値を参照しています。 ところがなぜか、メインフォームのリストボックスを変更しても、それがサブフォームのコンボボックスに反映されません。どういうわけか、変更する前の値が反映されてしまいます。 ところがデータベースウィンドウからそのサブフォームを開くと、同じコンボボックスにメインフォームの変更がちゃんと反映されています。 メインフォームのリストボックスの更新後処理イベントでサブフォームのコンボボックスのリクエリを実行しています。 原因が分からず困っています。よろしくお願いします。

  • accessのフォームのチェックボックスを動くようにしたいです。

    accessのフォームのチェックボックスを動くようにしたいです。 あるフォームは起動時、更新の許可を「いいえ」に設定しています。フォームの値をいじらせないようにしているためです。 編集可能釦をおしたときに、この更新許可を「はい」にしています。 起動時(起動後)に、あるチェックボックスだけ、動作するようにしたいのですが、なにか簡単な方法はありますでしょうか? チェックボックスが無理でしたら、他の操作ボックスでもよいです(西暦・和暦を指定しているだけのチェックボックスです) p.s. フォームには、テキストや、コンボなど沢山あるため、できれば更新「いいえ」はそのままにしたいです。

  • PHP・MYSQLで複数のチェックボックスを使う場合

    いつもお世話になっております。 チェックボックスの値を <input type="checkbox" value="ok" name="check[]"> として配列で渡し、ここで選択された値をforeachで回してvalueがokの場合は対応するカラムにokを挿入しています。 このやり方では、例えばチェックボックスでチェックさせたい項目が100個あった場合はチェック結果を格納するテーブルに ck1 ck2 ck3 ck4 ck5 ck6......ck99 ck100 のように100個カラムを作る必要があります。 100個作るのが面倒・・・というわけでは無く、このやり方で良いのだろうかと疑問に感じてきました。 大量のチェックボックスを処理する場合、他に良いテーブル構造や方法などありましたら教えていただけるとうれしいです。

    • ベストアンサー
    • PHP
  • 【Access】チェックボックスでの抽出

    初心者です。よろしくお願い致します。 MS Access2003で問題集を作成しています。 テーブル:T_mondai ・ID 数値 ・問題文 テキスト ・正解 テキスト ・分野1 チェック ・分野2 チェック ・分野3 チェック ※分野1~4のチェックは複数選択可能です。 例えば次のようなデータが入っているとします。(IDとチェックボックスのみ例示します) ID、分野1、分野2、分野3の順です A ○ ○ × B ○ × × C × × ○ D × ○ × E ○ × × フォーム:F_kensaku ・ck1 チェックボックス ・ck2 チェックボックス ・ck3 チェックボックス ・bt1 プッシュボタン(抽出の実行) ※ck1~ck3は複数選択可能です。 ※ck1~ck3の規定値は「False」にしました。 フォーム:F_kensakuでチェックした条件でテーブル問題から抽出するクエリを作ろうと思っています。 それで、 クエリ:Q_sentaku を選択クエリで作りました。 分野1の抽出条件の1段目に下記の式を入れました。 [Forms]![F_kensaku]![ck1] 以下、 分野2:[Forms]![F_kensaku]![ck2](抽出条件の2段目) 分野3:[Forms]![F_kensaku]![ck3](抽出条件の3段目) に入れました。(OR条件です。) 実行すると、チェックが2つ、3つの時はきちんと抽出されるのですが、チェックが1つの場合、全データが選択されてしまいます。 何が良くなかったのでしょうか。 いい方法があればお教え頂ければと思います。 ちなみに、 F_kensakuで CK1のみ:ABE CK2のみ:AD CK3のみ:C CK1とCK2:ABDE CK1とCK3:ABCE CK2とCK3:ACD を抽出したいと思っています。 全チェックで全部表示されればいいと思います。 どうぞよろしくお願い致します。

  • フォームのプロパティを設定したい(Access2000)

    Access2000 XPです。 都道府県名が1レコードに1つずつ入っているテーブルと 各都道府県名のテーブルが47コあります。 新規でフォームを作成し(フォームのレコードソースはまだ未設定) コンボボックスを1つ置いて、値集合ソースに都道府県テーブルを設定し コンボボックスで選ばれた都道府県にフォームのレコードソースを変更しようと思っています。 Me.RecordSource=コンボボックス.text 単純にこれで良いと思うのですがエラー(入力された値は、フィールド又はコントロールで定義されている入力規則に従っていません)が出て全然更新されません。 どなたか分かる方、解決法をお願いします。。。

  • Access2000について

    Accessでの質問です。(排他処理について) フォームにとあるテーブル(リンクテーブルを使用 しています)のデータを一覧表示させています。 一覧表示させるテーブルの項目にはチェックボックスの 項目があり、フォーム上でそのチェックボックスを クリックして「削除」ボタンをクリックすると、 チェックがついたものだけをフィルタをかけて 表示させたあとで、モジュール内でそのチェックのついた データを削除する処理をしています。 このフォームを複数ユーザーで使用します。 それぞれのマシンごとにmdbはコピーして使うのですが、 リンクテーブル先は同じです。 (1)のマシンにてフォーム上でチェックボックスにチェックをつけ、「削除」ボタンはクリックしないまま、 そのままにしておいて、 (2)のマシンにて同じデータにチェックを付け、 「削除」ボタンクリックにてそのデータを削除したあと、 (1)のマシンにて「削除」ボタンをクリックすると、 (1)のマシンのmdbが異常終了してしまいます。 どうやら(1)のマシンが削除させようとして フィルターをかける時点で、既に(2)のマシンによって そのデータはテーブルから削除されているので 異常終了しているみたいです。 これを異常終了させないようにするには どうしたらいいのでしょうか? わかりづらい文章になってしまってすみません。 どうかアドバイスを宜しくお願いします。

  • ACCESSで作成したアプリケーションがACCESSランタイムで動かない?

    ACCESSで作成したアプリケーションがあるのですが、顧客の要望でランタイムで運用したいと思っています。 ところが動作確認をすると、あるフォームを開く際に「実行時エラーが発生したため、このアプリケーションの実行は中断しました。 アプリケーションを続行できません。システムはシャットダウンされます。」 というダイアログを表示して、OKボタンを押すとアプリケーションが落ちてしまいます。 ランタイムではないACCESSでは問題なく動作するのですが、ランタイムでは何が違うのかわかりません。 動作環境 OS:WindowsXP ACCESSランタイムは2003と2000 SR-1、ランタイムでないACCESSでも2003と2000 SR-1を試していますが、いずれの場合でもランタイムで上記の症状が発生し、ランタイムでない場合は発生しません。 Microsoft Jetは4.0にしてあります。 断片的なヒントでも結構です。また参考になるサイトでも結構ですのでご教示をお願いいたします。

  • ACCESSのエラー

    タイトルのとおりなのですが、突然下記のエラーがでるようになりました。 「イベント プロパティに指定した式 アクティブ時でエラーが発生しました:Returnに対するGoSubがありません」 エラーの発生するタイミングは、 (1)ACCESS起動時(メインフォーム立ち上がる前) エラーメッセージに対して「OK」すると  メインフォームが開きます。 (2)メインフォームから、別のフォームを開こうとすると(Docmd.Openform)エラーメッセージが出て  フォームが開かない。 なお、メインフォームのプロパティ(アクティブ時)には、下記を書いています。 Public Function サイズ元に戻る() 'フォームを元のサイズに DoCmd.Restore End Function 今日の午前中までは、普通に使えておりました。 モジュール等何も変更はしていません。 また、メインフォームのモジュールを確認すると(Alt+F11、デザインビューからイベントプロシージャ等)エラーが出なくなります。 ただ単に破損しているだけなのでしょうか?

  • Accessでチェックボックスからの入力を受け付けない

    お世話になります。 Access2003を使い、フォームにチェックボックスを作りました。  チェックボックスの値をテーブルに反映させるために、「チェックボックス」-「プロパティ」-「コントロールソース」より、該当テーブルの列を指定しました。 フォームビューにて、チェックボックスをクリックすると「このフォームは読み取り専用です」と言われ、チェックボックスへの操作は拒否されてしまいます。  どのようにすれば、フォームのチェックボックスから入力した値が、テーブルに反映できるのでしょうか?  なお、該当テーブルの列はyes/no型に指定しています。 よろしくお願いします。

専門家に質問してみよう