使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
こんにちは、ずっちです。
テスト環境では再現せず、安定した動作をしているなら…
AccessのファイルやAccessの不具合ではなく、PC固有の問題ということで、
共存環境やAccess自体に何らかの問題が発生しているかな?と私なら考えます。
なので、一度Accessを再インストールしたりするかなと思います。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
旧環境から新環境へのシステム(アプリケーションも含む)の移行を行っています。
アプリケーションは、AccessからExcelを繰り返し呼出してレポート出力をしています。
【旧環境】
OS:WindowsXp
Office:Access2003,Excel2003
CPU:Pen4
【新環境】
OS:Windows7
Office:Access2010,Excel2010,Access2003,Excel2003の共存
CPU:Core i5
現象
新環境でアプリケーションを実行すると、アプリケーションがフリーズする場合があります。
10回中8回ぐらいはフリーズします。
debugログを追加して、アプリケーションを実行すると
Accessの
CreateObject("Excel.Application")
でフリーズしています。
Micrsoftサポートで
文書番号:2646068 複数コアのCPU環境で実行中のAccessが応答なしになる
という文書を見ました。
回避策である
単一CPUで実行しても、フリーズが発生しています。
作成したアプリケーションに問題があるのか、上記文書番号:2646068が原因なのか
判別するためには、どのようにしたらよいでしょうか?
また、フリーズしないようにするためには、どのようにしたらよいでしょうか?
よろしくお願いいたします。
※モデレーター注 : この質問は別のトピックに投稿されましたが、内容から判断しこちらに移動させていただきました。
移動前トピック :Microsoft Answers サイト フィードバック | モデレーターまたはサポート エンジニア フィードバック
使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
こんにちは、ずっちです。
テスト環境では再現せず、安定した動作をしているなら…
AccessのファイルやAccessの不具合ではなく、PC固有の問題ということで、
共存環境やAccess自体に何らかの問題が発生しているかな?と私なら考えます。
なので、一度Accessを再インストールしたりするかなと思います。
MukkuMuku様
ご回答ありがとうございます。
他環境での実行結果を回答致しました。
もし、よろしければご確認頂けないでしょうか?
よろしくお願い致します。
楠部様
ご回答ありがとうございます。
提示頂いた、サンプルを【新環境】で実行しました。
問題なく動作しました。
アプリケーションをループで繰り返し実行した場合に、発生していますので、
サンプルをループで繰り返し実行してみましたが、フリーズは発生しませんでした。
>・Windows 7 と Office2010は、32ビット版、64ビット版のどちらでしょうか
→Windows 7 と Office2010は、共に32ビット版を使用しています。
>・他の Windows 7 + Access 2010 環境で実行するとどのようになりますか
>(別な環境がある場合です)
→以下の【テスト環境】でアプリケーションを実行しました。フリーズは発生しませんでした。
【テスト環境】
OS:Windows 7
Office:Access2010,Excel2010
CPU:Core2 Duo
アプリケーションの実行時間にも差がある事がわかりました。
【テスト環境】では、安定して10分未満で終了しました。
【新環境】では、10分未満~30分以上と差があります。(フリーズ現象が発生しなかった場合)
(同じ条件、同じDBを参照しているため、データ量は同じです。)
複数のアプリケーションがありますが、フリーズ現象が発生しているのは1つだけなので
アプリケーションが問題なのか、環境等が問題なのか判断が出来ていません。
タスクマネージャを監視しながら、アプリケーションを実行すると
EXCEL.EXEプロセスが新規に作成されていますが、
CreateObject("Excel.Application")が復帰しません。
なお、旧システムとの互換を保つために、ファイル形式は「.mdb」と「.xls」を使用しています。
よろしくお願い致します。
こんばんはMukkuMukuです。
先のコメントにあるように、他環境でどうなのか問題の切り分けなど進められるとよいと思います。
また、KB2646068 は
http://support.microsoft.com/kb/2553116
の件だったと思います。ACEに関するものだから、オートメーションについては関係ないかなと。
hi.seki さん、こんにちは。
Microsoft Answers への投稿ありがとうございます。
新しい環境 (Windows 7 に複数バージョンの Access をインストール) 移行したところ、フリーズする Access アプリケーションがあるので、原因と改善方法を知りたいとの内容ですね。
こちらで CreateObject を使用した簡単な VBA のサンプルを作ってみましたが、問題なく動作しました。
Private Sub btn_Click()
Dim obj As Object
Set obj = CreateObject(“Excel.Application”)
obj.Visible = True
obj.UserControl = True
End Sub
よかったら、上記のサンプルが正常に動作するか、確認してみてはどうでしょうか。
あわせて次の内容についても投稿してみてください。
・Windows 7 と Office2010は、32ビット版、64ビット版のどちらでしょうか
・他の Windows 7 + Access 2010 環境で実行するとどのようになりますか
(別な環境がある場合です)
KB2646068 についても確認してみました。
こちらではこの内容が原因になっているか判断が難しい状況です。
ページ内に書かれている start /affinity コマンドを使用する方法で改善しない場合には、別な原因が考えられる、またはサポートが必要かもしれません。
断言はできませんが、Access は複数バージョンの共存を推奨していないようなので、ひょっとしたらそれが原因となっている可能性があるかもしれません。
MSDN フォーラムには VBA フォーラム もありますので、よろしければそちらの利用も検討してみてくださいね。