過去の桐井戸端BBS (桐ver.8)
6406 フォームの開きが遅い 渡邉 2000/06/12-21:56
いつも拝見、勉強になっています。

フォームの開きが遅い、不適設定として考えられる
要素ありましたら教えて下さい。

データ:8000件
並べ替え:顧客利用年月日順
開始時:オプションにて、行追加

初歩的な事項かもしれませんが
簡文にてすみません。

6407 Re:フォームの開きが遅い 悲しげ 2000/06/12-22:25
記事番号6406へのコメント
どもっ、渡邉さん
私の経験では(単なる経験であって理由は判らないが)、
1)メイン&サブフォームを設定してあると遅い。
2)グループ項目のあるフォームだと遅い。
これはグループ化に時間がかかっているためと思われる、特にレコード数が多い場合。
3)多分関係ないと思いますが、フォームの対象表に項目計算式を沢山設定してあると
(特に置換を伴う時に超)遅い場合がある。

上記3)については、表の項目計算式を極力避けてフォームのテキストオブジェクトの計算式に
置き換えたら幾分速くなった。

で、問題は2)だと思います。簡文過ぎて、コメントする側としては、
想像力を試されることになる訳ですが(^^;)
「並べ替え:顧客利用年月日順」と云うところで考えてみました。
これは、グループ項目を[顧客](またはそのcode)とし、第2整列項目以降が年月日順であるとします。
さて、律速段階が顧客毎のグループ化にあるとすれば、ここを何とかしてみたいと。
類似の件で、私は(kevを使ってフォームを呼出して使っているのですが)、
30000行ほどのデータについて、事前に当該値についてグループ項目を絞り込んだ上で、
フォームを開始するようにして試しました。
すると相対的に表示がかなり速くなりました(これでもまだ遅いですけど)。
他にもっとうまい方法があれば私も知りたいところです。
6409 Re:フォームの開きが遅い 渡邉 2000/06/12-23:23
記事番号6407へのコメント
早々のアドバイスありがとうございます

>1)メイン&サブフォームを設定してあると遅い。
書き込み忘れたようで、二つほどサブフォームがあります(-_-メ)
電話番号でリンク

サブ1フォーム:過去の利用顧客(書き出しにより作成した物、
現在の顧客利用期間が過ぎたものを書き出す、意味が無い様に
思われますがこれも偉大なる業務の成果にある。)

サブ2フォーム:これから顧客になろうであろう(未顧客リスト)

>2)グループ項目のあるフォームだと遅い。これはグループ化に
>時間がかかっているためと思われる、特にレコード数が多い場合。
グループ項目は設定無

>3)多分関係ないと思いますが、フォームの対象表に項目計算式
>を沢山設定してあると(特に置換を伴う時に超)遅い場合がある。
置換項目は設定無、項目計算式は結構あり
>
>上記3)については、表の項目計算式を極力避けてフォームのテ
>キストオブジェクトの計算式に置き換えたら幾分速くなった。

あっ!そうでした
項目計算式に期日期限的な計算式アリ、
利用項目により期間を表示する為(一種の賞味期限のようなものかな)
#月数加算(#日数加算([利用始年月日],-1),#表引き([利用項目],=,"利用項目種別データ.tbl",[利用項目],[期限月数]),1)

もしかしたら、これかな? でも必須だよなぁー

どれをとっても、意味不明なものに思えるモノでしょうが、
2年かかって(改良、改良の繰り返しにて)こしらえたシステムです。
今後業務の流れに大きな変更なければ、このシステムでOK
6414 Re:フォームの開きが遅い 悲しげ 2000/06/13-13:18
記事番号6409へのコメント
どもっ、渡邉さん

>グループ項目は設定無

私が想定していたのは、メインではなく、サブフォームにおけるグループ項目の有無だったのですが、

>電話番号でリンク

しているのにグループ項目が設定されていないと云うのは、ちょっと不思議に感じました。
グループ項目を設定していない(結果的には索引を使っていない)から遅いんと違いますか?

あるいは、グループ項目が無いと云うのが勘違いなのであれば、遅さは仕様に基づくものだと想像します。
で、お話によると全データの一部を書き出したものを利用しているようですから、
それ以上の高速化の方法は思いつきません。

ps:
項目計算式は、置換を伴わない限り、恐らくはあまり関係ないと思います。
遅いのは行追加時ではなくフォームのオープンなんですよね?

戻る