過去の桐井戸端BBS (桐ver.8)
16747 フォームでチェックをすると日付が入るようにしたいのだが日付が変わると再計算されフラグがおかしくなる とみた 2002/07/27-01:27
とみたといいます。またわからない事があり、投稿させていただきました。

表定義に[売上確定日チェック]という項目があり、そこに1があれば[売上確定日]に
日付をいれたいのですが、フォーム上は、チェックボックスにしてあり
チェックをすると日付が入るようにしたいのです。

このチェックをやることにより1なら売上確定、0なら未定義にというフラグの処理をします。
項目計算式で#DATEを使っていますと日付がかわると再計算されてしまいフラグがおかしくなってしまい
困ってます。

以下のようにかいてみたのですがチェックした同時に日付がはいらなく、
複数にチェックをすると一番最後にチェックをしたレコードにしか日付がつきません。
わかりづらい説明ですがどなたかヒントをください。よろしくお願いします。

*************************
表 "B売上確定",モード=共有更新
ジャンプ 行番号=先頭
繰り返し
使用フォーム "B売上"
並べ替え 索引名="確定日チェック"
ジャンプ 行番号=先頭
フォーム形式編集
行訂正 [売上確定日]=&確定日
ケース開始
ケース([売上確定日チェック]=1)
&確定日=#DATE
行訂正 [売上確定日]=&確定日
ケース([売上確定日チェック]=0)
&確定日=#DATE
行訂正 [売上確定日まだ]=&確定日
行訂正 [売上確定日]=#未定義
ケース終了
条件 (&menu="B売上検索") 手続き実行 B売上検索
条件 (&menu="B売上処理") 手続き実行 B売上処理
条件 (&menu="B売上読込") 手続き実行 B売上読込
&注文1=[注文NO1],&注文2=[注文NO2],&注文3=[注文NO3]
条件 (&menu="B売上確認印刷") 手続き実行 B売上確認印刷
条件 (&menu="B売上削除") 手続き実行 B売上削除
条件 (&menu="B売上終了") 手続き実行 B更新処理4
条件 (&menu="B売上終了") 手続き実行 B更新処理5
条件 (&menu="B売上終了") 繰り返し中止
繰り返し終了
終了 表

16750 Re:フラグ更新一括の作成 尾形 2002/07/27-16:37
記事番号16747へのコメント
どうも。いまいちよく分かりませんが

表 "B売上確定",モード=共有更新
ジャンプ 行番号=先頭
繰り返し
使用フォーム "B売上"
並べ替え 索引名="確定日チェック"
ジャンプ 行番号=先頭
フォーム形式編集
  置換 [売上確定日]=#条件選択([売上確定日チェック]>0,#DATE,1,""),\
     [売上確定日まだ]=#条件選択([売上確定日チェック]<1,#DATE,1,"")
条件 (&menu="B売上検索") 手続き実行 B売上検索
条件 (&menu="B売上処理") 手続き実行 B売上処理
条件 (&menu="B売上読込") 手続き実行 B売上読込
&注文1=[注文NO1],&注文2=[注文NO2],&注文3=[注文NO3]
条件 (&menu="B売上確認印刷") 手続き実行 B売上確認印刷
条件 (&menu="B売上削除") 手続き実行 B売上削除
条件 (&menu="B売上終了") 手続き実行 B更新処理4
条件 (&menu="B売上終了") 手続き実行 B更新処理5
条件 (&menu="B売上終了") 繰り返し中止
繰り返し終了
終了 表

これでどんなでしょうか
16751 Re:フラグ更新一括の作成 尾形 2002/07/27-16:43
記事番号16750へのコメント
>表 "B売上確定",モード=共有更新
>ジャンプ 行番号=先頭
> 繰り返し
> 使用フォーム "B売上"
> 並べ替え 索引名="確定日チェック"

「B売上確定.TBL」は「共有更新」で開いてあるようです
索引名="確定日チェック" を作成してあるようですが
共有では効きませんので、無駄にファイルが大きくなるだけ
のような気もします


16757 Re:フラグ更新一括の作成 pokopon 2002/07/27-21:31
記事番号16747へのコメント
とみたさん こんばんは

CMD(一括処理)からの実行ですが、こういうのって、フォームのイベント(KEV)で処理した方が簡単じゃないかな〜。
チェックを入れるとすぐに結果が反映されて、その日の日付を項目に入れたり、
誤ってチェックしても、日付だけ訂正可能にするとか・・・・。
コマンドボタンにそれぞれの手続きを定義すれば、今と同じ操作で利用可能です。
移植もそれほど難しくないと思いますし。

尾形さんの紹介した方法でも可能かと思いますが、入力フォームを終了しないと結果が反映されませんし。

>  置換 [売上確定日]=#条件選択([売上確定日チェック]>0,#DATE,1,""),\
>     [売上確定日まだ]=#条件選択([売上確定日チェック]<1,#DATE,1,"")

これはシステム全体の再構成に関わる問題ですので、安易にオススメはできませんが、
これを機にイベントでの処理に移行されてはどうでしょうか?


16758 とりあえず、できました。 とみた 2002/07/28-16:56
記事番号16747へのコメント
とみたです。ご意見ありがとうございました。
フォーム上にチェックボックス作ってオンの値に#年月日をいれて日付を入れる項目を
指定してどうにかできました。
あとは一括で終了になったら、更新するようにしました。
いろいろなご意見ありがとうございました。今後の参考にさせていただきます。

戻る