ロータスアプローチにアプローチ?
アプローチ? ヒント集 お役立ちソフト 当初の開設目的 活用情報掲示板 お知らせ
リンク Links Links 更新履歴 管理人へメール トップページへ

トップページ >> ヒント集 >> 連結先のメモ型フィールドで文字列検索

連結先のメモ型フィールドで文字列検索
連結先のメモ型フィールドの、特定の文字を探してみましょう。
1. 検索に必要な材料を揃えましょう。

たとえば、メモ型フィールドのデータの中に、「千代田区」という文字があるかどうか
検索することが必要になる場合があると思います。

アプローチなら、そんな文字列検索も、簡単にできます。
そして、このテクニックを応用して、アプローチの活用範囲を広げましょう。

なお、ここでの説明では、連結したメモ型フィールドを検索しますが、
連結した文字型フィールドの検索も同じ方法でできます。
文字型フィールド、メモ型フィールドで文字列検索ができるので、
いろいろ応用ができます。
ここでの説明は、「活用情報掲示板」で、福士さんに教示していただいたことにヒントを得て
作成しました。ありがとうございます。
なお、以下の説明内容の過不足・誤りなどは、私の責任です。

1.下図のような簡単なデータベースを2つ使って、説明します。
(1)
(2)

 

2.上図の2つのデータベースを連結します。

  なお、この連結は、「文章管理」データベースを開いた状態で作業してください。
  「文章」データベースを開いた状態で連結すると、以下の解説内容と
  相違が出てきますので、注意してください。

 

3.連結が終わったら、「文章管理」データベースに、下図のように
  「検索文字」フィールドと「条件」フィールドを追加します。

  「検索文字」フィールドは変数型、「条件」フィールドは計算型です。
  この2つのフィールドは、文字列検索のために必要なフィールドです。

  計算型の「条件」フィールドには、次の式を設定します。

Position( 文章.文字 , 検索文字 , 1 )

上記の式の、
  「文章.文字」は、検索対象のデータがあるフィールド名
  「検索文字」は、検索したい文字を入力するフィールド名
  
1 は、検索を開始する桁位置
のことです。

そして、Position() 関数は、文字を見つけた桁位置を返します。

ですから、Position( 文章.文字 , 検索文字 , 1 ) は、
「検索文字」フィールドの文字が、
「文章」データベースの「文字」フィールドにあるかどうか
「文字」フィールドの1桁目から検索し、
見つかったら、見つかった桁位置を返し、
見つからなかったら、0 を返します。

この式は、「条件」フィールドに設定しますから、検索を実行すると、
文字列が見つかったレコードの「条件」フィールドは 1 以上の数値に、
見つからなかったレコードの「条件」フィールドは 0 になります。

なお、もうお分かりのように、この式は、連結を設定してからでないと、
作ることができません。

 


4.検索用のフォームは、こんな感じにしてみました。

 


5.この検索では、「文字列検索」という「名前付き検索」を使います。

 

6.「名前付き検索」の「文字列検索」の中身は、下図のとおりです。

  「条件」フィールドに、>0 を設定するだけです。

 


7.マクロは、下図のように5つ使います。
  このあと説明しますが、ひとつひとつの中身は、簡単なものです。

 

8.「検索エラー」マクロの内容は、下図のとおりです。

 

9.「検索クリア」マクロの内容は、下図のとおりです。

 

10.「検索実行」マクロの内容は、下図のとおりです。

  なお、このマクロを作成するには、「文字列検索」という「名前付き検索」と
  「検索エラー」というマクロが必要ですので、
  この2つをあらかじめ、作成しておいてください。

 

11.「次へ」マクロの内容は、下図のとおりです。

 

12.「戻る」マクロの内容は、下図のとおりです。

 


このページでは、検索に必要な材料の説明しました。

次のページでは、これまでに用意した材料を組み合わせて、
実際に文字列の検索ができるようにします。

 

前のページへ 先頭ページへ 次のページへ
(関連情報) 簡単・便利な文字列検索

一行目に戻る

since Feb. 27, 2001 :