#548 | 複雑な条件でレコード検索を行うには? | VBA | |
画面に表示されているレコードの中からある条件に一致するレコードを検索しそのレコードにジャンプしたい場合、簡単な方法としてDoCmdオブジェクトの「FindRecord」メソッドを使う方法があります。 ただしこのFindRecordメソッドでは検索ができないいくつかのケースがあります。
そのようなとき使えるメソッドが「SearchForRecord」です。 たとえば次の例では、カレントフォームの「商品コード」と「数量」のデータを対象に検索を行っています。この方法なら各レコードのコントロールひとつでも使用可能になっていればそこにカレントレコードを移動させることができます。 DoCmd.SearchForRecord , , , "商品コード = 'A123' AND 数量 = 13" また、このメソッドの引数に指定できる検索条件は、DoCmd.OpenFormメソッドやDFirst関数などもでよく使われるWhere条件式の指定方法と同じです。よって次のような条件で検索することも可能です。SQL文の書き方を知っていればかなり複雑な検索も可能だと思います。 DoCmd.SearchForRecord , , , "商品コード Like '*11*' AND 数量 > 14" 参考Tips:「#497 レコード検索用テキストボックスの例」 |
|||
|
Copyright © T'sWare All rights reserved |