• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【ADO】「Filter」を使うか「WHERE」を使うか)

【ADO】「Filter」を使うか「WHERE」を使うか

このQ&Aのポイント
  • アクセス2003で、ADOの「Filter」を使うか「WHERE」を使うか悩んでいます。
  • どちらもTテーブルのフィールド1にりんごの文字が入力されているレコードを抽出する動作をするプログラムです。
  • どちらがより効率的で、他人が見てもわかりやすいコードになるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

どちらでも結果は同じではないですか。 一端SELECTしたレコードをそれを対象にFilterをかけるのでしょうか。 処理時間を気にしてるのですか。それは私では判りませんが。 ーー 後者Filterに関して、私がテストしてみました。いま社員2.mdbを開いていて、社員3テーブルを対象にFilterしました。 >rs.Open "SELECT * FROM Tテーブル", cn, adOpenKeyset, の部分adLockOptimisticの"SELECT * FROM Tテーブル", は不要ではないですか。 私のテスト例 Sub test09() Dim moji As String Dim URL As String Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = CurrentProject.Connection Set rs = New ADODB.Recordset rs.Open "社員3", cn, adOpenStatic, adLockPessimistic rs.Filter = "国語点数 <= 20" '--------- If rs.RecordCount = 0 Then MsgBox "該当するレコードは存在しません" Else Do MsgBox rs.Fields("国語点数") & "ーー" & rs.Fields("氏名") rs.MoveNext Loop Until rs.EOF End If rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub

qwfgjo
質問者

お礼

わざわざテストありがとうございます。 どちらもかわらないのですね。 参考になりました。

関連するQ&A

専門家に質問してみよう