こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エラーログの対処方法が分からないII「ご指導願い」

先に以下の項目で質問させていただきましたが、Access2007にあったカレンダー機能がAccess2010にはないとの記述をWEB上で目にしました。そうした経緯から、誠に勝手ではございますが、Access2007で作成したDBをAccess2010インストールパソコンへコピーする際に、「コピー後にやっった方がよいこと(作業の能率アップ等)」「コピー前にやった方がよういこと(作業の能率アップ等)」等のアドバイスをお願いします。尚、殆どのページにカレンダー機能と時刻表示、西暦和暦の表示等を設けております。

【以下が先に投稿させていただきました内容です。】
I、困っていること
「Access2007」で作成したDBを「Access2010」で使用すると、起動直後にエラーダイアログが表示され、スタートフォームが表示できません。対処の方法が分からなくて困っています。

 Windows10 Access2007のDB ⇒ Windows10 Access2010 「エラーダイアログ」


II、実施したこと
「Access2007 AccessRuntime」をインストールしましたが効果がありませんでした。
https://www.microsoft.com/ja-jp/download/details.aspx?id=4438

II、確認できたこと
Access起動時に表示されるエラーダイアログの「OK」コマンドを実行すると、スタートフォームは表示できますが、フォームに配している「平成年号」「西暦年号」「曜日」のテキスト窓は全て「#name?」になっています。他のフォームに配しているテキストボックスの年号や時刻も全て「#name?」になっています。

III、スタートフォームに配しているテキストボックスとカレンダーコントロール

「カレンダーコントロール」:12.0 ※コマンドボタンでマクロで開く設定。

「平成年号」コントロールソース:=Date()、書式:gggee"年 ※テキストボックス窓
「西暦年号」コントロールソース:=Date() ※テキストボックス窓
「曜日」コントロールソース:=WeekdayName(Weekday(Date())) ※テキストボックス窓

以上ですが、宜しくお願いします。

投稿日時 - 2017-02-21 16:10:04

QNo.9296491

困ってます

質問者が選んだベストアンサー

そのエラーダイアログの内容からすると、Access2007のPCとAccess2010のPCの動作環境が違うのだと思います。実際に遭遇したことはないので確実なことは言えませんが、対処方法として幾つか考えられます。
なお、過去のご質問の経緯については承知していません。(特に得られた回答と結果。違った回答でも重要な情報です。)関連する場合はURLを貼って下さい。
「エラーログ」は動作中の記録・履歴のことです。今回はエラーダイアログ。

1.エラーダイアログに表示されている”mscomct2.ocx Version2.0”がない。
なにぶん元の開発環境が古いので既にMSのサポートは終了していますが、ダウンロードはできます。VB6ランタイムは細切れでいろいろなものが提供されていて混乱しますが、対象のファイル自体は含まれていました。
http://www.vector.co.jp/soft/dl/win95/util/se342080.html(”win95”などど不穏なURLですが、新しいもののようです)
でもWindows10環境には最初から含まれているはずだと思います。

VB6ランタイムに含まれているファイルのバージョンが”6.0.1.9782”ということと、ocxファイルが存在しないときのメッセージとは少々異なるのでは?とも思えるのが少々引っかかりますが…。
ファイルがない場合は”a file is missing or invalid”辺りのメッセージになるのではないかと。今回のエラーは”missing or broken reference to the file mscomct2.ocx version 2.0”に当たると思います。

2.データベースの中に、存在しないオブジェクトを参照している部分がある。
http://bit.ly/2m78y8s
使用していないのに参照している のであれば、その参照指定をOFFにしてリコンパイルするとのことです。そのActiveXを使用しているのであればOFFにはできませんので、他の方法かも。
http://bit.ly/2kUk3OH
ocxファイルの保存場所が原因だったようです。x64環境では32bit用のモジュールは”syswow64”フォルダになりますので。

3.ファイルは存在するが、有効なActiveXとして登録されていない。(regsvr32.exe)
http://bit.ly/2m77ku2
登録しないと有効になりません。

コピー後の環境で動かすのが目的なのですから、「Access2010のPCで実行前に行う」べきだと思います。(参照をOFFにしてリコンパイルするのなら、2007環境でも良いかもしれません)

投稿日時 - 2017-02-21 20:07:59

お礼

qq149598100 レベル13様へ

問題が解決しましたのでご報告させていただきます。当初「日付、カレンダーコントロール、時刻」のやり直しか一部諦めになると思っていましたので、解決できて本当に感激しております。ありがとうございました。

[解消に至る経緯と内容]
アドバイスをいただきましたWEBアドレスで「Visual Basic 6.0 SP6 ランタイムファイル(vb6rt340.exe)」をダウンロードしまして、インストールしてみましたところAccess2007DBがAccess2010上で完全に互換がとれました。インストール前は「日付、カレンダーコントロール、時刻(リアルタイム表示)」の全てがエラー「#name?」表示でしたが、Access2007と同様に表示でき動いています。

尚、不具合確認時点でインストールしました「Access 2007 ダウンロード: AccessRuntime.exe 」はアンインストールせずに「Visual Basic 6.0 SP6 ランタイムファイル(vb6rt340.exe)」をインストールしております。アドバイス項目1の実施のみでの「解決」と合わせてご報告。

早速のアドバイスに感謝いたします。重ねてお礼申し上げます。

投稿日時 - 2017-02-22 10:04:11

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問