初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2015-09-28 12:37:06

tom
Guest

検索キーワードのリスト化

こんにちは。

テーブルA  テキスト、チェック結果

テーブルB  キーワード

という3つのフィールドがあります。

ここから、スクリプトで
「テーブルAのテキスト欄に、テーブルBのキーワードが含まれていたら、チェック結果に「1」を入力する」
という事をやりたいのですが、全く分からず困っております。


FM歴1ヶ月、環境はWin7、FMP11です。

よろしくお願いします。

#2 2015-09-28 18:27:29

チポ
Member

Re: 検索キーワードのリスト化

Aのテキストの一部がキーワードと一致
でしょうか?

それとも
テキスト = キーワード
でしょうか?


前者の場合、
テキストとキーワードはどのような文字列?

この場合は、
チェック結果は計算フィールドでは無理だと思いますよ。

Offline

#3 2015-09-28 22:21:56

tom
Guest

Re: 検索キーワードのリスト化

チポさん

ご返信ありがとうございます。

「Aのテキストの一部がキーワードと一致」になります。

>テキストとキーワードはどのような文字列?

「ひらがな」「漢字」「全角カタカナ」になります。

#4 2015-09-29 08:56:27

チポ
Member

Re: 検索キーワードのリスト化

お尋ねしたのは
  複数の単語
  短い文章
  長ーーい文章
とかでした;;;


取りあえず、、
テーブルBからテーブルAへ部分一致のリレーションをして、
関連レコードへ移動(対象レコードの照合)
でテーブルAのレコードを絞り込んで、チェック結果に全置換で入力。

で出来ると思いますよ。


部分一致のリレーション法は過去スレを参照してください。
https://fm-aid.com/bbs2/viewtopic.php?id=1083

Offline

#5 2015-09-29 22:45:37

tom
Guest

Re: 検索キーワードのリスト化

チポさん

回答ありがとうございます。



Re: 検索キーワードのリスト化

>お尋ねしたのは
> 複数の単語
> 短い文章
> 長ーーい文章
>とかでした;;;

すみません、私も変だなとは思ったのですが、そのまま回答してしまいました(笑)


お陰様で前方一致のリレーションで移動する所までは上手く行きました!

が、
>繰り返しフィールドにして、商品名称の
> 右から1文字
> 右から2文字
> 右から3文字
>  ・・・
>と全て入力して、これと照合します。

この部分が理解出来ませんでした。
これはどのように設定すれば宜しいのでしょうか。

質問ばかりですみません。

よろしくお願いします。

#6 2015-09-30 08:52:17

チポ
Member

Re: 検索キーワードのリスト化

テーブルAのテキストフィールドの値を
「この部分が理解出来ませんでした」
とします。

これを計算フィールド・繰り返しに

  この部分が理解出来ませんでした
  の部分が理解出来ませんでした
  部分が理解出来ませんでした
  分が理解出来ませんでした
  が理解出来ませんでした
  ・・・(略)
  でした
  した
  た

このように入力します。
繰り返しの上下逆でも可です。

このフィールドと前方一致の照合をすると、
部分一致のリレーションとなります。

Offline

#7 2015-09-30 23:35:07

tom
Guest

Re: 検索キーワードのリスト化

チポ様

ご説明ありがとうございました。

ただ、私の知識レベルが足りない為か、
どの画面からどのように設定をすれば良いのか
さっぱり分かりませんでした。

申し訳ありませんが、もしよろしければ、もう少し詳しくご教授頂けますでしょうか。

よろしくお願いします。

#8 2015-10-01 09:03:04

チポ
Member

Re: 検索キーワードのリスト化

テーブルAで計算フィールドを作り、
その計算式
  Right ( F01[1] ; Get ( 計算式繰り返し位置番号 ) )
として、
繰り返し数をテキストフィールドに入力される最大文字数より大きくします。

この式のままでは、
テキストの文字数より大きな繰り返しに同じ値が並びますから、
  Case ( Get ( 計算式繰り返し位置番号 ) ≤ Length ( テキスト[1] ) ; Right ( テキスト[1] ; Get ( 計算式繰り返し位置番号 ) ) )
としたほうがいいかな。


このフィールドに対して、
テーブルBから前方一致のリレーションをします。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 520.45 KiB (Peak: 525.35 KiB) ]