1

ODBC 経由で 1 秒に 1 回 SQL テーブルにクエリを実行し、処理済み = 0 のレコードを検索する Access VBA アプリケーションを持っています。デスクトップ アプリケーション (処理済み = 0 の SQL レコードを追加したもの) がアクセスできるネットワーク ドライブに、それをユーザーのデスクトップで開きます。

初めての VBA アプリケーションであるこのデバッグにかなりの時間を費やし、すべてのエラーをトラップしてログに記録しました。今朝、Access アプリケーションが閉じられたため、レポートは処理されませんでした。.accdb を開くと、レポートのバックログの処理を開始できました。エラー ログは空で、サーバーは 1 か月近く再起動していません。

私の知る限り、このアプリケーションはデスクトップからのみ実行する必要があるため、管理者は再起動後にサーバーにログインする必要があります。MSACCESS をサービスとして実行することは「ひどい考え」であり、Access でエラーが発生すると Windows が破損する可能性があることを読みました。

そんな状態です。これが私の質問です。

  • このサーバーにインストールして、アプリケーションのイベント (特に、終了と開く) を監視およびログ記録することをお勧めする、作成済みのアプリケーションはありますか?
  • 最後の手段として、10 分ごとに、基本的に「私はここにいます!」と言う「ステータス ログ」テキスト ファイルに書き込む関数を追加できると思います。そのため、理由ではないにしても、少なくともいつアプリが閉じられたかを知ることができます。ログファイルを追加するのではなく、5〜10分ごとに作成および破棄しない限り、ログファイルが巨大になる可能性があるため、これはやり過ぎのようです。

このアプリの前は、PHP と JavaScript だけを扱っていたので、6 年前の大学以来、Visual Basic や C ベースのクラスを受講していませんでした。

創造的な解決策はありますか?

4

1 に答える 1

0

私の最初の考えは、プロファイラーを使用して必要なものをキャプチャすることです。レポートが作成されたときに、アプリは処理済み = 0 フラグをリセットしますか? 「最後に処理された」日付フィールドを持つ 1 レコード テーブルを作成し、実行するたびにそれを更新することができます。

于 2013-07-23T14:50:06.250 に答える