登録状況をチェックしていて気になったこと

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 | 投稿日時 2014.02.13 11:40
fujitake  新米   投稿数: 2
私は、県職員時代は害虫の防除法の開発や防除指導、農薬取締関係の仕事をしておりました。
今でも、生産現場で農薬の安全使用等について話をすることがあるため、いつも、ACFinder利用させて頂き、大変助かっています。
というより、これが頼りといった方がいいかもしれません。
これだけのソフトを無償で利用させて頂くばかりでなく、常に使いやすく進化しており、頭が下がる思いです。
例えば、作物名、中グループ、大グループで同時に抽出・検索できることなど、今まで考えてもいませんでした。
本当に感謝・感謝!!です

ところで、先日、県防除指針の登録状況のチェック作業をした際に気がついたことがありましたので下記に列記します。
農薬検査部のデータ形式がPDFに変更になったり等、大変ご苦労が多い中でのことと思いますので、心苦しいところもありますが、よろしくお願いいたします。

〇農薬タブでボルドー等の銅剤を検索すると、魚毒性が表示されない
(農薬検査部の「登録農薬有効成分の毒性・水産動植物に対する影響」では「B」になっています。)
〇「パダンSG(水溶剤)」では一致するデータなしになってしまいます。
  「パダン水溶剤」の3剤の中の商品名としては出てきますが
〇「作物」タブで登録適用農薬を抽出した際の「総使用回数における有効成分」が単なる「有効成分」になっているところがあり、誤解を招く恐れがりそうです。
「グリホサートイソプロピルアミン塩」、「グリホサートアンモニウム塩」、「グリホサートカリウム塩」は「グリホサート」としての総使用回数になっていますが、
「イミノクタジンアルベシル酸塩」、「イミノクタジン酢酸塩」と「メタラキシル」、「メタラキシルM」はそのまま表示されており、それぞれ「イミノクタジン」としての総使用回数、「メタラキシル及びメタラキシルM」の総使用回数
〇毒性の表示で「劇物除外」の欄が、変更後、直ぐに更新にはならなかったことがあります。
例えば、「オンコル」の有効成分である「ベンフラカルブ」が「6%普」に変更になった際に、かなりの期間「1%普」のままでした。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.02.13 17:33
kabe  長老   投稿数: 231
引用:心苦しいところもありますが、よろしくお願いいたします。全く気にせず、不具合あれば遠慮なく指摘してください。動作チェックが十分にできないので、その点では、使っている皆さんから不具合を随時報告いただけば、完成度もより高まると思います。

引用:「パダンSG(水溶剤)」では一致するデータなしになってしまいます。住化グリーンの屋号 SG を削除しているせいですね。
23062 SGダコグリーン顆粒水和剤

以下は SG をとったらまずいですね。修正まで少々お待ちください。
18950 パダンSG水溶剤
19939 イールダーSG
21866 協友パダンSG水溶剤
22130 わさび用緑風SG
22334 ガーディーSG
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.02.13 18:32 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
fujitake さん、はじめまして。いろいろご指摘いただき、非常に助かります。

引用:〇農薬タブでボルドー等の銅剤を検索すると、魚毒性が表示されないFAMIC の「登録農薬有効成分の毒性・水産動植物に対する影響」で、以前は無機銅が「塩基性塩化銅」「塩基性硫酸銅」「水酸化第二銅」と表記されていたのですが、いつの間にやら「銅(塩基性塩化銅)」「銅(塩基性硫酸銅)」「銅(水酸化第二銅)」という表記に変更されていて、「銅(○○)」なんて有効成分はないので魚毒性がリレーションされなくなってました。無機銅の有効成分については、例外処理で「○○」の部分だけ残すように修正しました。

引用:〇「パダンSG(水溶剤)」では一致するデータなしになってしまいます。kabe さんがすでに書かれていますが、住化グリーンの屋号 SG を削除する際に、water soluble glanule の剤型としての SG まで削除してしまっているのが原因です。「SGパダンSG水溶剤」なんてのが出るかもしれないので、MACS SQLite DB では、住化グリーンの剤で先頭が SG の場合のみ SG を削除するように修正しました。ダウンロードサイトを MACS SQLite DB に変更すると、修正されたデータがすぐ使えます。

引用:〇「作物」タブで登録適用農薬を抽出した際の「総使用回数における有効成分」が単なる「有効成分」になっているところがあり、誤解を招く恐れがりそうです。作物タブ、病害虫タブでは、「有効成分」しか表示していません。混在しているというのは、何かの勘違いではないかと…。
それはそれとして、有効成分は「農薬の種類」で分かりますし、誤使用を避けるといういう意味では、「成分1~5」の欄は有効成分ではなく「総使用回数における有効成分」を表示した方が良さそうですね。

