- 締切済み
アクセス97で重複データのときに
アクセス97で、テーブルにデータを入力する時にそのフィールドで値が重複していた場合、メッセージを出すやり方を教えてください。 インデックスで重複なしにはできません。 (重複する場合もあるのです。ただし、確認のためメッセージだけは出したいのです。) よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Gin_F
- ベストアンサー率63% (286/453)
回答No.2
フォームでの入力が前提ですが、DCount 関数などを使えば重複の有無が 分かります。 テキストボックスの更新後イベントなどで、 If DCount("*","[テーブル名]","[フィールド名]=" & Me!テキストボックス名) > 0 Then MsgBox "重複があります。" End If のようにしてみてください。 なお、上記は、フィールド名 が数値型を想定しています。
- N_Shima
- ベストアンサー率62% (53/85)
回答No.1
Accessではキー項目の無いテーブルの作成が可能ですが、動作速度の面で使用の推奨はされていません。 (レコード件数が増えると検索動作がとても長くなります) フォームでテーブルの各項目を直接リンクしてしまうと、入力している段階で検出する方法は実質無いと思われます。 フォームの入力項目をテキストボックス等の変数として扱い、入力が終わった段階でその値を使ってレコード検索し、重複するレコードがあるかないか判定してはどうでしょうか。 なお、レコード番号を何らかの方法で生成するようにして、入力しない項目としてテーブル内部だけで使用すれば、内容が重複するレコードを持つインデックスキー項目のあるテーブルが作れますよ。
補足
フォームを使ってない場合はどうしたらいいでしょう? そんなんでデータベース使うなよって言わないでくださいね。簡単なものなので必要ないんです。 初心者です。 申し訳ないのですがおっしゃっている意味が分かりません。もうすこしやさしく教えていただけないでしょうか?