INSBASE96 の編集機能:レコード検索
(C)昆虫情報処理研究会 1992-1997. 大阪.

検索条件を設定した例
レコード検索の条件設定は,かなり細かくできるようになりました.上の図を参考に,まず概略を説明します.
上の図では,次のようなレコードが検索されます.
- アオイトトンボ科で
- ホソミオツネントンボでなく
- 幼虫または羽化殻の
- 1995年採集の
- 神戸市北区または神戸市西区の
- 標高500m以上
のレコードです.この説明でおわかりのように,同じ条件番号(条件1,条件2,・・・)内の縦に並んだ条件はAND(論理積),2つ以上の条件番号にまたがって設定されている条件はOR(論理和)をとるようになっています.数学的に表現すると,縦の項目をi,条件番号をjとして,項目の内容をXijとしたときに,
(X11 or X12 or ...... or X1n) and (X21 or Y22 or ...... or X2n) and ....... and (Xm1 or Xm2 or ...... or Xmn)
という条件のレコードが抽出されます.
NOTの指定は記号/を先頭につけています.また半角の>,<を先頭につけることによって,それぞれ以上,以下を表現します.ただしこの記号については数学と違ってその数値も含まれます.つまり数学であれば≧,≦を使うべきところです.
この例にはないさらに細かい条件設定も各項目内で可能です.以下に書式を説明します.項目内のキーワードの頭に次の記号があれば特定の意味があるものと判断します.
- &( , ):範囲指定で2つの条件のAndをとる
- +( , ):範囲指定で2つの条件の0rをとる
- <(半角):範囲指定でより小さい範囲を示す
- >(半角):範囲指定でより大きい範囲を示す
- /:Not条件を示す
これ以外に,フォームの右側に文字列の扱いについての条件指定ができるようになっています.次にそれを説明します.
- 大・小文字を区別しない
- これをチェックすると,例えば,「lestidae」と条件設定すれば,LESTIDAE,Lestidaeなどが検索されます.
- 全・半角文字を区別しない
- これをチェックすると,例えば,「LESTIDAE」と条件設定すれば,LESTIDAE,LESTIDAEなどが検索されます.
- 空白を無視する
- 空白部分を無視した文字列のつながりで検索します.これをチェックすると,例えば「青木典司」と条件設定すれば,青木典司,青木 典司などが検索されます.
- 一致性
- 完全な一致とは,設定された条件の文字列と,レコードの該当項目の文字列を先頭から一文字ずつ比較し,設定された条件の文字列と完全に一致すればこれを検索します.設定された条件の文字列の方が,該当の項目内の文字列より短い場合は,それ以降の一致性は無視されます.次の例を参考にしてください.
- (例)日付の条件設定をを「1995」とした場合,
- レコードの日付欄に書かれてある文字列のはじめから4文字までを比較し,一致すれば,それを検索する.つまり次のようなレコードはすべて検索される.
- 1995. 6.12
- 1995.12.21
- ..........
- それに対して部分的一致とは,項目内の文字列中に一致する文字列があればそれを検索するような設定です.(注意!:部分的一致を選択した場合,<,>,&( ),+( )などを使った範囲指定,また「/」を使ったNot指定部分は完全一致検索となります.これは,範囲指定やNot指定が,部分一致検索の意義とは相容れない属性を持っているためです.例:/ギンヤンマ とすれば,ギンヤンマでないものを完全一致で検索しますので,部分一致を持つクロスジギンヤンマは検索されてしまいます.).
- (例)地名を「大池」に設定した場合,地名欄に次のような文字列があればすべて検索されます.
- 櫨谷町谷口大谷大池
- 大池町東
- 播磨町大池ダム
- ・・・・・・・・・・・・
- 検索方向
- 現在表示されているレコード番号から前方向,後方向のどちらに向かって検索するかを設定します.
- 条件の数
- OR条件の欄を増減させます.
以上の設定を重複させた場合すべてを満たす条件を持つレコードが検索されます.
他のINSBASEファイルへの結合,テキストファイルへの出力,形式を指定しての印刷等ではこのデータの検索と同じフォームが現出しますが,検索方向を除いて,上記の設定は有効になります.
- 設定例
- 話が煩雑になりましたので,いくつかの例を示しておきます.
- Ex.1. 1995年4月から1996年3月の間のレコード
- [解]日付欄に,&(>1995. 4, <1996. 3)
- Ex.2. 標高100m以下,または1000m以上のレコード
- [解]標高欄に,+(<1000, >100)
- レコード検索の実行
- あと,[次を検索]ボタンをクリックするとカード画面に検索されたレコードが順次表示されていきます.表示されたレコードを修正したり削除マークをつけたりすることもできます.一覧表による検索は行えません.
一覧表画面はかなり大きいので,解像度の低いディスプレイでは検索結果をいちいちカード画面をクリックして呼び出さないと確認できません.このようなときは,下図のように,検索のフォームを小さくして実行してください.

編集操作メニューに戻る