引用:〇毒性の表示で「劇物除外」の欄が、変更後、直ぐに更新にはならなかったことがあります。ちょうど、「有効成分の毒性データ」の議論の頃から、FAMIC から PDF でしかデータ提供されないにもにかかわらず、毒劇関係がいろいろ変更になりました。仕事の片手間に手動更新していたので、ACFinder 公式サイトの1行コメントなどで皆さんから指摘をいただきながら、ようやく修正するという感じでした。
FAMIC にさんざん文句を言って、Excel データを出してもらうようになって、「登録農薬有効成分の毒性・水産動植物に対する影響を自動更新に」で書いたように、2013.3.14 から自動更新になっています。

薬検時代からず~と要望し続けてきて、ようやく提供されるようになったデータとしては、「製剤の人畜毒性」があります。が、まだ登録更新日は提供されないので、別途手動で作成しています。登録更新日と、期限が近い剤が登録更新手続き中であるかの情報はぜひ欲しいところなので、皆様方からも FAMIC に強く要望して頂けると助かります。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2014.02.13 18:32
kabe  長老   投稿数: 231
引用:〇「作物」タブで登録適用農薬を抽出した際の「総使用回数における有効成分」が単なる「有効成分」になっているところがあり、誤解を招く恐れがりそうです。
成分1 ~ 5 の成分名については、「総使用回数における有効成分」ではなく、農薬の種類名から抽出しています。

更新履歴を確認すると
2006/6/29版 で
塩違いの有効成分を同一視するように修正。
イミノクタジン(アシベル酸塩、酢酸塩)、グリホサート(イソプロピルアミン塩、ナトリウム塩、アンモニウム塩)など

となってますが、なぜか、イミノクタジンは処理されてませんね。

仕様として作物タブの成分1~5を「総使用回数における有効成分」があるものについては、「総使用回数における有効成分」を表示するように変更しますか?
(フェロモン剤等は種類名から抽出した成分名をそのまま表示)
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.02.13 18:38
OhYeah!  管理人   投稿数: 983 オンライン
引用:2006/6/29版 で
塩違いの有効成分を同一視するように修正。
イミノクタジン(アシベル酸塩、酢酸塩)、グリホサート(イソプロピルアミン塩、ナトリウム塩、アンモニウム塩)など
あ~、ACFinder の作成する DB はすでにそうなってたんですね。だとすると、MACS SQLite DB も同じ仕様にそろえなきゃですね。

引用:仕様として作物タブの成分1~5を「総使用回数における有効成分」があるものについては、「総使用回数における有効成分」を表示するように変更しますか?データベース作成時に実行するよりは、こちらの方が良さそうです。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.02.13 20:09 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
FAMIC CSV で確認しました。確かに、グリホサートは処理されていて、イミノクタジンは処理されていませんね。データベース作成時の処理ルーチンで、「イミノクタジン」と書くべきところを、「イムノクタジン」とか「イミニクタジン」とかにタイプミスしてるとかって可能性が高そうです。

が、「カーバムナトリウム塩」「グルホシネートPナトリウム塩」とか「メタラキシルM」「フルアジポップP」などの比較的新しい成分も処理されてないので、やはり適用表示時に処理する方式の方が良いと思います。
ただ、「グルホシネート及びグルホシネートP」といった長い総使用回数における成分名は、画面がうるさくなりそうなので正確に表示するべきか、「グルホシネート」と単純化して表示するべきかは検討の余地がありそうです。

それはそれとして、データベースを FAMIC CSV に切り替えるときに気づいたんですが、データベース更新ダイアログでデータベースを作り直した場合、kwlists が作成されません。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.02.13 20:16
fujitake  新米   投稿数: 2
投稿して直ぐに丁寧に対応して頂き有難うございます。
感激しております。
農薬検査部にも、もう少し強く意見を言ってみたいと思いますが、当事者意識が低いせいか、なかなか反応してくれず、難儀しています。

これからもよろしくお願いいたします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.14 15:39 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
引用:仕様として作物タブの成分1~5を「総使用回数における有効成分」があるものについては、「総使用回数における有効成分」を表示するように変更しますか?tvTekiyoSaku, tvTsushoTekiyoSaku, tvTekiyoByochu, tvTsushoTekiyoByochu を書き換えるだけで簡単に対応できそうなので、ちょっと試してみました。

