使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
MukkuMukuさん
ご回答ありがとうございます。
“まれに”発生する可能性としては、特定の条件が整った場合に起こり得る。
ということなのだと推察しています。
SQLServer,Oracleなどで再構築が可能であればいいのですが、
予算的な問題で現状の運用でカバーしています。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
OS : WindowsXP
ACCESS2003で、テーブルの項目1つに「インデックス(重複なし)」を指定しています。
VBAのプログラムで、複数のユーザが同時にそのDBにアクセスするのですが、まれに「インデックス(重複なし)」を指定しているにも拘らず、
レコードが重複して作成されてしまいます。
(正確には既存の他のレコードに上書きされて作成されてしまう。)
DBから直接重複して作成されたレコードを削除しようとすると、以下のワーニングメッセージが表示され、削除できません。
「レコードに検索キーが見つかりませんでした。」
インデックスが壊れているようで、
重複元のレコードを削除してみると、同時に重複して作成されたレコードの全項目の値が以下のようになりました。
「#Deleted」
VBA上での処理にバグがあるとしても、DBの定義を無視して作成されてしまうのはおかしいと思い質問しました。
このような現象、または回避方法をご存知の方は、ご回答をお願い致します。
使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
MukkuMukuさん
ご回答ありがとうございます。
“まれに”発生する可能性としては、特定の条件が整った場合に起こり得る。
ということなのだと推察しています。
SQLServer,Oracleなどで再構築が可能であればいいのですが、
予算的な問題で現状の運用でカバーしています。
朝です。MukkuMukuです。
“まれに”ということを判断しかねますが、マルチユーザ環境での運用上でのファイル破損の可能性ということなのかなぁと。
レコードロックなりトランザクションなり制御をかませて処理を実行させるということぐらいなのでしょうか。
全体的に堅牢であることなど求めるのであれば、バックエンドをaccessではなくSQLServerなどにアップサイジング/マイグレーションを検討するということなのではなかろうか。