(現在 過去ログ29 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■4477 / inTopicNo.1)  フォームの明細行の表示について
  
□投稿者/ 篤姫 -(2009/03/16(Mon) 15:13:00)
    桐v9-2009a
    OS:WinXP

    またまたご指導ください。

    一覧表形式のフォームの明細行で
    [日付][得意先名][発送先名][商品]
    以上の項目があります。

    [日付]ごとに、明細行の背景色を変更したいのです。
    どうすればできるでしょうか?

引用返信 [メール受信/OFF] 削除キー/
■4478 / inTopicNo.2)  Re[1]: フォームの明細行の表示について
□投稿者/ 通りすがり -(2009/03/16(Mon) 21:30:45)
    > どうすればできるでしょうか?
    普通には出来ない
    無理やりやって、編集・並び替えの度に置換・描画更新してたら、
    データベースとして実用的では無い、かと…

    > [日付]ごとに、明細行の背景色を変更したいのです。
    [日付]データは連続でなく、休業日は抜けるんでしょ?
    #日( [日付] )ごと、とか、それの偶数奇数ごと、とかで妥協したら?
引用返信 [メール受信/OFF] 削除キー/
■4479 / inTopicNo.3)  Re[2]: フォームの明細行の表示について
□投稿者/ 篤姫 -(2009/03/16(Mon) 21:39:46)
    通りすがりさん
    ありがとうございます。

    >>[日付]ごとに、明細行の背景色を変更したいのです。
    > [日付]データは連続でなく、休業日は抜けるんでしょ?
    > #日( [日付] )ごと、とか、それの偶数奇数ごと、とかで妥協したら?
    [日付]データは
    1行目:20090301・・・・・・・
    2行目:20090301・・・・・・・
    3行目:20090301・・・・・・・
    4行目:20090302・・・・・・・
    5行目:20090302・・・・・・・
    6行目:20090305・・・・・・・

    こんな感じで構築されているんです。
引用返信 [メール受信/OFF] 削除キー/
■4481 / inTopicNo.4)  Re[3]: フォームの明細行の表示について
□投稿者/ 通りすがり -(2009/03/16(Mon) 22:37:25)
    表示専用フォームなら良いんだけど、
    データベースの編集するフォームでこういうのは、やってはダメなんだよな
    レコードに累計・残高を持つのと同じで、編集・並べ替えの度に置換・再計算が必要になる
    (ダミー項目作って#グループ([日付])で置換するとか、[日付]と#直前値([日付])が同じかどうかでフラグ建てるとか)

    で、妥協した場合は、[日付]順で並び替えてる前提で、、
    フォーム定義→ターゲットのテキストボックス→オブジェクトの属性→表示→編集属性式→
     #条件選択(#MOD(#日([日付]),2)=1,"背景色'薄桜'")
    [日付]が飛んでると同じ色が続く可能性が、1日と31日は同じ色になる
    31種類の色使えば、1か月以内なら日付飛んでもOKだけど…
    スマートじゃないなぁ
引用返信 [メール受信/OFF] 削除キー/
■4482 / inTopicNo.5)  Re[1]: フォームの明細行の表示について
□投稿者/ およよ -(2009/03/16(Mon) 22:48:19)
    無理やり編集属性式作ってみた。

    #COND( #行番号=1,#計算( #代入(&STR,[日付]),#代入(&秒,1),"背景色'白'" ) ,#行番号≧2,#COND ([日付]=&STR,#COND (&秒=1,"背景色'白'",&秒=2,"背景色'灰色'" ),[日付]<>&STR,#計算(#代入(&STR,[日付]),#COND (&秒=1,#計算 (#代入(&秒,2),"背景色'灰色'"),&秒=2,#計算(#代入(&秒,1),"背景色'白'")))))

    注)
    フォーカスされると色がリセットされる時が有り。
    ↑何故(?_?)…使用禁止にすればいい?
引用返信 [メール受信/OFF] 削除キー/
■4484 / inTopicNo.6)  Re[1]: フォームの明細行の表示について
□投稿者/ うにん -(2009/03/16(Mon) 23:47:55)

    > [日付]ごとに、明細行の背景色を変更したいのです。

    全然質問と違うけど。
    [日付]でグループ化して1日分だけ表示すれば変更しなくても見やすいのでは。