通常の状態で、作物タブ通称モードで「きゅうり」の作物群一括検索を実行したのと同じ下記コードを SQL タブで実行すると、事務所マシンでは 1.90 秒かかります(自宅マシンだとわずか 0.5 秒程度なんだけど)。
--/d
DROP TABLE IF EXISTS ttTekiyoSaku;
CREATE TEMP TABLE ttTekiyoSaku AS SELECT bango,shurui,meisho,tsusho,idsaku,sakumotsu,idbyochu,byochu,mokuteki,jiki,baisu,ekiryo,hoho,basho,jikan,ondo,dojo,chitai,tekiyaku,kongo,kaisu,seibun1,keito1,kaisu1,(select mid from raccode where ippanmei = seibun1 and cid = substr(idbyochu, 1, 1)) as mid1,seibun2,keito2,kaisu2,(select mid from raccode where ippanmei = seibun2 and cid = substr(idbyochu, 1, 1)) as mid2,seibun3,keito3,kaisu3,(select mid from raccode where ippanmei = seibun3 and cid = substr(idbyochu, 1, 1)) as mid3,seibun4,keito4,kaisu4,(select mid from raccode where ippanmei = seibun4 and cid = substr(idbyochu, 1, 1)) as mid4,seibun5,keito5,kaisu5,(select mid from raccode where ippanmei = seibun5 and cid = substr(idbyochu, 1, 1)) as mid5,yoto,koka,zaikei,ryakusho FROM tekiyo WHERE idSaku IN (SELECT idSaku FROM m_sakumotsu WHERE idSaku REGEXP '^(02000000|02020000|02020002)' AND sakumotsu NOT REGEXP '\((.*、)?(きゅうり|うり科野菜|野菜(類)?).*?(、.*)?を(除|のそ)く');
SELECT * FROM tvTsushoTekiyoSaku;


seibun1..seibun5 に「総使用回数における有効成分」が表示されるように、tvTshushoTekiyoSaku を下記のように書き換えて上のコードを実行すると、事務所マシンでは3倍近い 5.30 秒ほどかかり、あきらかに遅く感じます。
この方法は対応が簡単ですが、実行時間のコストがかかりすぎますね。別スレで書いたように、データベース作成時に seibun1..seibun5 を「総使用回数における有効成分」にしてしまった方が良さそうです。
--/d
drop table if exists tSeibun;
create temp table tSeibun as select distinct ippanmei, seibun from seibun;
drop view if exists tvTsushoTekiyoSaku;
CREATE temp VIEW tvTsushoTekiyoSaku AS
SELECT DISTINCT
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho,
basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
ifnullstr((select seibun from tSeibun where ippanmei = seibun1), seibun1) as seibun1, keito1, kaisu1, mid1,
ifnullstr((select seibun from tSeibun where ippanmei = seibun2), seibun2) as seibun2, keito2, kaisu2, mid2,
ifnullstr((select seibun from tSeibun where ippanmei = seibun3), seibun3) as seibun3, keito3, kaisu3, mid3,
ifnullstr((select seibun from tSeibun where ippanmei = seibun4), seibun4) as seibun4, keito4, kaisu4, mid4,
ifnullstr((select seibun from tSeibun where ippanmei = seibun5), seibun5) as seibun5, keito5, kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2014.02.14 22:37 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
前のアーティクルのコードを自宅マシンで実行すると、標準状態で平均 0.50 秒程度、修正 tvTsushoTekiyoSaku で
平均 1.45 秒程度とやはり3倍弱かかります。が、tSeibun の作り方とtvTsushoTekiyoSaku を下記のようにすれば、標準状態と同じ平均 0.50 秒程度で意図する動作をするようになりました。
--/d
begin transaction;
drop table if exists tSeibun;
create temp table tSeibun (ippanmei varchar primary key, seibun varchar);
insert or ignore into tSeibun select distinct seibun1, ifnull(seibun, seibun1) from m_kihon left join seibun on ippanmei = seibun1 where seibun1 is not null;
insert or ignore into tSeibun select distinct seibun2, ifnull(seibun, seibun2) from m_kihon left join seibun on ippanmei = seibun2 where seibun2 is not null;
insert or ignore into tSeibun select distinct seibun3, ifnull(seibun, seibun3) from m_kihon left join seibun on ippanmei = seibun3 where seibun3 is not null;
insert or ignore into tSeibun select distinct seibun4, ifnull(seibun, seibun4) from m_kihon left join seibun on ippanmei = seibun4 where seibun4 is not null;
insert or ignore into tSeibun select distinct seibun5, ifnull(seibun, seibun5) from m_kihon left join seibun on ippanmei = seibun5 where seibun5 is not null;
commit;

drop view if exists tvTsushoTekiyoSaku;
CREATE temp VIEW tvTsushoTekiyoSaku AS
SELECT DISTINCT
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho,
basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
(select seibun from tSeibun where ippanmei = seibun1) as seibun1, keito1, kaisu1, mid1,
(select seibun from tSeibun where ippanmei = seibun2) as seibun2, keito2, kaisu2, mid2,
(select seibun from tSeibun where ippanmei = seibun3) as seibun3, keito3, kaisu3, mid3,
(select seibun from tSeibun where ippanmei = seibun4) as seibun4, keito4, kaisu4, mid4,
(select seibun from tSeibun where ippanmei = seibun5) as seibun5, keito5, kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;


