こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessで、重複データのチェック

Access2000で、テーブル更新用のフォームを作っています。既に登録済みのレコードを編集する、あるいは新規のレコードを登録する機能を持っています。
そのフォーム上のテキストで、既存レコードを編集、あるいは追加したい新規レコードを入力して、テキストからフォーカスを離すと、入力したレコードが既存のレコードと重複していないか、チェックを走らせています。重複している場合は、適切なレコードが入力されるまで、そのテキストからフォーカスを離さないようにしています。が、やはりそのようなチェックの仕方では、既存のレコードに一度手を加えてしまうと、手を加える前のレコードに戻すことは出来ません。
たとえば、"東京都"というレコードが登録済みである→"東京都"を"北海道"に変える→やっぱり"東京都"というレコードに戻す→重複チェックにひっかかり、フォーカスもそこから離せない状態である→元のレコードにはもう戻せない、とにかく"東京都"と異なる値で登録するしかない。。。という具合です。以下の関数を、更新前処理でよんでいます。どなたか、よいアドバイスをください。お願いいたします。
Function ChkInp(pCntrl As Control, _
pClmName As String, _
pCourt_Cd As String) As Boolean
  Dim wSQL As String
ChkInp = False
wSQL = ""
wSQL = "select AREA_CD from COURTED_XXT009"
wSQL = wSQL + " where COURT_CD = '" & pCourt_Cd & "'"
wSQL = wSQL + " and " & pClmName & " = '" & pCntrl & "'"
Set rst = CurrentDb.OpenRecordset(wSQL, , acReadOnly)
If rst.EOF() = False Then
ChkInp = True
End If
End Function

投稿日時 - 2002-06-20 21:01:01

QNo.296447

すぐに回答ほしいです

質問者が選んだベストアンサー

フォームとテーブルを結びつけるのを止めてはどうでしょうか?
最終的にコミットするボタンを設けてInsertなりUpdateされてはいかがなもんでしょう。

投稿日時 - 2002-06-20 21:25:25

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問