Access + Webのホームへ戻る

ADOFilterプロパティを利用してレコードを絞り込むには

 

RecordsetオブジェクトのFilterプロパティを使用してレコードを絞り込む方法を説明します。

 

recordset.Filter = Criteria

 

Criteriaには、レコードを絞り込むフィルタ条件を指定します。フィルタ条件には、SQLWhere句のようにフィールド名、比較演算子、値を指定します。複数のフィールドを指定するときは、ANDORで結合します。

 

rs.Filter “都道府県=’東京都’ “

rs.Filter “フリガナ Like ‘%’ “

rs.Filter “性別=’男性’ And “年齢=25”

 

図 Filterプロパティでレコードを絞り込むサンプル

 

Access + Webのダウンロードにサンプルが収録されています。ダウンロードの目次を表示させたら、「RecordsetオブジェクトのFilterプロパティを利用した手法」をクリックしてください。Internet Explorerの左側のフレームには、ASPのソースが表示されます。右側のフレームには、実行結果が表示されます。

 

図の行21-24では、Access 2000のデータベースado.mdbを接続するための処理を行っています。

 

strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _

  & "Data Source=" & server.MapPath("webdb/ado.mdb")

set cnn = server.CreateObject("adodb.connection")

cnn.open strConnection

 

26では、Recordsetのインスタンスを生成しています。

 

set rs = server.CreateObject("adodb.recordset")

 

27-39With…End Withでは、Recordsetのオブジェクトを参照しています。行28では、Openメソッドでado.mdb得意先テーブルを開いています。行29では、Filterプロパティにフィルタ条件「都道府県=’東京都」を指定してレコードを絞り込んでいます。行30では、RecordCountプロパティを表示しています。得意先テーブルには、東京都の得意先が7件存在することが解ります。

 

.Open "得意先;", cnn, adOpenKeyset, adLockReadOnly

.Filter = "都道府県='東京都'"

response.Write "Record Count:" & .RecordCount & "<br>"

è Record Count: 7

 

31-37do until…loopでは、Filterプロパティで絞り込んだレコードセットをブラウザに表示させています。行32-34では、Fieldsプロパティにフィールド名を指定して得意先コード、得意先名、都道府県をブラウザに送信しています。行35では、HTML<br>タグをブラウザに送信して改行しています。行36では、MoveNextメソッドで次のレコードに移動しています。カレントが最終レコードのときMoveNextメソッドを実行するとEOFが報告されます。行38では、Closeメソッドでレコードセットを閉じています。

 

do until .EOF

  response.Write .Fields("得意先コード").value & vbTab

  response.Write .Fields("得意先名").value & vbTab

  response.Write .Fields("都道府県").value

  response.Write "<br>"

  .MoveNext

loop

 

40では、ConnectionオブジェクトのCloseメソッドでデータベースを切断しています。行41-42では、Server.CrateObjectメソッドで生成したRecordsetオブジェクトとConnectionオブジェクトを解放しています。

Access + Webのホームへ戻る