m_kihon の seibun1..seibun5 を総使用回数における有効成分名にしてしまうと、RAC コードとの対応が若干変わるなど、全体的なチェック・修正が必要になるため、気づきにくいバグを新たに生む可能性が高くなります。この方法なら、タイムコストはかからないので、データベースの中身そのものに手を付けるより無難かもしれません。
ACFinder 側は、下記の2点の追加・修正で OK です。
(1) ACFinder 起動時及びデータベース更新時は、上記の方法で tSeibun を作成する。
(2) tvTekiyoSaku, tvTsushoTekiyoSaku, tvTekiyoByochu, tvTsushoTekiyoByochu の seibun1..seibun5 を上記のように修正する。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.15 00:56 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
tSeibun を下記のように作成すると、たとえば「メタラキシル及びメタラキシルM」が「メタラキシル」と単純化され、画面がうるさくなくなります。
--/d
begin transaction;
drop table if exists tSeibun;
create temp table tSeibun (ippanmei varchar primary key, seibun varchar);
insert or ignore into tSeibun select distinct seibun1, ifnull(seibun, seibun1) from m_kihon left join seibun on ippanmei = seibun1 where seibun1 is not null;
insert or ignore into tSeibun select distinct seibun2, ifnull(seibun, seibun2) from m_kihon left join seibun on ippanmei = seibun2 where seibun2 is not null;
insert or ignore into tSeibun select distinct seibun3, ifnull(seibun, seibun3) from m_kihon left join seibun on ippanmei = seibun3 where seibun3 is not null;
insert or ignore into tSeibun select distinct seibun4, ifnull(seibun, seibun4) from m_kihon left join seibun on ippanmei = seibun4 where seibun4 is not null;
insert or ignore into tSeibun select distinct seibun5, ifnull(seibun, seibun5) from m_kihon left join seibun on ippanmei = seibun5 where seibun5 is not null;
update tSeibun set seibun = re_replace('及び.*', seibun, '') where seibun like '%及び%';
commit;
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2014.02.15 21:36 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
view の変更で対応するなら、seibun1..seibun5 を「総使用回数における有効成分」に変更するより、有効成分と総使用回数における有効成分が異なる場合のみ、回数の方に総使用回数における有効成分を表示するのが最も問題が少ない解法かもしれません。view を下記のように変更しても、タイムコストはかからないようです。
view の変更にあわせて、tSeibun の生成方法も変更しています。また、「メタラキシル及びメタラキシルM」のような長い総使用回数における有効成分は、「メタラキシル(M)」と簡略化しています。

これにより、たとえば「きゅうり」の「フォリオゴールド」の「回数1」は、「メタラキシル(M): 4回以内(種子への処理は1回以内、は種後は3回以内)」と表示されます。「回数2」は TPN なので「10回以内(土壌灌注は2回以内、散布及びくん煙及びエアゾル剤の噴射は合計8回以内)」と総使用回数における有効成分は表示されません。

--/d
begin transaction;
drop table if exists tSeibun;
create temp table tSeibun as select distinct ippanmei, seibun from seibun where ippanmei != seibun;
update tSeibun set seibun = re_replace('.*及び([A-Z\-]+)(.*)', seibun, '(\1)\2') where seibun regexp '及び[A-Z]+';
update tSeibun set seibun = re_replace('.*及び(.*?)([A-Z\-]+)', seibun, '\1(\2)') where seibun regexp '及び.*?[A-Z]+';
commit;

drop view if exists tvTsushoTekiyoSaku;
CREATE temp VIEW tvTsushoTekiyoSaku AS
SELECT DISTINCT
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho,
basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
seibun1, keito1, concat(': ', (select seibun from tSeibun where ippanmei = seibun1), kaisu1) as kaisu1, mid1,
seibun2, keito2, concat(': ', (select seibun from tSeibun where ippanmei = seibun2), kaisu2) as kaisu2, mid2,
seibun3, keito3, concat(': ', (select seibun from tSeibun where ippanmei = seibun3), kaisu3) as kaisu3, mid3,
seibun4, keito4, concat(': ', (select seibun from tSeibun where ippanmei = seibun4), kaisu4) as kaisu4, mid4,
seibun5, keito5, concat(': ', (select seibun from tSeibun where ippanmei = seibun5), kaisu5) as kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.02.15 21:48 | 最終変更
kabe  長老   投稿数: 231
テスト版です。
http://acfinder.kabe.info/acfinder140215test_exe.zip

成分1〜5 に総使用回数における有効成分を表示できるようにしました。
有効成分を表示するか、総使用回数における有効成分を表示するか、オプションで選択できるようにしました。
デフォルトでは総使用回数における有効成分を表示します。

なお、m_kihon を作成する際の例外処理として
tsusho から抜き出した seibun1 〜 seibun5
について
展着剤 > 空白
除虫菊 > ピレトリン
シアン酸塩 > シアン酸ナトリウム
のみ置換します。

