MS Access には、ID (自動番号) とシリアル番号 (テキスト) の 2 つのフィールドを持つテーブルがあります。シリアル番号には一意の値のみを含める必要があるため、インデックス付き: はい (重複なし) に設定しました。SerialNumber フィールドに 2 つの同じ値を入力しようとすると、標準的なエラー メッセージが表示されます。「シリアル番号は一意である必要があります!」のようなカスタム独自のメッセージをユーザーに表示する必要があります。そのメッセージを「検証テキスト」に追加しましたが、役に立たず、標準の Access エラー メッセージが引き続き表示されます。カスタムエラーメッセージを表示する方法を知っている人はいますか?
質問する
1460 次
1 に答える
0
インデックス制約は、検証規則をオーバーライドします。
DLookup を使用して検証ルールを回避できる場合がありますが、データベースのパフォーマンスに深刻な影響を与えるため、使用しないことを強くお勧めします。
より適切なオプションは、VBA を使用してエラーをトラップし、独自のカスタム エラー メッセージを発行することです。
データベースのバックエンドとして MS-SQL を使用している場合に返されるエラー メッセージをカスタマイズすることもできます (それはあなたのようには聞こえません)。
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case 3022 ' Duplicate Value Detected
MsgBox "That Serial Number already Exists.", vbOkayOnly
Response = acDataErrContinue
End Select
End Sub
これにより、フォーム上のすべてのエラーがトラップされ、エラーが重複値であるかどうかが確認されます。存在する場合は、シリアル番号が既に存在することを通知するメッセージ ボックスがユーザーに表示されます。その後、通常どおり続行されます。
于 2013-09-10T16:28:06.700 に答える