|
|||||||||||||||||||||
| 連結先のメモ型フィールドで文字列検索 | |
| 連結先のメモ型フィールドの、特定の文字を探してみましょう。 | |
| 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 :