次の方法で共有

ACCESS2003でインデックス(重複なし)の項目に重複データが作成されてしまう。

Anonymous
2011-07-05T02:23:04+00:00

OS : WindowsXP

ACCESS2003で、テーブルの項目1つに「インデックス(重複なし)」を指定しています。

VBAのプログラムで、複数のユーザが同時にそのDBにアクセスするのですが、まれに「インデックス(重複なし)」を指定しているにも拘らず、

レコードが重複して作成されてしまいます。

(正確には既存の他のレコードに上書きされて作成されてしまう。)

DBから直接重複して作成されたレコードを削除しようとすると、以下のワーニングメッセージが表示され、削除できません。

「レコードに検索キーが見つかりませんでした。」

インデックスが壊れているようで、

重複元のレコードを削除してみると、同時に重複して作成されたレコードの全項目の値が以下のようになりました。

「#Deleted」

VBA上での処理にバグがあるとしても、DBの定義を無視して作成されてしまうのはおかしいと思い質問しました。

このような現象、または回避方法をご存知の方は、ご回答をお願い致します。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-07-06T04:30:38+00:00

    MukkuMukuさん

    ご回答ありがとうございます。

    “まれに”発生する可能性としては、特定の条件が整った場合に起こり得る。

    ということなのだと推察しています。

    SQLServer,Oracleなどで再構築が可能であればいいのですが、

    予算的な問題で現状の運用でカバーしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2011-07-05T21:55:04+00:00

    朝です。MukkuMukuです。

    “まれに”ということを判断しかねますが、マルチユーザ環境での運用上でのファイル破損の可能性ということなのかなぁと。

    レコードロックなりトランザクションなり制御をかませて処理を実行させるということぐらいなのでしょうか。

    全体的に堅牢であることなど求めるのであれば、バックエンドをaccessではなくSQLServerなどにアップサイジング/マイグレーションを検討するということなのではなかろうか。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません