• 締切済み

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件なのか判断出来ないようなのですが、単純にマッチするものがあるかないかを判断する場合、みなさんならどのようにされていますか?

みんなの回答

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 おそらく、顧客IDをユニークで登録するための重複チェックをしたいのではないでしょうか。 この場合、おそらくフォームで今入力されているレコード自身も抽出されているのではないでしょうか。 MoveLast出来るのであれば、値を参照出来ると思うので確認して下さい。 もしそうであったら、>1で重複ありと判断すればいいでしょう。 あと、DCount関数を使う手もあります。 If DCount("顧客ID", "顧客基本", "顧客ID = " & Me![顧客ID]) > 0 Then ・・・(略) という風に。 では。

SHINYA-W
質問者

お礼

回答、ありがとうございます。

SHINYA-W
質問者

補足

DCnt関数でなんとか動くようになりました。

関連するQ&A