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

研究会

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

〔713〕ACFinder 071002版[2]  /  〔714〕定型処理の応用[2]  /  〔688〕ACFinder 070711test版[10]  /  〔687〕ACFinder 複数作物系定型...[0]  /  〔645〕ACFinder 070401版[37]  /  〔655〕定型処理のアイディアを募...[2]  /  〔652〕旧農薬検査所の URL 変更...[0]  /  〔623〕070326test版[17]  /  〔581〕ACFinder 070318版[44]  /  〔571〕ACFinder 070311版[10]  /  

〔713〕ACFinder 071002版
 kabe WEB  (07/10/02 20:16)

引用なし
   kabeです。

071002版を作成しました。
http://acfinder.kabe.info/

spec.db作成時にSQLエラーが出て、spec.dbを作成できない不具合を修正しました。

登録農薬有効成分の魚毒性・毒性一覧
http://www.acis.famic.go.jp/toroku/dokusei.htm
のページがおそらく、最近更新されたと思われますが、HTMLソースから魚毒性、毒性テーブルを作成する際に、失敗しSQLエラーが出ます。
そのため薬剤タブで魚毒性、毒性が表示されません。
またspec.db が正しく作成されないため、起動時に毎回エラーが出てしまいます。
これらの不具合を修正しました。

〔717〕ACFinder 071002版 バグ
 kabe WEB  (07/10/25 21:05)

引用なし
   kabeです。