適用グリッドのポップアップメニューを修正しています。
RAC1 〜 RAC5 のコードを薬剤タブに送れるようにしました。

48ドットアイコンを作ってみました。
でもアイコンキャッシュを削除しないと、表示されないかもしれません。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.15 22:03
kabe  長老   投稿数: 231
これはナイスです。
変更してみます。

雪は大丈夫ですか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.15 22:35
kabe  長老   投稿数: 231
修正してみました。
http://acfinder.kabe.info/acfinder140215test2_exe.zip

m_kihon での グリホサート系の置換処理は削除したのですが、seibun1 - 5 でグリホサートになってます。
コードを見落としているところがあるのか。
今日のところは寝ます。

投票数:0 平均点:0.00

なし Re: 作物タブの成分1~5

msg# 1.3.3.1.2.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.15 22:44
OhYeah!  管理人   投稿数: 983 オンライン
私の投稿のタイミングが、もうちょっと早ければ良かったですね。総使用回数における有効成分を表示するかどうか、簡略形を使用するかどうかをユーザが選べるといろいろ使い勝手が良いと思うので、回数の方に総使用回数における有効成分を表示する方式に変更するにしても、このアイディアは残しておきたいところです。
ただ、とりあえず省略形でチェックして、最終的な資料にするときは正式形にするという使い方が多いと思うので、ツールバーに切替スイッチを置いて、再起動なしで切り替えられるのが望ましいですね。

tSeibun は下記のように正式形/省略形両方を持つように作っておいて、切換スイッチによって view を切り替えて再検索するってのはどうでしょう?
--/d
begin transaction;
drop table if exists tSeibun;
create temp table tSeibun as select distinct ippanmei, seibun, seibun as shoryaku from seibun where ippanmei != seibun;
update tSeibun set shoryaku = re_replace('.*及び([A-Z\-]+)(.*)', shoryaku, '(\1)\2') where shoryaku regexp '及び[A-Z]+';
update tSeibun set shoryaku = re_replace('.*及び(.*?)([A-Z\-]+)', shoryaku, '\1(\2)') where shoryaku regexp '及び.*?[A-Z]+';
commit;


総使用回数における有効成分非表示
drop view if exists tvTsushoTekiyoSaku;
CREATE temp VIEW tvTsushoTekiyoSaku AS
SELECT DISTINCT
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho,
basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
seibun1, keito1, kaisu1, mid1,
seibun2, keito2, kaisu2, mid2,
seibun3, keito3, kaisu3, mid3,
seibun4, keito4, kaisu4, mid4,
seibun5, keito5, kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;


総使用回数における有効成分表示(正式形)
drop view if exists tvTsushoTekiyoSaku;
CREATE temp VIEW tvTsushoTekiyoSaku AS
SELECT DISTINCT
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho,
basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
seibun1, keito1, concat(': ', (select seibun from tSeibun where ippanmei = seibun1), kaisu1) as kaisu1, mid1,
seibun2, keito2, concat(': ', (select seibun from tSeibun where ippanmei = seibun2), kaisu2) as kaisu2, mid2,
seibun3, keito3, concat(': ', (select seibun from tSeibun where ippanmei = seibun3), kaisu3) as kaisu3, mid3,
seibun4, keito4, concat(': ', (select seibun from tSeibun where ippanmei = seibun4), kaisu4) as kaisu4, mid4,
seibun5, keito5, concat(': ', (select seibun from tSeibun where ippanmei = seibun5), kaisu5) as kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;


総使用回数における有効成分表示(省略形)
drop view if exists tvTsushoTekiyoSaku;
CREATE temp VIEW tvTsushoTekiyoSaku AS
SELECT DISTINCT
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho,
basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
seibun1, keito1, concat(': ', (select shoryaku from tSeibun where ippanmei = seibun1), kaisu1) as kaisu1, mid1,
seibun2, keito2, concat(': ', (select shoryaku from tSeibun where ippanmei = seibun2), kaisu2) as kaisu2, mid2,
seibun3, keito3, concat(': ', (select shoryaku from tSeibun where ippanmei = seibun3), kaisu3) as kaisu3, mid3,
seibun4, keito4, concat(': ', (select shoryaku from tSeibun where ippanmei = seibun4), kaisu4) as kaisu4, mid4,
seibun5, keito5, concat(': ', (select shoryaku from tSeibun where ippanmei = seibun5), kaisu5) as kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.02.15 23:04
OhYeah!  管理人   投稿数: 983 オンライン
素早い対応、ありがとうございます。素早すぎて、私の投稿が後手後手に回っちゃってますが
やはり、成分1~5 を書き換えるよりは、こちらの方が本来のあり方だと思います。

