msaccessがクラッシュします-より重いタスクで
こんにちはマイクロソフトコミュニティ
誰かが私を助けてくれるかどうか疑問に思っています...
私は小さなホームランOfficeにMicrosoftAccessを使用しています(元々はAccess '97でしたが、何年にもわたって更新/調整/変更され、現在はOffice 2016で実行されています).コンピュータはかなり新しく、十分なメモリ/実行機能を備えており、その潜在的な容量を使用することはできません.以前は古いコンピューターでAccessプログラムを実行していましたが、この問題は現在のように新しいコンピューターでは発生しませんでした.
私のMicrosoftAccessプログラムは正常に動作しますが、特定のタスクを実行するとクラッシュすることがあります.
これは長い間(古いversionのOfficeなどで実行している場合でも)実行されてきましたが、クラッシュが頻繁に発生しているようで、現在はさらに多くの問題が発生しています.以前は、クラッシュしたときに、クラッシュしたデータの入力をやり直していたのですが、通常は2回目です.データの再入力には、毎回20~30分かかります.しかし、今では、クラッシュした場合、データを何度再入力しても、何度も何度もクラッシュします.最後に、(MS Accessプログラム以外の)別の形式でデータを入力し、クライアントが慣れていない標準以下の形式でデータを送信する必要があります.それはすべて私の時間の多くを浪費し、非常にイライラします.
100回のうち95回は正常に機能しますが、そうでない5回では、本当に面倒です.これは、より大きなレポートを入力している場合にのみ発生します(つまり、より多くのデータがAccessに入力されています).タイムアウトなどが原因で障害が発生しているのは、メモリの問題であるかのようです(?).それ以外の場合、Accessプログラムは非常に安定しており、クラッシュすることはありません.
常にクラッシュする場所で私が行っている特定のタスクは、---OutputTo-に続いて-特定のクライアントのWebサイトを開くCallShellです.コーディングは次のとおりです.
OutputToコーディングビット:
DoCmd.OutputTo acOutputReport、strNewName、acFormatPDF、 "C:\Users\User\Documents\Word Documents \"&Format(Date、 "yyyy")&"\"&strNewName&".PDF"
コールシェルコーディングビット:
ObjShell.Run( "" "C:\Program Files\google\Chrome\Application\Chrome.exe" "" "
https://XXXXXX "" ")
参考までに、私は実行しています:
Microsoft Office Professional Plus Office 2016
version2110にアクセス
私が言ったように、これはほとんどの場合美しく機能します.「OutputTo」しようとしているデータ/レポートがより大きなデータ/レポートである場合にのみ失敗します.「大規模なデータ/レポート」とは、PDFドキュメントの2ページについてのみ話していることです.
どんな考えや助けも大歓迎です-----ありがとうございます!
返信リスト(回答:5)
どこでクラッシュするか知っていますか?はシェルへの出力にありますか、それともシェルにありますか?そのルーチンでエラートラップがありますか?
問題が[出力先]である場合は、レポートのレコードソースとしてTemptableを使用することを検討してください.レポートのレコードソースからtableの作成(または削除と追加)クエリを実行してから、レコードソースを一時tableに変更します.
応答4# ->にスキップ2 #JamesR.親愛なるスコットジェム
繰り返しになりますが、有益な返信をありがとうございました.
どこでクラッシュするか知っていますか?はシェルへの出力にありますか、それともシェルにありますか?そのルーチンでエラートラップがありますか?
データベースは警告なしにシャットダウンするだけです...
問題が[出力先]である場合は、レポートのレコードソースとして一時tableを使用することを検討してください.レポートのレコードソースからtableの作成(または削除と追加)クエリを実行してから、レコードソースを一時tableに変更します.
良い提案ですね. 私にとっては(スキル的には)少し注意が必要かもしれませんが、以下の圧縮がうまくいかない場合は、それを試してみます.
申し訳ありませんが、私は少し「出力先」を使用していますが、かなり長い間、プログラムのこのビットで、代わりにこのHTMLセットアップを使用しました-それはうまくいくようです(時折の完全なクラッシュを除いて/シャットダウンしましたが、出力で行っていたため、このHTMLに関連しているとは思いません.セットアップするには:
'.attachments.Add( "
C:\Users\User\Documents\Word Documents \"&Format(Date、 "yyyy")&"\"&strNewName&".PDF")
J.
応答2# ->にスキップ1 #Scottgeさて、最初に行う必要があるのは、クラッシュする場所を特定することです.これを行うには、1つのフィールドに[はい]/[いいえ]フィールドを持つ一時tableを作成します.次に、OutputTo行の後に次の行を配置します.
CurrentDB.Execute "INSERT INTO tblTemp(TestCode)VALUES(True); "
したがって、Output Toコマンドを実行すると、フィールドがTrueに設定されます.このようにして、OutPutToコマンドが実行されたかどうかを確認できます.
手始めに、Accessの新しいversionごとに、RAMの消費量が増え、実際の使用量が減っていきます. これは、64ビットインストールが役立つ場合があります.
インストールはどの程度ですか?
VBAコードはエラーなしでコンパイルされますか?
フロントエンドとバックエンドの両方で、データベースを最後に圧縮したのはいつですか.
フロントエンドとバックエンドの両方で、データベースのファイルサイズはどれくらいですか?
これが発生したときに受け取る正確なエラーメッセージは何ですか?
応答5# ->にスキップ3 #JamesR.親愛なるダニエル
お返事ありがとうございます.
ビットネス?
Microsoft®Access®2016MSO(version2110Build16.0.14527.20234)32ビット
VBAコードはエラーなしでコンパイルされますか?
以前に(VBAコードで'文字を使用して)エラーメッセージ命令を「コメントアウト」していたので、エラーメッセージを表示できるように、それを元に戻しました. 次に、通常の「クラッシュ」を繰り返すようにテストを行いました.
残念ながら、MSACCESSは即座に完全に閉じます. 閉じる前に表示されるエラーメッセージはありません.
フロントエンドとバックエンドの両方で、データベースを最後に圧縮したのはいつですか.
昨日、最初の「クラッシュ」が数週間続いた後、データベースを圧縮しました.
MSACCESSの「データ」ファイルを圧縮できるとは知りませんでした...これが「バックエンド」の意味だと思いますか? それは簡単ですか?
フロントエンドとバックエンドの両方で、データベースのファイルサイズはどれくらいですか?
データ:141kb
データベースフロントエンド:うわー...! 確認したところ、100万kb以上でした. 通常よりもはるかに多い. 私は過去数週間、非常に複雑なクエリをいくつか行ってきました(私の仕事には必要ありませんが、いくつかの図を見るのにそれらを使用しました). それらを別のデータベースに削除しましたが、元のデータベースは400kbに縮小されました. それがお役に立てば幸いです! 以前は、フロントエンドが約250kbの場合、同じ理由で時々クラッシュしていましたが、それほど頻繁ではないようでした.
これが発生したときに受け取る正確なエラーメッセージは何ですか?
データベースが突然シャットダウンするだけなので、エラーメッセージは表示されません.
J.