レコードの検索
フォームおよびデータベーステーブルでは、データフィールド、リストボックス、および、チェックボックスから特定の値を検索できます。
テーブルの検索時に、現在のテーブルのデータフィールドが検索されます。フォームの検索時に、フォームに関連付けられたテーブルのデータフィールドが検索されます。
ここで指定した検索が LibreOffice によって実行されます。SQL サーバーを使ってデータベース内を検索する場合は、フォームバーのアイコン フォームを基にしたフィルター を使用します。
また、この検索機能はテーブルコントロールでも使用できます。テーブルコントロールから検索機能を呼び出すと、リンク先のデータベーステーブルのデータベース列に対応するテーブルコントロールの各列を検索できます。
検索テキスト
検索の種類を指定します。
テキスト
検索語句をボックス内に入力するか、リストから選択するかします。 カーソルの下にあるテキストが、テキスト コンボボックスに予めコピーされます。フォーム内で検索を実行している間は、タブと行ブレークが処理されないことに注意してください。
テーブルまたはフォームドキュメントが開いている限り、検索対象の語句が保存されます。検索を何回か行う場合で、検索の語句を繰り返し使用するときは、以前に使用した語句をコンボボックスから選択することもできます。
NULL のフィールド
データを含んでいないフィールドを検索するように指定します。
NULL でないフィールド
データが入っているフィールドを検索するように指定します。
範囲
検索するフィールドを指定します。
フォーム
検索を実行する論理フォームを指定します。
フォーム コンボボックスが表示されるのは、現在のドキュメントがひとつ以上の論理フォームを含むフォームドキュメントである場合に限られます。テーブルまたはクエリーの検索時には表示されません。
フォームドキュメントには複数の論理フォームを含めることができます。論理フォームは個別のフォームコンポーネントであり、それぞれがテーブルに関連付けられています。
コンボボックス フォーム には、コントロールが存在するすべての論理フォームの名前が表示されます。
すべてのフィールド
すべてファイルが検索されます。 テーブル内で検索を実行した場合は、テーブル内のすべてのフィールドが検索されます。フォーム内で検索を実行した場合は、(フォーム で入力した) 論理フォームのフィールドがすべて検索されます。テーブルコントロールフィールド内で検索を実行した場合は、有効なデータベーステーブルフィールドに関連付けられているすべての列が検索されます。
現在の論理フォームのフィールドとフォームドキュメントのフィールドは必ずしも一致する必要がないことに注意してください。フォームドキュメントに複数のデータソース (つまり複数の論理フォーム) を参照するフィールドが含まれている場合、オプション すべてのフィールド ではフォームドキュメント内のデータソースに関連付けられたフィールドのみが検索されます。
個別フィールド
指定したデータフィールド内が検索されます。
設定
検索に関する設定を指定します。
位置
検索語句とフィールド内容の関係を指定します。 指定可能なオプションは下記のとおりです。
フィールド内の任意の位置 |
検索キーが任意の位置、すなわちフィールドの始め、終わりまたは中間位置にあるすべてのフィールドを検索します。 |
フィールドの始め |
検索キーがフィールドの始めにあるすべてのフィールドを検索します。 |
フィールドの終わり |
検索キーがフィールドの終わりにあるすべてのフィールドを検索します。 |
フィールド全体 |
検索キーがフィールドの内容と完全に対応しているすべてのフィールドを検索します。 |
ワイルドカード文字検索対象 のボックスを選択すると、この機能は使えません。
フィールドの書式設定を利用
現在のドキュメント内を検索する際にフィールドすべての書式を検索するように指定します。 フィールド書式とは、次のいずれかによって作成される表示用の書式すべてを指します。
-
フィールド属性におけるテーブルのデザイン
-
列の書式設定に関するデータ表示
-
コントロール属性に関するフォーム
データを表のデータ表示またはフォームで検索する場合には、検索時に現在の目に見える書式設定を考慮するのか、あるいはデータベースの標準書式設定を考慮するのかを選択できます。フィールドの書式設定を利用 のボックスを選択すると、そこで設定されている書式設定の表データ表示またはフォームで検索し、このボックスを選択しないと、そこに保存されている書式設定のデータベースで検索を実行します。
例 :
データベース内に、「DD.MM.YY」の書式で日付フィールドが保存されています (例えば 17.02.65)。この書式がデータソースの表示では次のように変更されます: 「DD MMM YYYY」(17 Feb 1965)。この例で「February 17」を含むレコードが検索されるのは、オプションフィールドの書式設定を使用を選択したときだけです:
フィールドの書式設定を利用 |
検索パターン |
オン |
「2月」は検索できますが、「2」は検索されません。 |
オフ |
「2」は検索できますが、「2月」は検索されません。 |
フィールドの書式設定を使って検索を行うことをお勧めします。これを行わないと(内部で)標準書式の設定が行われ、意図しない検索結果となる可能性があるからです。
次の例は、フィールドの書式設定が行われていない検索において考えられる問題点を示しています。これらのケースは使用したデータベースに左右され、特定の内部における標準の書式設定が行われた場合に限って発生します。
検索結果 |
原因 |
「5」は時刻「14:00:00」を検出 |
dBASE データベースには時間フィールドは定義されていないので、シミュレーションする必要があります。「14:00:00」という時間を内部的に表示するには、5 が必要です。 |
「00:00:00」は純粋な日付フォールドのすべてのレコードを検出 |
データベースは日付フィールドと時刻フィールドの複合フィールドに日付値を内部的に保存します。 |
位置 で すべてのフィールド オプションを選択したにもかかわらず、「45.79」は「45.79」を検索しません。 |
目に見える表示は内部メモリと一致しません。データベースに 45.789 という値がたとえば「種類 数値/ダブル」のタイプのフィールドに保存され、目に見える書式設定では、小数点以下2桁までを表示するように設定されている場合、フィールドの書式設定による検索でのみ、「45.79」を検出します。 |
この場合、標準書式は、内部保存されたデータを参照する書式です。この書式は、特にデータ型をシミュレーションする場合 (たとえば、dBASE データベースの時間フィールド) は、必ずしもユーザーに表示されません。表示されるかどうかは、使用するデータベースおよび個々のデータ型によって異なります。実際に表示される書式だけを検索する場合は、フィールド書式で検索するのが適切です。フィールド書式には、日付、日付/時刻および番号/二重などの種類のフィールドがあります。
ただし、書式にかかわらない検索を大規模なデータベースに対して実行する場合には、フィールドの書式設定を使用 を選択しない方が高速になります。
チェックボックスの値を検索していて、「フィールドの書式設定を使用」 がオンになっている場合、オンになっているチェックボックスからは「1」が、オフになっているチェックボックスからは「0」が、未定義 (3 倍のステータス) チェックボックスには空の文字列が返されます。 「フィールドの書式設定を使用」 がオフになっている状態で検索が行われた場合、言語に依存する標準値は「TRUE」または「FALSE」になります。
リストボックスの検索で フィールドの書式設定を使用 をオンにすると、リストボックスに表示されているテキストが検索されます。フィールドの書式設定を使用をオンにしない場合は、標準フィールド書式の内容が検索されます。
同一検索
検索時に大文字と小文字を区別するように指定します。
逆方向に検索
検索処理が逆方向、つまり末尾レコードから先頭レコードの順に行われるように指定します。
始めまたは終わりから
検索を再開します。順方向検索は、先頭のレコードから再開されます。逆方向検索は、末尾のレコードから再開されます。
ワイルドカード文字検索対象
次のワイルドカード文字を使用できます。
ワイルドカード文字 |
意味 |
例 |
? |
1つの任意記号 |
「?loppy」は「Floppy」を検出 「M?ller」は、たとえば Muller と Moller を検出 |
* |
0または複数の任意記号 |
「*-*」は「ZIP-ドライブ」や「CD-ROM」を検出 「M*er」は、「M」で始まり、「er」で終わるすべての入力項目を検出 (Muller、Moller、Meier など) |
? または * そのものを検索するには、「\?」または「\*」のように円記号を文字の前に付けます。ただし、これは ワイルドカードの表現 をオンにした場合にのみ必要です。オプションがオフなら、ワイルドカード文字は通常の文字と同様に処理されます。
正規表現
正規表現を使って検索されます。 ここでサポートされる正規表現は、LibreOffice の 検索と置換 ダイアログ でもサポートされています。
正規表現による検索は、ワイルドカード文字検索よりも可能性の幅が広くなりますが、通常の使用ではワイルドカード文字検索でも十分ですし、扱いも容易です。正規表現による検索を実行する場合、次の記号がワイルドカード文字検索の記号と対応しています。
ワイルドカード文字検索 |
正規表現による検索 |
? |
. |
* |
.* |
ステータス
ステータス には検索にヒットしたデータ行が表示されます。テーブルの最後 (あるいは先頭) まで検索し終わった場合は、自動的に最初から繰り返して検索が行われます。
データ記録が非常に大きい場合には、バック方向の検索はレコードを確認するのに若干時間がかかります。ステータス行は、レコードをカウント中であるという情報を表示します。
検索またはキャンセル
検索が一致すると、テーブル内の対応するフィールドが強調表示されます。ボタン 検索 をもう一度クリックすると、検索を続けることができます。ボタン キャンセル をクリックすると、検索処理をキャンセルできます。
閉じる
ダイアログを閉じます。最後に実行された検索の設定は、LibreOffice を終了するまで保存されています。
テーブルやフォームを複数開いている場合は、ドキュメントごとに異なる設定オプションを指定できます。ドキュメントを閉じる場合は、最後に閉じたドキュメントに関する設定のみが記録されます。