雪ですが、先週も無加温連棟パイプハウスの倒壊やガラスハウスのガラス破損等の被害があったんですが、今回は重い雪が先週の 1.5 倍の高さで積もったので、全県的に災害条例適用になりそうなくらいの大被害になりそうです。埼玉県北部は冬期の晴天率が 98 %くらいで、雪はおろか雨すらもほとんど降らないので、一晩で 60cm なんて雪国並みの積雪があると、加温しててもハウスが保ちません。
おまけに、除雪体制が整備されていないので、道路の除雪が遅れてて、現地確認に行こうにも車が出られないくらい道路にまだ雪が残っています。明日はもっと温度が上がって、雪が解けてくれると良いんですが…。
投票数:0 平均点:0.00

なし ACFinder 140216 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.16 22:53 | 最終変更
kabe  長老   投稿数: 231
http://acfinder.kabe.info/acfinder140216test_exe.zip

作物タブ、病害虫タブの総使用回数における有効成分の表示モード切替機能を付けました。
結局5つのモードを付けています。
回数覧に成分名が入ってしまうと、資料を作る時に邪魔な場合もあるので、成分覧に入れる機能も残しました。
ヒントは入れてありますがツールバーアイコン、キャプションがわかりにくいです。なんかよい表記あったらお願いします。
アイコンは適当過ぎますが、あまり時間もかけていられないので、こんなもんで勘弁してもらいます。

モード1:
有効成分表示
モード2:
回数に総使用回数における有効成分表示(正式)
モード3:
回数に総使用回数における有効成分表示(省略)
モード4:
成分に総使用回数における有効成分表示(正式)
モード5:
成分に総使用回数における有効成分表示(省略)

モード6に
成分覧に「有効成分(総使用回数における有効成分)」の形式も作ろうと思ったのですが、さすがに多すぎるので見合わせました。

ちょっと、修正箇所が多くなったので、動作チェックお願いします。

ニュースではまだ農業被害の報道はみてませんが、雪害被害は甚大そうですね。こちら雪国でも一晩に60cmとか1m降るなんて、そうそうありません。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.17 09:23
kabe  長老   投稿数: 231
ツールボタンのヒント表示が全てモード1になってました。

投票数:0 平均点:0.00

なし Re: ACFinder 140216 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.17 22:11
OhYeah!  管理人   投稿数: 983 オンライン
引用:ツールボタンのヒント表示が全てモード1になってました。これ以外は、作物タブ・病害虫タブとも、通称モード/名称モードいずれも特に問題なさそうです。

引用:成分覧に「有効成分(総使用回数における有効成分)」の形式も作ろうと思ったのですが、さすがに多すぎるので見合わせました。モード 4 をこれにした方が、より正確と言えそうですけどね。で、モード 5 はより短く「イミノクタジン(酢酸塩)」「イミノクタジン(アルシベル酸塩)」とか「メタラキシル」「メタラキシル(M)」という表記にするとか…。ちょっと考えてみます。

モード 1 ですが、「標準(V)」より「表示なし(V)」の方が分かりやすいかな…。
投票数:0 平均点:0.00

なし Re: ACFinder 140216 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.18 00:07 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
引用:モード 4 をこれにした方が、より正確と言えそうですけどね。で、モード 5 はより短く「イミノクタジン(酢酸塩)」「イミノクタジン(アルシベル酸塩)」とか「メタラキシル」「メタラキシル(M)」という表記にするとか…。ちょっと考えてみます。一応、下記でいけると思います。新しいモード 5 は、正式な有効成分名と総使用回数で同一視すべき有効成分が簡潔に表現できるので、これをデフォルトにした方が良さそうです。
あるいは、モード 4-5 は現行のまま、モード 1 を新モード 5 にする手もありますね。この場合、モード 1 の選択肢は「標準(V)」のままで。でも、表示なしモードもあった方が良いかなあ…。

--/d
begin transaction;
drop table if exists tSeibun;
create temp table tSeibun as select distinct ippanmei, seibun, seibun as shoryaku, ippanmei as kanryaku from seibun where ippanmei != seibun;
update tSeibun set shoryaku = re_replace('.*及び([A-Z\-]+)(.*)', shoryaku, '(\1)\2') where shoryaku regexp '及び[A-Z]+';
update tSeibun set shoryaku = re_replace('.*及び(.*?)([A-Z\-]+)', shoryaku, '\1(\2)') where shoryaku regexp '及び.*?[A-Z]+';
update tSeibun set kanryaku = re_replace('^('||seibun||')(.*)', kanryaku, '\1(\2)') where kanryaku like seibun||'%';
update tSeibun set kanryaku = re_replace('(.*?)('||seibun||')$', kanryaku, '(\1)\2') where kanryaku like '%'||seibun;
update tSeibun set kanryaku = re_replace('(.+?)([A-Z\-]+.*)', kanryaku, '\1(\2)') where seibun like '%及び%' and kanryaku regexp '.+[A-Z]+.*$';
update tSeibun set kanryaku = re_replace('([A-Z\-]+)(.*)', kanryaku, '(\1)\2') where seibun like '%及び%' and kanryaku regexp '^[A-Z]+';
commit;

