レコードセットしたテーブルにFINDでデータを取りたいのですが、項目一つだと一意になりません。
以下現在のプログラム
Rs_NYUKO.Find "SOUKO = " & SV_ICODE, adSearchForward
そのため、このSOUKOという項目に2と入ってるデータが二件あった場合、FINDがどっちのデータを見てるかわかりませんが、Move.nextしたら次のデータはSOUKOの値が3になってしまい、一件分しか処理できません。
それでFIND時に区分を条件に入れられたら一意になるのですが、入れ方がわかりません。
そんなことができるのかどうかもわからないので、もしできないなら他の方法をできるなら記述の仕方を教えて頂きたいのですが…
よろしくお願い致します。
> そんなことができるのかどうかもわからないので、
ADOのヘルプでは、以下のように書かれています。
『Find メソッド』
| criteria には、単一列の名前のみを指定できます。
| このメソッドでは、複数列の検索はサポートしていません。
> もしできないなら他の方法を
案1:
Rs_NYUKO.Sort = "SOUKO, 区分"
Rs_NYUKO.MoveFirst
Rs_NYUKO.Find "SOUKO = " & SV_ICODE, adSearchForward
If Not Rs_NYUKO.EOF Then
Rs_NYUKO.Find "区分=1", adSearchForward
If Not Rs_NYUKO.EOF Then
If Rs_NYUKO.Collect("SOUKO") = SV_ICODE Then
MsgBox "見つかりました。"
Else
MsgBox "見つかりません。"
End If
End If
End If
案2:
Filterプロパティで代用。
案3:
Seekメソッドで代用。(Jet Provider限定)
ありがとうございました。
Filterで解決できました。