引用返信 [メール受信/OFF] 削除キー/
■4485 / inTopicNo.7)  Re[2]: フォームの明細行の表示について
□投稿者/ 篤姫 -(2009/03/17(Tue) 09:10:07)
    およよさん

    ありがとうございます。

    > #COND( #行番号=1,#計算( #代入(&STR,[日付]),#代入(&秒,1),"背景色'白'" ) ,#行番号≧2,#COND ([日付]=&STR,#COND (&秒=1,"背景色'白'",&秒=2,"背景色'灰色'" ),[日付]<>&STR,#計算(#代入(&STR,[日付]),#COND (&秒=1,#計算 (#代入(&秒,2),"背景色'灰色'"),&秒=2,#計算(#代入(&秒,1),"背景色'白'")))))

    うまくいきました。
    日付ごとに明細行が色変更され、表示されています。
    希望通りの処理なっています。

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


解決済み!
引用返信 [メール受信/OFF] 削除キー/
■4486 / inTopicNo.8)  Re[2]: フォームの明細行の表示について
□投稿者/ 篤姫 -(2009/03/17(Tue) 09:12:57)
    うにんさん

    私も日付をグループにして
    日付ごとに、表示しようとしたのですが
    現場から全て表示してほしいと・・・・・!

    悪戦苦闘しましたが
    私の力では・・・・!

引用返信 [メール受信/OFF] 削除キー/
■4487 / inTopicNo.9)  Re[2]: フォームの明細行の表示について
□投稿者/ 通りすがり -(2009/03/17(Tue) 09:51:36)
    > フォーカスされると色がリセットされる時が有り。
    > ↑何故(?_?)

    スクロールが発生した後にレコードを移動すると、描画更新が生じて狂う
引用返信 [メール受信/OFF] 削除キー/
■4488 / inTopicNo.10)  Re[2]: フォームの明細行の表示について
□投稿者/ うにん -(2009/03/17(Tue) 10:17:14)
    > #COND( #行番号=1,#計算( #代入(&STR,[日付]),#代入(&秒,1),"背景色'白'" ) ,#行番号≧2,#COND ([日付]=&STR,#COND (&秒=1,"背景色'白'",&秒=2,"背景色'灰色'" ),[日付]<>&STR,#計算(#代入(&STR,[日付]),#COND (&秒=1,#計算 (#代入(&秒,2),"背景色'灰色'"),&秒=2,#計算(#代入(&秒,1),"背景色'白'")))))
    >
    > 注)
    > フォーカスされると色がリセットされる時が有り。
    > ↑何故(?_?)…使用禁止にすればいい?

    先頭行から順に計算する必要があるから、途中で再計算された時点で色が
    変わってしまうのです。2色しかないので変わらないことも多いわけで。

    式を簡略化。
    #計算(#COND(#行番号=1, #代入(&秒, 1), [日付]<>&STR, #代入(&秒, 3-&秒)), #代入(&STR, [日付]), "背景色'"+#対応文字列("白,灰色", &秒)+"'")

    #代入(&秒,#MOD(&秒,2)+1))
    のようにして対応文字列を増やせば任意に色数を増やせる。

引用返信 [メール受信/OFF] 削除キー/
■4489 / inTopicNo.11)  Re[3]: フォームの明細行の表示について
□投稿者/ うにん -(2009/03/17(Tue) 10:23:18)

    > スクロールが発生した後にレコードを移動すると、描画更新が生じて狂う

    つまり、レコード移動イベントで&明細番号を基準に表示しているレコードだけで
    計算すれば狂わなくなるかな?
引用返信 [メール受信/OFF] 削除キー/
■4493 / inTopicNo.12)  Re[3]: フォームの明細行の表示について
□投稿者/ およよ -(2009/03/17(Tue) 18:56:33)
    >
    > 先頭行から順に計算する必要があるから、途中で再計算された時点で色が
    > 変わってしまうのです。2色しかないので変わらないことも多いわけで。

    レコード移動イベントで
    メソッド呼び出し @フォーム.描画禁止( 1 )
    メソッド呼び出し @フォーム.描画禁止( 0 )
    としたらチラチラする(白と灰色が反転する)けど
    とりあえず色分けは崩れなかったです。
    これは、試してないけどフォーカス取得・喪失でも同じなんだろうな。

    > 式を簡略化。
    > #計算(#COND(#行番号=1, #代入(&秒, 1), [日付]<>&STR, #代入(&秒, 3-&秒)), #代入(&STR, [日付]), "背景色'"+#対応文字列("白,灰色", &秒)+"'")

    すばらしいですね(~o~)
    1ビットで考えていたところを16ビットで説明されたような感じです。

引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -