- 締切済み
ACCESSのSQLについて
MyQuery.SQL = "SELECT 顧客ID FROM 顧客基本 WHERE 顧客基本.顧客ID = " & Me![顧客ID] Set MyRecSet = MyQuery.OpenRecordset() などとして実行した際、条件がマッチするものが1件も無かった場合の判断方法ですが、 この時点では、MyRecSet.EOFは、Falseのままのようです。 MoveLastとすると、MyRecSet.RecordCountは、1になり、1件存在するのか、0件なのか判断出来ないようなのですが、単純にマッチするものがあるかないかを判断する場合、みなさんならどのようにされていますか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- maruru01
- ベストアンサー率51% (1179/2272)
回答No.1
こんにちは。maruru01です。 おそらく、顧客IDをユニークで登録するための重複チェックをしたいのではないでしょうか。 この場合、おそらくフォームで今入力されているレコード自身も抽出されているのではないでしょうか。 MoveLast出来るのであれば、値を参照出来ると思うので確認して下さい。 もしそうであったら、>1で重複ありと判断すればいいでしょう。 あと、DCount関数を使う手もあります。 If DCount("顧客ID", "顧客基本", "顧客ID = " & Me![顧客ID]) > 0 Then ・・・(略) という風に。 では。
お礼
回答、ありがとうございます。
補足
DCnt関数でなんとか動くようになりました。