条件検索/条件選択ダイアログ
レコードを探してカーソルを移動したり([探す]-[条件検索]),条件を満たすレコードだけを表示したり([探す]-[条件選択])するための条件を指定します。また,その条件を探索条件として表に登録します。
- 目次
- 手順概要
- 条件検索,条件選択共通のダイアログ項目
- 条件検索のダイアログ項目
- 条件選択のダイアログ項目
- 関連項目
条件検索/条件選択ダイアログでの操作は,次の項目に大別されます。
- 個別条件(一つの項目に対する条件)の設定
ある項目の値を指定して,一つの個別条件を作成します。個別条件の指定方法は,項目検索/項目選択ダイアログと基本的に同じです。
- 個別条件を AND または OR で結んで探索条件を設定
個別条件を組み合わせて複雑な探索条件を構成します。AND(かつ)を指定した条件は横方向に,OR(または)を指定した条件は縦方向に並びます。全体として,このダイアログで指定できる条件は,
- (個別条件 AND … AND 個別条件)OR
(個別条件 AND … AND 個別条件)OR
…
(個別条件 AND … AND 個別条件)
の形をしています。
ただし,[式で指定]ボタンを押すと任意の形の論理式で条件を指定できます。
- オプションの指定
必要に応じて,条件検索の場合は[使用索引],[検索開始位置],[検索方向]を,条件選択の場合は[使用索引],[追加選択],[同じウィンドウに表示]を指定します。
- 探索条件に名前を付けて登録
作成した条件を繰り返して使う場合には名前を付けて登録します。登録されている探索条件を呼び出して一部修正して利用することもできます。
- 条件名
- 次の中から選びます。または登録する探索条件の名前を入力します。
- <前回の条件>:条件名
直前の[探す]-[項目検索]/[項目選択]/[条件検索]/[条件選択]で指定した条件を呼び出します。呼び出された条件が[探索条件]に表示されます。前回の条件が登録されている探索条件の場合は条件名が付加されています。
- <前々回の条件>:条件名
<前回の条件>と同様に前々回の条件を呼び出します。
- <新規>
新しい条件を入力するためにダイアログ全体を消去します。
[探索条件]を設定して[OK]を押せば設定した条件で検索/選択が実行されます。[条件名]に新しい条件名を入力し,[探索条件]を設定して[条件登録]ボタンを押せば新しい条件が登録されます。
- 登録されている探索条件名
登録されている探索条件を[探索条件]に呼び出します。そのまま[OK]を押せばその条件で検索/選択が実行されます。
条件の一部だけを変更して探すこともできます。変更したうえで[条件更新]ボタンを押すと,登録探索条件の内容を変更できます。[条件名]も変更すると,新しい条件として登録することができます。
- 順序ボタン
- 登録されている探索条件の順序を入れ替えるための登録順序変更ダイアログが開きます。そこで指定した順序は,[条件名]リストボックスの順番になると同時に,ツールバー上の検索/選択リストボックス中の順番にもなります。
- 探索条件
- 探索条件が表の形で表示されます。この表では見出し部分に項目名が表示され,その項目を対象項目とする個別条件を各セルに設定します。見出し部分に表示される特殊な対象項目として,<全文字列項目>,<全数値項目>があります。
横1行に並んだ個別条件は AND(かつ)で結ばれ,すべての個別条件を同時に満たすレコードがその行の条件に合致すると判定されます。
表の縦に並んだ各行は OR(または)で結ばれ,いすれかの行の条件を満たせば探索条件全体に合致すると判定されます。
各セルには後述する[個別条件]で設定した条件のうち,比較方法と値だけが次の形で格納されます。(<値>,<値2>は,それぞれ [値],[値2]に指定した実際の文字列を示します。)
- =<値>
- ≠<値>
- 含む(<値>)
- 含まない(<値>)
- 項目が空
- 項目が空でない
- マーク付きレコード
- マークなしレコード
- 先頭一致(<値>)
- 先頭不一致(<値>)
- 末尾一致(<値>)
- 末尾不一致(<値>)
- パターン一致(<値>)
- パターン不一致(<値>)
- ≦<値>
- ≧<値>
- <<値>
- ><値>
- <値>≦[]≦<値2>
- <値>≦[]<<値2>
- <値><[]≦<値2>
- <値><[]<<値2>
- NOT(<値>≦[]≦<値2>)
- NOT(<値>≦[]<<値2>)
- NOT(<値><[]≦<値2>)
- NOT(<値><[]<<値2>)
- ≦<値>:辞書順
- ≧<値>:辞書順
- <<値>:辞書順
- ><値>:辞書順
- <値>≦[]≦<値2>:辞書順
- <値>≦[]<<値2>:辞書順
- <値><[]≦<値2>:辞書順
- <値><[]<<値2>:辞書順
- NOT(<値>≦[]≦<値2>:辞書順)
- NOT(<値>≦[]<<値2>:辞書順)
- NOT(<値><[]≦<値2>:辞書順)
- NOT(<値><[]<<値2>:辞書順)
- ≦<値>:文字符号順
- ≧<値>:文字符号順
- <<値>:文字符号順
- ><値>:文字符号順
- <値>≦[]≦<値2>:文字符号順
- <値>≦[]<<値2>:文字符号順
- <値><[]≦<値2>:文字符号順
- <値><[]<<値2>:文字符号順
- NOT(<値>≦[]≦<値2>:文字符号順)
- NOT(<値>≦[]<<値2>:文字符号順)
- NOT(<値><[]≦<値2>:文字符号順)
- NOT(<値><[]<<値2>:文字符号順)
- 表(<値>)の項目(<値2>)にある
- 表(<値>)の項目(<値2>)にない
- 式で指定ボタン
- [探索条件]に設定できる条件は個々の[個別条件]に指定できるものの組み合わせだけなので,陽に組込み関数を利用する条件や ( … AND … ) OR ( … AND … ) … 以外の形の条件は指定できません。そのために,探索条件全体を自由な論理式で指定するために[式で指定]ボタンが用意されています。このボタンを押すとダイアログが次の形に切り替わり,探索条件として自由な論理式を指定できます。[...] ボタンで式入力ダイアログが開きます。
- このダイアログでは,探索条件を変更しなければ[表形式で指定]ボタンで元の形のダイアログに戻りますが,ひとたび探索条件を変更すると表形式で指定するダイアログに戻ることはできません。どうしても戻りたいときは,いったん[キャンセル]して再びダイアログを開いてください。
また,式で指定した探索条件を登録または更新すると,次に[条件名]リストボックスでその条件を選んだときは常に式で指定する形のダイアログになります。
- 個別条件
- [探索条件]のセルに設定される一つの項目に対する条件を指定します。ここで指定できる条件は,項目検索/項目選択ダイアログで指定するものと同じです。
[個別条件]で条件を指定しただけでは検索のための条件として使われません。必ず,以下のいずれかのボタンを押して,[探索条件]に設定してください。
- 追加/かつボタン
- [探索条件]のカーソル位置の左側(ただし,対象項目がすでに[探索条件]に存在し,そのセルが空であるときは,そのセル)に個別条件を追加します。
[探索条件]が空のときだけ[追加]ボタンで,最初の個別条件が設定されると同時に[かつ]ボタンに変わります。
- またはボタン
- [探索条件]のカーソル位置の上に新たな行を追加し,個別条件を追加します。追加される列位置は,既存の行に同じ対象項目をもつセルがあればその列に書き込まれ,同じ対象項目をもつセルがないときは新たな列がカーソル位置の左に挿入されます。
- 変更ボタン
- [探索条件]のカーソル位置のセルを個別条件で置き換えます。縦の列全体がハイライトされているときは,その列のすべてセルに個別条件を設定します。
[探索条件]のカーソル位置の対象項目と,[個別条件]の[対象項目]とが異なるときはこのボタンを押せません。
- 削除ボタン
- [探索条件]のカーソル位置の個別条件を削除し,その内容を[個別条件]に設定します。
削除した結果,その行または列が一つも個別条件をもたなくなった場合,その行または列全体が削除されます。
行全体または列全体をハイライトしてから[削除]ボタンを押すと,その行または列が削除されます。この場合,削除された内容は[個別条件]に反映されません。
- 使用索引
- 検索/選択の速度を上げるために探す時に使う索引を指定することができます。条件検索の場合,[開始位置]が先頭/末尾のときにだけ意味をもち,現在位置からの検索では指定できません(常に<現在の整列状態>での検索になります)。
- <現在の整列状態>
現在のレコードの順番を変えずに探します。
この場合,[比較方法]が「=」や「先頭一致」であるいずれかの個別条件の対象項目が,表に定義されているいずれかの索引の第1整列キーとなっており,かつ条件検索の場合は先頭または末尾からの検索であれば,索引を利用した高速な検索/選択が実行されます。それ以外の検索/選択では,レコードを一つ一つ調べるので,検索の場合は最初に見つかったレコードまでのレコード数に,選択の場合は全レコード数にほぼ比例した時間が掛かります。
- <自動判定>
レコードの表示順が変更されてもいいから少しでも速く処理したいときに指定します。自動判定を指定すると,検索/選択が次のように実行され,整列状態を保ったまま実行するよりも高速に実行されます。
- 高速化に役立つ索引が表に登録されている場合,その索引を使った整列状態に並べ替えたうえで検索/選択を実行します。
- そのような索引が見つからない場合,整列状態を解除したうえで実行します。整列されているまま実行するよりは高速に実行されます。
- 利用者定義索引名
表に定義されている索引がリストアップされ,そこから選べます。陽に索引を指定した場合は,その索引を使ってレコードが並べ替えられてから検索/選択が始まります。並べ替えた後の実行は,<現在の整列状態>の場合と同じです。
[使用索引]も探索条件の一部として登録されます。したがって,ある探索条件を使って検索/選択を実行すると,レコードの並び順が変更されることがあります。
- 条件登録/更新ボタン
- [条件名]に未登録の名前が入力されており,探索条件が設定されていれば[条件登録]ボタンになります。
[条件名]に既登録の名前が入力されており,探索条件が変更されていれば[条件更新]ボタンになります。
それ以外では無効です。
- 条件削除ボタン
- [条件名]に既登録の名前が入力されているとき有効です。削除された探索条件の内容は[探索条件]に反映されます(すぐに[条件登録]ボタンを押すと削除の取消しができます)。
- 開始位置
- 検索を開始する位置を選びます。
- 先頭/末尾
- 表の先頭または末尾のレコードから検索を開始します。[検索方向]が下のときは「先頭」,上のときは「末尾」からになります。
- 現在位置
- セルカーソルのあるレコードの次あるいは前から検索します。
探索条件を登録するときはこの開始位置も登録され,再利用するときは,ここで指定した検索開始位置に従って動作します。
- 検索方向
- 上へ
- 末尾または現在位置から表の先頭に向かって探します。
- 下へ
- 先頭または現在位置から表の末尾に向かって探します。
探索条件を登録するときはこの検索方向も登録され,再利用するときは,ここで指定した方向に従って動作します。
- 追加選択
- 現在の選択ウィンドウのレコードを選択した元のウィンドウから選択し,結果のレコードを現在のウィンドウの末尾に追加します。現在のウィンドウが選択ウィンドウでないときは指定できません。
- 同じウィンドウに表示
- これを指定すると,選択結果を表示するための新しいウィンドウは生成されず,現在のウィンドウの内容を置き換えて表示します。[探す]-[選択解除]を実行すると以前の状態に戻ります。
- 機能ガイド:レコードの検索と選択
- [探す]-[条件検索]
- [探す]-[条件選択]
- 項目検索/項目選択ダイアログ