ACFinder サイトの1行コメントへの返信です。
データ更新時に「acis.db を削除できません」というエラーメッセージが出る症状が確認されています。
これについては、071002版固有の症状ではなく、それ以前のバージョンでも症状は確認しています。
データ更新時には既存の acis.db をいったん削除して、新たに作成しているのですが、acis.db がロックされていて削除できない状態になっているようです。
症状がめったに再現されず、どういう条件だと症状が出るのか不明で、放置しています。(^^;

対処法としては1行コメントにもあったとおり、acis.db を強制的に削除するか、手動でXLS->データベース更新を実行してください。
なお Application Data\kabe はユーザー毎の設定値(INIファイル)を保存しているフォルダなので、ここは削除する必要はありません。

〔718〕Re:ACFinder 071002版 バグ
 Hidemi Oya WEB  (07/10/26 0:30)

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

私の環境ではエラーが出たことがなかったので、気がつきませんでした。
データ更新時に、acis.db を削除する前に一端 info テーブルのデータを読んでるんですよね? その後、TSQLiteDb オブジェクトを Free し忘れてるってことはないですか?

>手動でXLS->データベース更新を実行してください。
オートで削除できなかった acis.db が、これで削除可能になるなら、TSQLite オブジェクトを Free してから acis.db を削除するまでのタイミングの問題かもしれません。とりあえず、Free の後に、少しだけ sleep を入れてみるとか…。

・ツリー全体表示

〔714〕定型処理の応用
 kabe WEB  (07/10/11 22:26)

引用なし
   kabe です。

ACFinder サイトの1行コメントに要望ありましたので、こちらで回答します。

>定型処理で自家の在庫農薬(複数)と生産作物(複数)の登録の有無のみ(対象病害虫や適用は表示せず)がわかる一覧表を作成できないか
とのことですが、とりあえずは
複数作物農薬一覧.tpl を用いて
その他の覧に
bango IN (16823,18211,18500)
などと農薬の登録番号を直接記述します。
bango は農薬登録番号のフィールド名です。自家の在庫農薬とのことですので、登録番号を直接記述してリストアップするのが手っ取り早いと思います。

具体的な表のイメージがありましたら、教えてください。

〔715〕Re:定型処理の応用
 Hidemi Oya WEB  (07/10/12 19:09)

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

 私も kabe さんの方法が最も手っ取り早いと思います。
 適用や対象病害虫が不要というのは、印刷時の問題でしょうか? kabe さんの方法で検索した後、対象病害虫のカラムヘッダを右ボタンクリックして、「列削除(D)」を実行すれば、ある程度印刷は楽になると思います。
 使用時期や使用回数があると行数が増えるのでイヤだという場合は、kabe さんの方法で作物と登録番号を指定したら、「SQL編集」をクリックし、下記のように修正すれば良いでしょう(今のご時世ですから、修正点1.1より1.2をお勧めします)。修正が終わったら、SQL を「保存」するのを忘れないでください。

○修正点1.1(登録の有無のみ表示する場合)
MAX(CASE WHEN sakumotsu REGEXP '...' AND sakumotsu NOT REGEXP '...' THEN IFNULLSTR(jiki, '-')||'、'||IFNULLSTR(kaisu, '-') ELSE '' END) AS ...,
の「THEN 〜 ELSE」の部分を「THEN '●' ELSE」に全て変更する。

○修正点1.2(使用時期のみ表示する場合)
修正点1.1の「THEN 〜 ELSE」の部分を「THEN IFNULLSTR(jiki, '-') ELSE」に全て変更する。

○修正点2(対象病害虫の表示削除)
CONCAT(', ', CASE WHEN
 (sakumotsu REGEXP '...' AND sakumotsu NOT REGEXP '...') OR
 ...
0 THEN byochu ELSE '' END) AS 対象病害虫
の部分を全て削除する。

〔716〕Re:定型処理の応用
 hara4  (07/10/20 23:06)

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

返事が遅くなってすみません。
いつもご親切に教えていただき有り難うございます。
kabeさんの方法でやってみました。
結果はばっちりです!

> 適用や対象病害虫が不要というのは、印刷時の問題でしょうか?

そうです、エクセルを使って表を作っていたのですが多品目栽培を行っているので、印刷範囲に収めるに●印で登録の有無のみわかるようにしていました。
ただ、適用や対象病害虫もわからないと使い物にならないので結局複数枚の表を作る必要があり、今回はkabeさんに教えていただいた方法で表を作成し、はみ出したところは紙を貼り足して対応しようと考えています。

在庫農薬の管理台帳を作成するために始めた作業なのですが、在庫農薬の適正化(数量減)にも役立ちそうなので助かります。

・ツリー全体表示

〔688〕ACFinder 070711test版
 kabe WEB  (07/07/11 22:19)

引用なし
   kabe です。

070711test版を作成しました。
http://acfinder.kabe.info/

Google検索のバリエーションで成分名をフジテレビ商品研究所の「ポジティブリストで残留農薬を調べてみよう」のNamazu検索に渡す機能を付けてみました。成分1〜5か、薬剤タブの有効成分表示グリッドの成分名のポップアップメニューに現れます。その際成分名をISO物質名に変換しますが、確認が不十分のため TEST 版とします。

定型処理テンプレート 2007/07/02 版を同梱しました。

sqlite3.dll 3.4.0 を同梱しました。

農薬通称で有機リドミルの有機、サイアナミッド、ゼオンを屋号から削除するようにしました。(データ更新すると反映されます)

作物辞書を若干、修正しました。

起動時のデータ更新チェックのタイミングを変更しました。フォームを最大化している場合、フォームの描画の途中でデータ更新ダイアログが出ていました。OnPaint イベントで更新確認ダイアログを出すように変更しました。

なお成分名、ISO物質名の対応は現在のところ以下のように設定しています。
ソースからコピペします。
//ISO名,成分名
Add('1-ナフタレン酢酸,1−ナフチルアセトアミド');
Add('ナフタレンアセタミド,1-ナフチルアセトアミド');
Add('"2,2-DPA",DPA');
Add('"2,4-D",2,4−PA');
Add('"2,4-D",2,4−PAエチル');
Add('"2,4-D",2,4−PAジメチルアミン');
Add('"2,4-D",2,4−PAナトリウム一水化物');
Add('"2,4-D",2,4−PAイソプロピルアミン塩');
Add('4-クロルフェノキシ酢酸,4−CPA');
Add('MCPA,MCPAナトリウム塩');
Add('MCPA,MCPAエチル');
Add('MCPA,MCPAイソプロピルアミン塩');
Add('MCPA,MCPAチオエチル');
Add('MCPA,MCPBエチル');
Add('TCMTB,ベンチアゾール');
Add('アシベンゾラル-S-メチル,アシベンゾラルSメチル');
Add('アニラジン,トリアジン');
Add('イプロベンホス,IBP');
Add('イミノクタジン,イミノクタジン酢酸塩');
Add('イミノクタジン,イミノクタジンアルベシル酸塩');
Add('インドキサカルブ,インドキサカルブMP');
Add('エチクロゼート,エチクロゼートエチル');
Add('エトリジアゾール,エクロメゾール');
Add('エンドスルファン,ベンゾエピン');
Add('オキシン銅,有機銅');
Add('オキソリン酸,オキソリニック酸');
Add('カルバリル,NAC');
Add('キノクラミン,ACN');
Add('キノメチオナート,キノキサリン系');
Add('キントゼン,PCNB');
Add('グリホサート,グリホサートアンモニウム塩');
Add('グリホサート,グリホサートイソプロピルアミン塩');
Add('グリホサート,グリホサートカリウム塩');
Add('グリホサート,グリホサートトリメシウム塩');
Add('グリホサート,グリホサートナトリウム塩');
Add('クロリダゾン,PAC');
Add('クロルプロファム,IPC');
Add('クロルフェンソン,CPCBS');
Add('クロルフェンビンホス,CVP');
Add('クロロタロニル,TPN');
Add('ナプタラム,NPA');
Add('シアノホス,CYAP');
Add('ジクロフェンチオン,ECP');
Add('シアン化水素,青酸');
Add('ジウロン,DCMU');
Add('ジカンバ,MDBA');
Add('ジカンバ,MDBAジメチルアミン');
Add('シクロエート,ヘキシルチオカルバム');
Add('ジクロベニル,DBN');
Add('ジクロルボス及びナレド,BRP');
Add('ジクロルボス及びナレド,DDVP');
Add('ジコホール,ケルセン');
Add('ジノカップ,DPC');
Add('ジスルホトン,エチルチオメトン');
Add('ジチオカルバメート,アンバム');
Add('ジチオカルバメート,ジネブ');
Add('ジチオカルバメート,ジラム');
Add('ジチオカルバメート,チウラム');
Add('ジチオカルバメート,プロピネブ');
Add('ジチオカルバメート,ポリカーバメート');
Add('ジチオカルバメート,マンゼブ');
Add('ジチオカルバメート,マンネブ');
Add('シマジン,CAT');
Add('ジヒドロストレプトマイシン及びストレプトマイシン,ストレプトマイシン硫酸塩');
Add('ジノセブ,DNBP');
Add('臭素,臭化メチル');
Add('チオベンカルブ,ベンチオカーブ');
Add('チフェンスルフロン,チフェンスルフロンメチル');
Add('アルドリン及びディルドリン,ディルドリン');
Add('デスメディファム,デスメディファム');
Add('ディルドリン及びアルドリン,アルドリン');
Add('テトラクロルビンホス,CVMP');
//Add('デルタメトリン,トラロメトリン');
//Add('トラロメトリン,トラロメトリン');
Add('トリクロルホン,DEP');
Add('ドジン,グアニジン');
Add('トリアジメノール,トリアジメホン');
Add('二臭化エチレン,EDB');
Add('ニコチン,硫酸ニコチン');
Add('バーバン,CBN');
Add('ヒメキサゾール,ヒドロキシイソキサゾール');
Add('ピラゾリネート,ピラゾレート');
Add('ピリミカルブ,ピリミカーブ');
Add('フェニトロチオン,MEP');
Add('フェノブカルブ,BPMC');
Add('フェンチン,有機スズ');
Add('フェントエート,PAP');
Add('フェンチン,水酸化トリフェニル錫');
Add('フマル酸オキシポコナゾール,オキスポコナゾールフマル酸塩');
Add('フルプロパネート,テトラピオン');
Add('プロパキザホップ,キザロホップエチル');
Add('プロパニル,DCPA');
Add('プロパモカルブ,プロパモカルブ塩酸塩');
Add('プロパルギット,BPPS');
//Add('プロポキスル(プロポクスル),PHC');
Add('ブロモプロピレート,フェニソブロモレート');
Add('イソプロカルブ,MIPC');
Add('ベンジルアデニン,ベンジルアミノプリン');
Add('ベンフルラリン,ベスロジン');
Add('メタゾール,チアベンダゾール');
Add('ベンスリド,SAP');
Add('ホスメット,PMP');
Add('ポリオキシン,ポリオキシンD亜鉛塩');
Add('ポリオキシン,ポリオキシン複合体');
Add('マラチオン,マラソン');
Add('ミルネブ,チアジアジン');
Add('メコプロップ,MCPP');
Add('メコプロップ,MCPPジメチルアミン');
Add('チオジカルブ及びメソミル,メソミル');
Add('チオジカルブ及びメソミル,チオジカルブ');
Add('メチルイソチオシアネート,ダゾメット');
Add('メチルイソチオシアネート,メタム');
Add('メチダチオン,DMTP');
Add('エディフェンホス,EDDP');
Add('メトキシクロール,メトキシクロル');
Add('ヒ素,有機ひ素');

〔695〕Re:ACFinder 070713test版
 kabe WEB  (07/07/13 23:07)

引用なし
   kabe です。

試しに作ってみました。
070713TEST版現在の対応表です。
http://acfinder.kabe.info/?isoname

〔696〕Re:ACFinder 070712test版
 Hidemi Oya WEB  (07/07/13 23:43)

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

>ユーザーが個別にローカルで修正するよりはWeb上にデータを置いて参照する方がいいのかなと思います。
 もちろんそうですが、緊急退避的に今すぐ修正したいという場合、ローカルで修正できる手だてがあった方が良いと思います。

>それほど煩雑に修正するものでもないので、あと数回の修正で固まりそうなら、このまま行きたいと思います。
 手持ちの資料で分かる範囲はチェックしましたが、完璧な資料がなさそうなので、使ってみて初めて分かる間違いや抜けがありそうです。そうなると、忘れた頃にポツリポツリと追加修正が出てきそうな気が…。

 それと、忙しくてなかなか手が着きませんが(^_^;)、[683] で書いたような
> 今回と同様に、ISO 名と有効成分名、食品名と作物名の対応表を作れば、ポジティブリストを別データベースとしてアタッチして検索できそうなので、現在検討中です。
をやるなら、ISO 名/有効成分名変換テーブルは必須になります。それに、別データベースで提供してアタッチして使うなら、上記のような極まれな修正があっても、別データベースだけの提供、または更新 SQL の提供ですみます。
 てなわけで、データベース化の方向でご検討いただけると大変ありがたいです。

〔697〕Re:ACFinder 070712test版
 kabe WEB  (07/07/16 22:55)

引用なし
   >Hidemi Oyaさん

kabe です。

対応表は、データベースとして持つようにします。
(少し時間がかかるかもしれません)

> 手持ちの資料で分かる範囲はチェックしましたが、完璧な資料がなさそうなので、使ってみて初めて分かる間違いや抜けがありそうです。そうなると、忘れた頃にポツリポツリと追加修正が出てきそうな気が…。
 「農薬毒性の事典」か何かでひとつひとつ調べるしかないですかね。
 ポジティブリスト制度が始まってから1年以上にもなるのに、未だに、この手の情報が簡単に手に入らないというのも困ったものです。多分、どこかで、独自にはいろいろ作られているんだと思いますが…

〔698〕Re:ACFinder 070712test版
 Hidemi Oya WEB  (07/07/18 1:07)

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

>対応表は、データベースとして持つようにします。
>(少し時間がかかるかもしれません)
 よろしくお願いします。私の方もまだまだかかるとおもいますので、急ぎません。

> ポジティブリスト制度が始まってから1年以上にもなるのに、未だに、この手の情報が簡単に手に入らないというのも困ったものです。多分、どこかで、独自にはいろいろ作られているんだと思いますが…
 農薬対策室や薬検には絶対あるはずですけどね。農薬対策室が Excel 版の食品残留基準値一覧を、適宜改訂して提供してくれれば良いんですが…。
 そういや、中央農研の農薬ナビ担当で、基準値も含めてこの手のデータを電子化してませんかねえ? 中央農研にあれば、データを使わせてもらえるかも…。

・ツリー全体表示

〔687〕ACFinder 複数作物系定型処理にバグ
 Hidemi Oya WEB  (07/07/02 23:39)

引用なし
    複数作物系定型処理で、作物を「'□□,○○類','△△,○○類'」と指定した場合、△△の項目に「○○類(□□を除く)」を対象とする農薬が表示されないバグがありました。下記に複数作物系のテンプレートの修正版が入っていますので、Template フォルダーに上書きコピーしてください。

template070702.zip


・ツリー全体表示

〔645〕ACFinder 070401版
 kabe  (07/04/01 22:07)

引用なし
   kabe です。

070401版を公開しました。
http://acfinder.kabe.info/

070326test版以降の更新を反映させています。
内部のテーブル名を一部変更したため、データ更新が必須です。
(070331版定型処理テンプレートには影響はないはずです。)

作物タブ、病害虫タブで使用するビューを起動時に作成する方式としました。
ただし作物タブで近接データの表示、非表示を切り替えた場合のみ、ビューを作成し直します。(ちょっと手抜き部分なので、後から見直します)

[#643]適用データ側(m_tekiyo)の idbyochu にインデックスを設定しました。
これにより病害虫タブの検索速度が向上しています。

病害虫タブの作物名の指定を複数選択できるようにしました。

〔683〕Re:ACFinder 070415版
 Hidemi Oya WEB  (07/04/17 1:19)

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

 アップデートありがとうございました。
 今回と同様に、ISO 名と有効成分名、食品名と作物名の対応表を作れば、ポジティブリストを別データベースとしてアタッチして検索できそうなので、現在検討中です。できあがったら(ちょっと先になりそうですが)、またメールしますのでよろしくお願いします。

>betsumei テーブルは魚毒性・毒性データの有効成分名と登録上の有効成分名が異なるものの対応表です。対応表は Hidemi Oya さんより作成いただいたものです。
 今のところ、魚毒性・毒性一覧に「2,4PAナトリウム塩(あるいは、ソーダ塩)」がないので、Excel データの有効成分である「2,4-PAナトリウム一水化物」が毒性一覧のどれに該当するか不明です。このため、2,4-PA ナトリウム一水化物を含む除草剤では、この成分については魚毒性・毒性は表示されません。
 また、私の勘違いにより、betsumei テーブルに「(Z)−11−ヘキサデセン−1−オール」が抜けています。このため、コンフューザー−A/Gで上記成分の魚毒性・毒性は表示されません。

 ってことで、次回アップデートでは、メールでお送りした betsumei.qry で下記の部分の先頭の '--' を削除するようにしてください。
--INSERT INTO spec.betsumei VALUES('ブルウェルア・ロウカルア剤','(Z)−11−ヘキサデセン−1−オール');

〔684〕ACFinder 070417版
 kabe  (07/04/17 23:41)

引用なし
   kabe です。

070417版をアップしました。
http://acfinder.kabe.info/

070319版から070415版に更新した際、データ更新時に SQLエラーが発生しストップする不具合を修正しました。

〔685〕Re:ACFinder 070415版
 kabe  (07/04/17 23:55)

引用なし
   >Hidemi Oyaさん

kabe です。

> 今回と同様に、ISO 名と有効成分名、食品名と作物名の対応表を作れば、ポジティブリストを別データベースとしてアタッチして検索できそうなので、現在検討中です。
よろしくお願いします。
データそのものは自由に使えるものがあるのでしょうか。

> ってことで、次回アップデートでは、メールでお送りした betsumei.qry で下記の部分の先頭の '--' を削除するようにしてください。
>--INSERT INTO spec.betsumei VALUES('ブルウェルア・ロウカルア剤','(Z)−11−ヘキサデセン−1−オール');
070417版で一応修正しましたが、現状ではspec.db を1回削除しないと反映されません。
次の修正でデータベース中にバージョンを記録するなりして、強制的に更新できるようにしたいと思います。

〔686〕Re:ACFinder 070415版
 Hidemi Oya WEB  (07/04/18 0:55)

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

>データそのものは自由に使えるものがあるのでしょうか。
 各都道府県の植物防疫担当者からの要望により、農薬対策室が作成して配布した「食品残留基準値一覧表暫定版060413.xls」があります。「各県において、ポジティブリスト制度の施行に向けた防除暦の見直し、農家の個別指導に御活用ください。」と書かれているので、これを元にデータベースを作成しても問題はないと考えています。
 官報 PDF ファイルを単純に Excel 形式に変換したものではなく、農薬の種類や代表的な農薬の商品名が記載されているほか、現在その農薬の登録がある作物は背景色を変えるなど、利用者に分かりやすい配慮がされています(農薬検査部の対応とはえらい違いです)。もっとも、ACFinder で使う場合は、商品名や背景色の色分け部分は不要ですが…。

>次の修正でデータベース中にバージョンを記録するなりして、強制的に更新できるようにしたいと思います。
 acis.db も含めて、こういう仕組みが必要ですね。ぜひよろしくお願いします。

・ツリー全体表示

〔655〕定型処理のアイディアを募集します
 Hidemi Oya WEB  (07/04/02 22:58)

引用なし
   (社)埼玉県農林公社の大宅(おおや)です。

 4月1日の定期異動で、上記公社への派遣職員になりました。主な仕事は青年農業者育成ということで、県内の農林振興センター普及部(普及指導センター)とは密接な関わりを持ちますが、農薬関係の仕事とは全く離れることになります。

 今まで、定型処理テンプレートは、部内で作成している防除関係資料や普及指導員の要望に基づいて作成していましたが、しばらくはこのようなとっかかりがありません。ということで、定型処理テンプレートの充実は、皆さんからのアイディアが頼りです。こういったクロス表が作れないかとか、現在のテンプレートにこういった項目を追加できないかなどの要望をぜひお出しください。可能な範囲で対応していきたいと思います。

〔657〕Re:定型処理のアイディアを募集します
 kabe  (07/04/03 0:09)

引用なし
   >Hidemi Oyaさん

kabe です。

> 4月1日の定期異動で、上記公社への派遣職員になりました。
派遣ですか。お疲れさまです。

> こういったクロス表が作れないかとか、現在のテンプレートにこういった項目を追加できないかなどの要望をぜひお出しください。
農薬適用一覧表と同様のものを作りたいと思っているのですが、自分ではまだ手をつけていません。

〔661〕Re:定型処理のアイディアを募集します
 Hidemi Oya WEB  (07/04/03 1:54)

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

>農薬適用一覧表と同様のものを作りたいと思っているのですが、自分ではまだ手をつけていません。
 農薬適用一覧表って、薬検監修の日植防から出てる分厚い本のことですか? 前の事務所にはあったけど、今の事務所にはないので、必要な出力イメージを抵抗してくれないと対応は難しそうです(^_^;)。特定作物農薬病害虫対応一覧や特定作物農薬一覧の商品名ごとに表示するバージョンがあれば良いってのなら簡単ですが…。
 使用方法別一覧で、たとえばきゅうりのくん煙剤一覧とかであれば、特定作物系テンプレートの表示項目でよければ、作物だけ指定して、あとはその他に
(zaikei = 'くん煙剤' or hoho in ('くん煙','燻煙'))
を指定すれば OK だと思います(剤型欄は無指定にするのがミソ)。しかし、こういう用途で使用するなら、特定作物系テンプレートは使用方法も表示するようにした方が良いですね。

・ツリー全体表示

〔652〕旧農薬検査所の URL 変更に対応しました
 Hidemi Oya WEB  (07/04/02 0:28)

引用なし
    独立行政法人農薬検査所が、4月1日付けで独立行政法人農林水産消費安全技術センター農薬検査部に組織変更されました。これに伴い、URL もドメイン部分が www.acis.go.jp から www.acis.famic.go.jp に変わっています。
 今のところ旧 URL も使えるようですが、当サイトの「薬検DB検索システム」も新 URL に変更しました。

・ツリー全体表示

〔623〕070326test版
 kabe  (07/03/27 0:01)

引用なし
   kabe です。

070326test版です。
exeのみです。
http://acfinder.kabe.info/acfinder070326test.zip

テンポラリテーブルを使って作物タブ、薬剤タブの検索速度を向上させています。
動作確認不十分につき、バグ出しにご協力ください。

作物タブでは指定した作物で1回検索すると、病害虫絞り込み、標準・通称モード切替などが早くなってます。

薬剤タブでは薬剤候補と作物候補を指定した場合の検索方法を見直しています。

〔641〕070329test版
 kabe  (07/03/29 23:15)

引用なし
   kabe です。

070329test版です。
exeのみです。
http://acfinder.kabe.info/acfinder070329test.zip

テーブルの構成を変更したためデータ更新が必須です。
データ更新時の処理が増えたため073028test版よりやや時間がかかります。

[#639]病害虫名マスターを作成し、病害虫タブの検索に利用しています。
検索速度が向上しているはずです。

[#636]データベースの文字コードを UTF-8 に変更しました。
データベース更新すると反映されます。

>登録番号と有効成分だけの実テーブル m_seibun を作成したいと思います。
従来の kihon テーブルを廃止し m_seibun を作成するようにしました。
bango,ippanmei,seibun,node フィールドを持ちます。

〔642〕Re:070329test版
 Hidemi Oya WEB  (07/03/30 0:06)

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

>データ更新時の処理が増えたため073028test版よりやや時間がかかります。
 自宅マシンでは、30 秒強で、070328test 版とほとんど変わりませんでした。実は、070328test 版で m_byochu を作るのに 0.8 秒、m_tekiyo2 を作るのに 4.7 秒程度だったので、070328test 版より2秒弱遅くなると踏んでたんですが…。
 SQLite.pas は UTF-16 より UTF-8 の方が効率がよいので、エンコーディングを UTF-8 に変更したのが効いているのかもしれませんね。
 また、データベースサイズも 30 %増しは覚悟してたんですが、思ったより小さかったです。

> 検索速度が向上しているはずです。
 作物タブに比べると、わずかにもたつき感があるような気がします。「あざみうま」とか「あぶらむし」とかレコード数が多い(表示に時間がかかる)病害虫を指定したせいでしょうか…。


-- m_byochu 作成
-- idbyochu, byochu は自動的にインデックスが作成される
CREATE TABLE m_byochu (idbyochu INTEGER PRIMARY KEY AUTOINCREMENT, byochu VARCHAR UNIQUE);
INSERT INTO m_byochu (byochu) SELECT DISTINCT byochu FROM m_tekiyo ORDER BY byochu;

-- mtekiyo2 作成
CREATE TABLE m_tekiyo2 AS
SELECT ... FROM m_tekiyo AS a
LEFT JOIN m_sakumotsu ON a.sakumotsu = m_sakumotsu.sakumotsu
LEFT JOIN m_byochu ON a.byochu = m_byochu.byochu;

〔643〕Re:070329test版
 Hidemi Oya WEB  (07/04/01 0:29)

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

> 作物タブに比べると、わずかにもたつき感があるような気がします。
 これは、m_tekiyo の idbyochu のインデックスである idxIdByochu が作成されてないのが原因のようです。idxIdByochu を作成すると、速くなりました。
 なお、PRIMARY KEY や UNIQUE を付与したフィールドには自動的にインデックスが作成されるので、idxMByochu や idxMSaku は作成しなくても良さそうです。これらを削除して試してみましたが、検索時間は変わりませんでした。

 ちなみに、下記のように複数のフィールドを指定できるようになっていますが、これだと idsaku に対する検索速度向上効果はありますが、idbyochu に対する効果はありません。文法的には許容されてるけど、最初に指定したフィールドしかインデックスを作成しないような実装になってるんですかねえ?
create index idxIdMTekiyo on m_tekiyo (idsaku, idbyochu);

〔644〕070328test版以降用テンプレート
 Hidemi Oya WEB  (07/04/01 1:02)

引用なし
    ACFinder 070328test 版以降で使用できるテンプレートを公開しました。[#610] の template070324.zip は削除したため、今回もフルセットとなっています。
 主な変更点は下記の通りです。クロス表を作成しているとは思えないほど速いです。

  1. 各テンプレートで作物検索に m_sakumotsu テーブルを使用することにより、検索速度を向上
  2. 複数作物系テンプレートでクエリ埋め込み開発者モードに対応


template070331.zip


・ツリー全体表示

〔581〕ACFinder 070318版
 kabe  (07/03/18 22:36)

引用なし
   kabe です。

070318版をアップしました。
http://acfinder.kabe.info/

/fオプションで起動した場合、オフライン作業の設定値を保存しないよう変更しました。
なお/fオプションで起動した場合でもメニューからオフライン作業の切り替え操作を行った場合には保存されます。

薬剤タブの操作方法を一部変更しました。
従来の名称タブを通称タブに変更し、薬剤名、作物名での絞り込み結果を、通称タブ、登録番号タブで切り替えて参照できます。
作物名の絞り込みは、作物タブと同様に複数作物の指定を行えるよう修正しました。
作物選択ダイアログから上位分類を含めた作物名を指定できます。
ただし作物タブと同様に regexp演算子を使用しているため、作物名を指定すると以前より検索に時間がかかります。

070312付け特定作物系テンプレート改訂版を添付しました。

〔625〕Re:070323test版
 kabe  (07/03/27 9:40)

引用なし
   >Hidemi Oyaさん

kabe です。

作物名そのものを REGEXP で検索する時間をどれくらい短縮できるかですね。
この考え方をさらに進めると、次の方法が効果的と思われます。

作物名を単一化して作物コードと作物名のみのテーブルを作成する。
m_tekiyo テーブルに作物コードを付加して、作物名テーブルから作物コードを更新する。
作物検索は最初に作物名テーブルで検索して、作物コードを抽出してから適用を検索する。
これだと REGEXP での作物名検索は現状で 1100レコード程度に対して行えば済むのでかなり高速化が期待できそうです。

作物コードをデータ更新時に同時に作成することになるので、データ更新時間がどれくらい増えるかですね。

〔626〕Re:070323test版
 kabe  (07/03/27 14:00)

引用なし
   >Hidemi Oyaさん

kabe です。

> ところで、ACFinder って、ストリンググリッドの表示に結構時間がかかりますね。
そうですね。SQL検索は終わってから表示が完了するまでは、データ量が多いと、時間がかかる部分です。

>StringGrid1.ColCount := tb.ColCount;
>StringGrid2.RowCount := tb.RowCount + 1; // +1 はヘッダ表示用
これは設定しています。

表示幅の自動設定は全てのセルを調べてから、各列幅を設定し、その後に表示幅ゼロ(データが存在しないフィールド)の列を削除しています。
現在は StringGrid にデータをセットした後で調べてますが、GetTable の時点で先に必要なセル幅とデータが存在しないフィールドを調べておいた方が早いのかもしれません。
検索機能の見直しが一段落したら、この部分改善してみます。

グリッドコンポーネントはもっといいものがないかと探しているのですが、シェアウェアだと高機能なものがありますが、フリーではなかなか理想とする機能が全て入っているものがみつかりません。

〔627〕Re:070323test版
 kabe  (07/03/27 21:13)

引用なし
   kabe です。

>作物コードをデータ更新時に同時に作成することになるので、データ更新時間がどれくらい増えるかですね。
実験中です。
m_kihon の9万行のレコードの UPDATE 処理を加えた場合のデータ更新時間は、私の環境で今まで 50秒程度が70秒以上かかります。
UPDATE m_tekiyo SET idsaku = (
SELECT idsaku FROM m_sakumotsu
WHERE m_sakumotsu.sakumotsu m_tekiyo.sakumotsu)
m_sakumotsu の sakumotsu と m_tekiyoのsakumotsu にインデックス設定を行った上です。

〔628〕Re:070323test版
 kabe  (07/03/27 21:15)

引用なし
   kabe です。

>m_kihon の9万行のレコードの
訂正↑m_tekiyo です。

・ツリー全体表示

〔571〕ACFinder 070311版
 kabe  (07/03/11 21:19)

引用なし
   kabe です。

070311版をアップしました。
http://acfinder.kabe.info/

[#559]
ホットキーによる行削除、列削除機能を追加しました。
Ctrl+Xで行削除、Crtl+Shift+X で列削除できます。
合わせて、右クリックで選択セルを変更するよう修正しました。
選択セルのある行を削除します。

関連して行選択モードを追加しました。
メニューの 設定(C)->行選択モード(R)か Ctrl+R で行選択状態と1セル選択状態を相互に切り替えます。
行選択モードの場合、連続する複数の行を選択して複数行を削除することができます。ただし一般的なアプリケーションでよくある Ctrlキーを押しながら不連続に選択することはできません。
なお、行選択モード時は Crtl+Shift+Xによる列削除はできません。

[#569]
>選択セルがスクロールアウトして現在の画面上で見えない状態だと、意図しない行を削除してしまう可能性がありますね。
とりあえず、この場合は削除しないようにしました。
行削除は、選択セルが見えている状態の時のみ実行します。

[#562]
簡易なオフラインモードを追加しました。
メニューの ファイル(F)->オフライン作業(W)を選択するとオフラインモードとなりインターネットに接続する機能は使用しません。
また起動パラメータに /f を指定するとオフラインモードで起動します。

登録番号、農薬の名称を薬剤タブに送り検索する場合、薬剤タブの登録番号タブで固有の農薬をダイレクトに検索するよう修正しました。

[#558]
070226付け複数作物農薬一覧テンプレートを添付しました。

sqlite3.dll をVer3.3.13に更新しました。

〔578〕Re:ACFinder 070311版
 Hidemi Oya WEB  (07/03/13 23:27)

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

>了解しました。
>これに変更します。
 要望しておいて申し訳ありませんが、もしかすると InternetSetOption でプロクシが見つからない場合のタイムアウトが変更できるかも…。
 ついでに、ついさっき判明したんですが、HttpDownload で使用している InternetReadFile は、IE が「オフライン作業」状態になっているとインターネットに接続しないため、更新判定が正常にできなくなります。これも、InternetSetOption で強制的にオンライン状態にできそうですので、対応版を検討します。
 逆に言うと、/f オプションで一時的にオフライン状態にするという手もありそうです。この辺の使い方を整理してから、再度仕様を考えた方が良いかもしれません。

 ここ数か月、「URLDownloadToFile キャッシュ 削除」とかで検索してこのサイトに来る人が結構います。上記の設定も含めて、InetUtil を更新して公開すれば、ACFinder 以外にも貢献できそうです。

 検索でこのサイトに来るといえば、ここ半年ばかりは「sqlite delphi」とかで来る人がかなり多いです。ドキュメントとサンプルを書くのが面倒で「Simple Sqlite 上位互換 UTF-8/16 対応 SQLite クラス」が未公開のままですが、そろそろ本格的に公開の準備を始めねば(^_^;)。

〔579〕Re:ACFinder 070311版
 kabe  (07/03/14 23:59)

引用なし
   >Hidemi Oyaさん

kabe です。

InetUtilの方は、新版が出たら、反映させます。
とりあえず、/fで起動した場合は設定値を保存しないよう修正は終わっています。

> 検索でこのサイトに来るといえば、ここ半年ばかりは「sqlite delphi」とかで来る人がかなり多いです。
ACFinderサイトの方も、sqlite3 regexp などで来る人がかなりいます。
今時だとWebアプリケーションの情報を探しているのかもしれませんが、Delphi で SQLite を扱うには最強だと思います。公開されたら、けっこうヒット作になりそうです。regexp とか match まで対応しているクラスだと世界中で需要がありそうですね。

〔580〕Re:ACFinder 070311版
 Hidemi Oya WEB  (07/03/15 2:08)

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

>とりあえず、/fで起動した場合は設定値を保存しないよう修正は終わっています。
 ありがとうございます。ACFinder のオフラインモードは、やはりこの仕様が一番良さそうです。
 というのは、ちょっと試したところ、接続時タイムアウトは、グローバルな設定ではなく、現在のセッションのみに限定して変更できたからです。オフライン状態についても同様の設定ができそうです。このため、HttpDownload は、Execute を実行するたびにこれらの設定変更をする仕様で書き換え中です。HttpDownload がこの仕様になると、IE のオフライン状態を利用したオフラインモードというのは意味をなしません。

>ACFinderサイトの方も、sqlite3 regexp などで来る人がかなりいます。
>今時だとWebアプリケーションの情報を探しているのかもしれませんが、Delphi で SQLite を扱うには最強だと思います。公開されたら、けっこうヒット作になりそうです。regexp とか match まで対応しているクラスだと世界中で需要がありそうですね。
 ビジュアルコンポーネントじゃないので、やや分かりづらいってのが難点ではありますけどね(^_^;)。
 それと、sqlite 3.3.8 以降から FTS1 モジュールが公開され、match 演算子がフルテキストサーチとして実装されています。現在の match は regexp でも代用可能ですし、ACFinder 用にも FTS1 モジュールの match 演算子のようなものがあると便利そうなので、仕様変更するかどうかを現在思案中です(仕様変更しても現在の SQL は変更しなくても良さそうですし)。

〔583〕Re:ACFinder 070311版
 Hidemi Oya WEB  (07/03/19 12:55)

引用なし
   自己レスです。

> というのは、ちょっと試したところ、接続時タイムアウトは、グローバルな設定ではなく、現在のセッションのみに限定して変更できたからです。オフライン状態についても同様の設定ができそうです。このため、HttpDownload は、Execute を実行するたびにこれらの設定変更をする仕様で書き換え中です。HttpDownload がこの仕様になると、IE のオフライン状態を利用したオフラインモードというのは意味をなしません。
 その後いろいろ試してみた結果、WindowsXp では、
(1) 接続タイムアウトはセッションごとの設定を変更しなければ、プロクシが見つからない場合のタイムアウトが変更されない(グローバル設定を変更しても意味はない)
(2) オフライン状態はセッションごとの設定を変更するだけで、グローバル設定も変更される
ということが判明しました。
 (1) については、HINTERNET ハンドルを自分で作成する HttpDownload コンポーネント(InternetReadFile API を使用)についてはコンポーネント側で制御できるが、UrlDownload コンポーネント(UrlDownloadToFile API を使用) は使用している HINTERNET ハンドルが分からないので制御できないということになります。(2) については、HttpDownload, UrlDownload 両コンポーネントで制御可能ですが、グローバル設定まで変更されるという副作用が発生します。

>kabe さん
 今のところいずれも回避策は見つからないので、上記仕様で InetUtil.pas を更新してメールします。

・ツリー全体表示

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