drop view if exists tvTsushoTekiyoSaku4;
CREATE temp VIEW tvTsushoTekiyoSaku4 AS SELECT DISTINCT 
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho, basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
concat('', seibun1, '('||(select seibun from tSeibun where ippanmei = seibun1)||')') as seibun1, keito1, kaisu1, mid1,
concat('', seibun2, '('||(select seibun from tSeibun where ippanmei = seibun2)||')') as seibun2, keito2, kaisu2, mid2,
concat('', seibun3, '('||(select seibun from tSeibun where ippanmei = seibun3)||')') as seibun3, keito3, kaisu3, mid3,
concat('', seibun4, '('||(select seibun from tSeibun where ippanmei = seibun4)||')') as seibun4, keito4, kaisu4, mid4,
concat('', seibun5, '('||(select seibun from tSeibun where ippanmei = seibun5)||')') as seibun5, keito5, kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;

drop view if exists tvTsushoTekiyoSaku5;
CREATE temp VIEW tvTsushoTekiyoSaku5 AS SELECT DISTINCT 
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho, basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
(ifnull((select kanryaku from tSeibun where ippanmei = seibun1),seibun1)) as seibun1, keito1, kaisu1, mid1,
(ifnull((select kanryaku from tSeibun where ippanmei = seibun2),seibun2)) as seibun2, keito2, kaisu2, mid2,
(ifnull((select kanryaku from tSeibun where ippanmei = seibun3),seibun3)) as seibun3, keito3, kaisu3, mid3,
(ifnull((select kanryaku from tSeibun where ippanmei = seibun4),seibun4)) as seibun4, keito4, kaisu4, mid4,
(ifnull((select kanryaku from tSeibun where ippanmei = seibun5),seibun5)) as seibun5, keito5, kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;
投票数:0 平均点:0.00

なし Re: ACFinder 140216 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.18 08:43
OhYeah!  管理人   投稿数: 983 オンライン
新モード 4 はやっぱり長すぎる感じがしますが、もし採用するなら、括弧の意味が他のモードとはちょっと違うので、() ではなく [] とか違う括弧にした方が分かりやすそうですね。

drop view if exists tvTsushoTekiyoSaku4;
CREATE temp VIEW tvTsushoTekiyoSaku4 AS SELECT DISTINCT 
sakumotsu, byochu, mokuteki, shurui, tsusho, jiki, baisu, ekiryo, hoho, basho, jikan, ondo, dojo, chitai, tekiyaku, kongo, kaisu,
concat('', seibun1, '['||(select seibun from tSeibun where ippanmei = seibun1)||']') as seibun1, keito1, kaisu1, mid1,
concat('', seibun2, '['||(select seibun from tSeibun where ippanmei = seibun2)||']') as seibun2, keito2, kaisu2, mid2,
concat('', seibun3, '['||(select seibun from tSeibun where ippanmei = seibun3)||']') as seibun3, keito3, kaisu3, mid3,
concat('', seibun4, '['||(select seibun from tSeibun where ippanmei = seibun4)||']') as seibun4, keito4, kaisu4, mid4,
concat('', seibun5, '['||(select seibun from tSeibun where ippanmei = seibun5)||']') as seibun5, keito5, kaisu5, mid5,
yoto, koka, zaikei
FROM ttTekiyoSaku;

ちなみに、このコードは || 演算子と concat 関数の仕様の違いを利用しています。文字列演算子 || は連結する文字列の中にひとつでも null があると null が返ります。したがって、'['||(select seibun from tSeibun where ippanmei = seibun1)||']' は seibun が null なら null です。concat は null は無視して値のある項目だけを連結します。concat('', seibun1, ...) は第3パラメータが null なら seibun1 だけが返ります。
投票数:0 平均点:0.00

なし ACFinder 140218 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2014.02.18 22:59
kabe  長老   投稿数: 231
本日段階修正版です。
http://acfinder.kabe.info/acfinder140218test_exe.zip

モード1:成分に成分+総使用回数における有効成分表示(省略)
モード2:成分に成分+総使用回数における有効成分表示(正式)
モード4:回数に総使用回数における有効成分表示(正式)
モード3:回数に総使用回数における有効成分表示(省略)
モード5:総使用回数における有効成分表示なし(有効成分表示)

としてみました。


投票数:0 平均点:0.00

なし Re: ACFinder 140218 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.02.19 09:01 | 最終変更
kabe  長老   投稿数: 231
すいません。不完全です。
修正までお待ちください。
投票数:0 平均点:0.00

なし ACFinder 140219 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.19 21:22 | 最終変更
kabe  長老   投稿数: 231
投票数:0 平均点:0.00

