FINDメソッドで複数の条件を入れるには?

解決


よしお  2004-03-24 05:45:12  No: 112493

レコードセットしたテーブルにFINDでデータを取りたいのですが、項目一つだと一意になりません。
以下現在のプログラム
Rs_NYUKO.Find "SOUKO = " & SV_ICODE, adSearchForward

そのため、このSOUKOという項目に2と入ってるデータが二件あった場合、FINDがどっちのデータを見てるかわかりませんが、Move.nextしたら次のデータはSOUKOの値が3になってしまい、一件分しか処理できません。
それでFIND時に区分を条件に入れられたら一意になるのですが、入れ方がわかりません。
そんなことができるのかどうかもわからないので、もしできないなら他の方法をできるなら記述の仕方を教えて頂きたいのですが…
よろしくお願い致します。


魔界の仮面弁士  2004-03-24 07:23:23  No: 112494

> そんなことができるのかどうかもわからないので、
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限定)


よしお  2004-03-24 22:00:14  No: 112495

ありがとうございました。
Filterで解決できました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加