dポイントプレゼントキャンペーン実施中!

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

A 回答 (2件)

フォームでの入力が前提ですが、DCount 関数などを使えば重複の有無が


分かります。

テキストボックスの更新後イベントなどで、

If DCount("*","[テーブル名]","[フィールド名]=" & Me!テキストボックス名) > 0 Then
  MsgBox "重複があります。"
End If

のようにしてみてください。
なお、上記は、フィールド名 が数値型を想定しています。
    • good
    • 0

Accessではキー項目の無いテーブルの作成が可能ですが、動作速度の面で使用の推奨はされていません。


(レコード件数が増えると検索動作がとても長くなります)

フォームでテーブルの各項目を直接リンクしてしまうと、入力している段階で検出する方法は実質無いと思われます。
フォームの入力項目をテキストボックス等の変数として扱い、入力が終わった段階でその値を使ってレコード検索し、重複するレコードがあるかないか判定してはどうでしょうか。

なお、レコード番号を何らかの方法で生成するようにして、入力しない項目としてテーブル内部だけで使用すれば、内容が重複するレコードを持つインデックスキー項目のあるテーブルが作れますよ。

この回答への補足

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

補足日時:2004/06/01 16:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!