• 締切済み

アクセス97で重複データのときに

アクセス97で、テーブルにデータを入力する時にそのフィールドで値が重複していた場合、メッセージを出すやり方を教えてください。 インデックスで重複なしにはできません。 (重複する場合もあるのです。ただし、確認のためメッセージだけは出したいのです。) よろしくお願い致します。

みんなの回答

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

フォームでの入力が前提ですが、DCount 関数などを使えば重複の有無が 分かります。 テキストボックスの更新後イベントなどで、 If DCount("*","[テーブル名]","[フィールド名]=" & Me!テキストボックス名) > 0 Then   MsgBox "重複があります。" End If のようにしてみてください。 なお、上記は、フィールド名 が数値型を想定しています。

  • N_Shima
  • ベストアンサー率62% (53/85)
回答No.1

Accessではキー項目の無いテーブルの作成が可能ですが、動作速度の面で使用の推奨はされていません。 (レコード件数が増えると検索動作がとても長くなります) フォームでテーブルの各項目を直接リンクしてしまうと、入力している段階で検出する方法は実質無いと思われます。 フォームの入力項目をテキストボックス等の変数として扱い、入力が終わった段階でその値を使ってレコード検索し、重複するレコードがあるかないか判定してはどうでしょうか。 なお、レコード番号を何らかの方法で生成するようにして、入力しない項目としてテーブル内部だけで使用すれば、内容が重複するレコードを持つインデックスキー項目のあるテーブルが作れますよ。

aiya0
質問者

補足

フォームを使ってない場合はどうしたらいいでしょう? そんなんでデータベース使うなよって言わないでくださいね。簡単なものなので必要ないんです。 初心者です。 申し訳ないのですがおっしゃっている意味が分かりません。もうすこしやさしく教えていただけないでしょうか?

関連するQ&A