私が作成したものではなく、MSSQL2000 データベースにリンクされたマルチユーザー Access 2000 DB を維持しています。
データベースの設計は非常に貧弱なので、我慢する必要があります。
「Customer」フォームには、デフォルトで次の利用可能な顧客 ID を取得する必要がある「Customer_ID」フィールドがありますが、ユーザーはこの選択を既存の顧客 ID で上書きするオプションがあります。
現在、Customer_ID フィールドは Customer テーブルの PK ではありません。また、ユニークではありません。
顧客がジョブを送信するために 2 回電話をかけた場合、テーブルは 2 つのレコードを取得しますが、それぞれが同じ顧客情報と同じ顧客 ID を持っています。
ユーザーが新しいチケットを作成すると、Access は次に利用可能な顧客 ID をすばやく検索して入力します。ただし、レコードは保存されません。明らかに問題です。編集している 2 人のユーザーは、顧客 ID をだまされないように、互いの作業を追跡する必要があります。
そのため、「新しいレコード」ボタンを変更して、新しいチケットを作成した直後にチケットを保存したいと考えています。
問題は、変更をテストすると、「このレコードは、編集を開始してから別のユーザーによって変更されました」というメッセージが表示されることです。
DB上に他のユーザーは絶対にいません。「他のユーザー」はおそらく私の強制保存でした。
何か案は?