指定した値に一致するレコードを検索するには?

テキスト欄の数字を検索する方法

Q. 質問

PowerAddress の検索機能についての質問です。ID の欄を社員番号の管理に使用しています。社員番号は 1 から 9999 までの数字です。この場合、ID が 70 のレコードだけを検索するにはどうしたらいいですか? カード検索画面で ID に 70 を入力して検索すると、70 のほかに 700 や 701 なども抽出されます。

A. 回答

完全に一致するレコードを検索するには、カード検索画面で ID に ==70 を入力して検索します。

ご指摘のとおり、ID の欄を 70 で検索すると、70 のほかに、70 ではじまる 700 や 701 なども抽出されます。これは ID の欄が、数字以外の値も管理しやすいように、数字形式ではなくテキスト形式で構成されているためです。検索処理はテキスト扱いとなります。

70 だけを抽出したい場合は、ID の欄に =70 または ==70 を入力して検索します。前者は、ID 内の単語を調べ、70 に一致する単語をもつレコードを抽出します。後者は、ID 内のすべてのテキストを調べ、70 に完全に一致するテキストをもつレコードを抽出します。

ID 内のデータが一つの単語で構成されている場合は、どちらも同じ結果となりますが、「A-70」や「あ700」など、複数の単語で構成されている場合は、==70 で検索する必要があります。データの構成が不確かな場合は、==70 で検索した方がよいでしょう。

例えば、10件のレコードの ID がそれぞれ以下のようになっているとします。

  • 70
  • 71
  • 700
  • 3701
  • A 70
  • A-70
  • A-570
  • A-700
  • あ700
  • あ1700

ID を 70 で検索すると、以下の6件のレコードが抽出されます。

  • 70
  • 700
  • A 70
  • A-70
  • A-700
  • あ700

ID を =70 で検索すると、以下の3件のレコードが抽出されます。

  • 70
  • A 70
  • A-70

ID を ==70 で検索すると、以下の1件のレコードだけが抽出されます。

  • 70

以上のように、検索文字列に = を付けて検索すると、一致する単語をもつレコードが抽出されます。== を付けて検索すると、完全に一致するテキストをもつレコードが抽出されます。

この質問と回答に該当する製品

この質問と回答に該当する製品とバージョンは以下のとおりです。

  • PowerAddress 4.x

参考資料

こちらの記事もどうぞ (自動生成)

カテゴリー: FAQ タグ: , , パーマリンク