Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
82 / 114 ツリー <前へ | 次へ>

〔185〕ACFinder LocalDB版 kabe (06/05/31 22:51)

〔315〕Re:作物・病害虫タブ Hidemi Oya (06/06/20 0:45)
〔318〕Re:作物・病害虫タブ Hidemi Oya (06/06/20 1:19)

〔315〕Re:作物・病害虫タブ
 Hidemi Oya WEB  (06/06/20 0:45)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>今回作成していただいた定型処理ルーチンを、作物・病害虫タブにも応用して、複数作物検索を実現できないかなと思ってますが、まだ機能がよく理解できていません。(^^;
 エレメント型メタフィールドを展開する時は、テキストボックスの値を TStringList に CommaText プロパティで放り込んで、TStringList の1行(各要素)ごとに展開しています。
 TfrmMain.TemplateToQuery 関数の下記の部分です。メタフィールドを書き換えるわけじゃないので、for ループの中は単純に
s := s + 'sakumotsu like ("' + list.Strings[j] + '") or ';
でつないでいって、最後に
Delete(s, Length(s) - 3, 4);
s := '(' + s + ')';
としてやれば OK だと思いますが…。

list.CommaText := edtTplSakumotsu.Text;
for j := 0 to list.Count - 1 do dest.Add(ReplaceRegExpr('\[' + CField[f] + '\]', line, list.Strings[j], false));

〔318〕Re:作物・病害虫タブ
 Hidemi Oya WEB  (06/06/20 1:19)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

 次のような方法の方が簡単かな…。
(1) テキストボックス直接入力は、今まで通り like 演算子とワイルドカードを使った検索
(2) 作物名選択ダイアログボックスを使った時は、ダイアログボックス内に複数選択作物表示テキストボックスを作っておいて、その値をそのまま in 演算子に渡して検索

 (2) はリスト型メタフィールドの展開と同じです。ダイアログボックス内の作物リストを sakumotsu_list とすると、単純に
s := 'sakumotsu in (' + QuotedCSV(sakumotsu_list) + ')';
でお終いです。
 定型処理タブでは、sakumotsu_list を edtTplSakumotsu.Text に代入してもらえばすみますし。

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
82 / 114 ツリー <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.