Access

【AccessVBA】レコードセットからデータを検索する方法(find or filter)

レコードセットの検索

ADOやDAOで取得したレコードセットからデータを絞り込んで検索する方法にはfindコマンドを使う方法があります。

ただ、ADOでfindコマンドを使うためには制約事項があるためADOでレコードを検索する場合はfilterプロパティの利用をお勧めします。

ADO レコード セットの Find メソッドには、いくつかの制限があります。

  • 1 つのフィールドを検索にのみ使用できます。
  • 文字列リテラルで引用符を許可されていません。
  • 式を検索することはできません。

この問題を回避する方法の 1 つでは、 Filterプロパティを使用します。

引用:マイクロソフト公式サイト

ADOとDAOのレコード検索サンプルプログラム

今回は顧客テーブルのレコードセットをオープンし、レコードセットから誕生月が3月で都道府県が東京都のユーザーを検索してプレゼント発送日を更新するという処理を想定してみました。

このように条件が複数(誕生月+都道府県)の場合、ADOではfindfirstを使うことができません。

そこで、DAOではfindfirstを使ったプログラム、ADOではfilterを使ったプログラムをご紹介します。

DAOレコードセットからデータを検索する方法

ADOレコードセットからデータを検索する方法

ADOを使うかDAOを使うか悩んだらこちらの記事も参考にされてください。

レコードセット
【AccessVBA】ADOとDAOを使ってレコードセットを読み書きする方法AccessのVBAでレコードを操作したいときに利用するレコードセット。 レコードセットを使ってデータベースを読み書きする方法はA...
ABOUT ME
アズビーパートナーズ
アズビーパートナーズ
プログラマーと社内SEとしての経験を活かして、 情報システム部門のご相談を承ります。 得意な分野はAccessによる短納期開発、 BIツール(QlikSense/QlikView)の開発です。 現在はCMSを利用したホームページの作成にも力を入れています。
今のスキルのままで大丈夫?

あなたのスキル。今のままで大丈夫ですか?

時代のニーズに合った開発スキルを身につけてあなたの価値を高めましょう。

\オンラインでも教室でも学べるおすすめのスクール/

TECH::CAMP(エンジニアスクール)

まずは基礎から・・・という方はProgateUdemyどっとインストールなどがおすすめ!

スキルアップについて詳しくはこちら