• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSのデータ消失について)

ACCESSデータの消失について

このQ&Aのポイント
  • ACCESSベースで生徒提出物をバーコード管理し、受付票のレシートや各種統計、帳票を印刷するVBAによるPOSを組んで4月から勤務校等で使用しているところ、データベースが破損し、83件のデータが消失してしまいました。原因を知りたいです。
  • ACCESSベースで生徒提出物をバーコード管理し、受付票のレシートや各種統計、帳票を印刷するVBAによるPOSを組んでいますが、関連校での導入後、データベースの破損が起き、83件のデータが消失しました。原因を解明したいです。
  • ACCESSを使用したバーコード管理システムでのデータ消失に関して質問です。導入から数か月後にデータベースが破損し、83件のデータが消失しました。どのような原因でこの問題が起きたのか、解明したいです。

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

  • ベストアンサー
回答No.2

ブックマークが参照できません・・の時点で エラー処理出来たら良かったんでしょうけど、 いまさら言っても始まらないですね・・・。 以下は推測にすぎませんが ファイルをパスワード保護しているか、 「レコードレベルでロックして開く」のチェックが外れている場合に ページレベルのロックになります。 http://office.microsoft.com/ja-jp/access-help/HP005240860.aspx (2010でも同様です) で、Accessのキャッシュか遅延書き込みの際に 何かしらの問題があってカレントレコードだけではなく ページ(4Kバイト)単位でおかしくなったのでは? Accessの場合1日1回のバックアップでは安心できません。 モノによってですが、タスクスケジューラで 出社時・昼食時・定時退社時間時 の1日3回×三日分の世代バックアップを取っています。 (安定動作するようになってからはお世話になっていませんが大事な保険)

izayoi168
質問者

お礼

ご指摘ありがとう御座います。 特に何もせずともレコードレベルでロックされているものと勘違いしてました…orz さっそく確認します。

その他の回答 (1)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

>どのような原因で 作り方に問題がなかったとしたら、アクセスだからとしか言いようがない。 アクセスは複数端末で使ったり、ネットワーク越しに使ったりすると、時々壊れる。 アクセスの一つの問題は、アーカイブログとかないからロールバックなどできないので、(ネットワーク越しなどで)クエリを実行して返事がない場合、何がおきたのか誰にもわからなくなることも有りうる。 対策方法としては、レコード操作はすべてSQLで行い、そのSQL文をログとして、ローカルに書き出してから実行する。 SQL実行後は、終了した旨をログに残すなどの配慮をしたことはあるが、、、問題がおきるのを解決できるわけではない。  お勧めとしては、dbを信頼できるものに変えること。 アクセスはSQLサーバーにアップスケールできるので、フロントエンドはそのまま使うことができるのでそれが簡単かな。 フリーのDBもいろいろあるけど、アクセスよりましという観点からは、Microsoft SQL Server Express Edition,Oracle Express Edition,IBM DB2 Express-C、PostgreSQL,MySQLくらいだけど、sqlサーバー以外はクエリを全部対応するSQLに書き換えてあげないといけない。 (若干、構文が違うこともある)

izayoi168
質問者

お礼

ご指摘、ありがとう御座います。 急遽、DBを組むことになったので、手軽に入力画面や帳票を作れるACCESSを選んでしまいました。やっぱり、評判は良くないんですね… レコード操作はレスポンスを早くするためにSQLで行っています。ログは取れそうです。 その内、ACCESSで作ったインターフェイスはそのままに、外部DBでMYSQLを導入できないかを検討します。

関連するQ&A