なし Re: ACFinder 140219 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.20 09:09
kabe  長老   投稿数: 231
成分1~5のポップアップメニューで、各検索サイト、薬剤タブへ送る際に検索文字列に括弧が入っていると、具体悪いですね。
モードに応じて処理を分けるようにします。
投票数:0 平均点:0.00

なし ACFinder 140220 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.20 21:48 | 最終変更
kabe  長老   投稿数: 231
http://acfinder.kabe.info/acfinder140220test_exe.zip
作物、病害虫タブの総使用回数における有効成分表示がモード1,モード2の際の、成分1〜5 のポップアップメニューの検索対象文字列が有効成分名となるよう修正しました。
投票数:0 平均点:0.00

なし Re: ACFinder 140220 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.20 22:36 | 最終変更
OhYeah!  管理人   投稿数: 983 オンライン
kabe さん、お疲れ様でした。良い感じだと思います。
実用上は全然問題ないんですが、日本食品化学研究振興財団、国立医薬品食品衛生研究所、フジテレビ商品研究所検索で、「イミノクタジンアルシベル酸塩」も「イミノクタジン酢酸塩」も「イミノクタジン」でしか検索してないのに、『「イミノクタジン(イミノクタジンアルシベル酸塩)」を....で検索』という表記になっているのは何故?

ところで、新モード2って、冗長すぎて使いにくくないですか? 新モード3があるので、モード2はなくても良いような…。まあ、あっても使わなければ良いだけですけど…。
投票数:0 平均点:0.00

なし Re: ACFinder 140220 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.21 22:56
kabe  長老   投稿数: 231
以前からポップアップメニューでのISO名の表記は括弧の中に成分名を入れてます。フェニトロチオン(MEP) とかだとその方がわかりやすいのかなという感じで。

新モード2は確かに長いですが、成分覧に全て表示されるので、これはこれであってもいいのかなと思います。
投票数:0 平均点:0.00

なし Re: ACFinder 140220 TEST版 exe のみ

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.22 17:02
OhYeah!  管理人   投稿数: 983 オンライン
引用:以前からポップアップメニューでのISO名の表記は括弧の中に成分名を入れてます。あ~、括弧の左側は、総使用回数における有効成分ではなく、ISO 物質名だったんですね。

新モード2は、さらにちょっと長くなりますが、下記のように連結子を半角スペースにした方が見やすいかも…。
concat(' ', seibun1, '['||(select seibun from tSeibun where ippanmei = seibun1)||']') as seibun1, keito1, kaisu1, mid1,
投票数:0 平均点:0.00

なし ACFinder 140223版 公開

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.02.23 18:21
kabe  長老   投稿数: 231
ACFinder 140223版 を公開しました。
http://acfinder.kabe.info/

このスレッドで提案いただいた、屋号SGがらみの不具合修正、
作物、病害虫タブで総使用回数における有効成分を表示する機能を追加した正式バージョンです。
投票数:0 平均点:0.00

なし Re: ACFinder 140223版 公開

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2014.03.02 13:24
OhYeah!  管理人   投稿数: 983 オンライン
kabe さん、更新お疲れ様でした。大雪後の条例適用などでおおわらわだったので、返信が大変遅くなってすみません。
やっぱり、モード3は間に半角スペースを入れて見やすくなりましたね。

話は変わりますが、kabe さんをブログ書き込み可に設定したあと、ブログ投稿可能ユーザグループのパーミッション設定をしてなかったので、もしかしたら当サイトの画面表示がおかしくなっていたかもしれませんが(通常の登録ユーザの権利も有しているので問題なかったかな?)、本日全て修正しました。
ただ、トップページの新着ブログに kabe さんの投稿が表示されない不具合がまだ修正し切れていません。せっかく、投稿者名を表示できるようにしたんですが…。
投票数:0 平均点:0.00

なし 新着ブログに kabe さんの投稿がリストされるように修正

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.03.02 14:21
OhYeah!  管理人   投稿数: 983 オンライン
引用:ただ、トップページの新着ブログに kabe さんの投稿が表示されない不具合がまだ修正し切れていません。トップページの「新着ブログ」及びブログページ右側の「最新のエントリ」に kabe さんの投稿が表示されるように修正しました。
投票数:0 平均点:0.00

なし Re: ACFinder 140223版 公開

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.2
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2014.03.03 06:57
kabe  長老   投稿数: 231
雪害対応お疲れさまです。

現行 ACFinder については、今後は、細かいバグフィックス対応のみとします。

ブログの方、ありがとうございます。
これから Lazarus版作成の過程で、備忘的に利用させていただくかもしれません。
投票数:0 平均点:0.00

なし ACFinder 140306版 公開

msg# 1.3.3.1.2.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.2.1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2014.03.06 23:11
kabe  長老   投稿数: 231
http://acfinder.kabe.info/

定型処理タブの適用グリッドでポップアップメニューが出ない不具合を修正しました。
投票数:0 平均点:0.00

  条件検索へ