過去の桐井戸端BBS (桐ver.8)
13414 項目計算式をもった項目は本当にグループ化はできない? shinoby 2001/10/10-03:43
いつもお世話になっています。よろしくお願いします。桐8sp6Userです。

項目計算式をもった項目は本当にグループ化はできないのでしょうか。
といいますのも現在、家計簿を作っているのですが、
フォームで月ごとのほかに4半期ごとの支出や収入をチェックしたいので、
オブジェクトの属性→グループ項目→「ソース」で[4半期]を指定しました。
ところがいつも「フォーム グループ項目に計算項目[4半期]が設定されています。」
との注意が出てきます。

そこでOKを押すと
「フォーム(5119)フォーム グループ化できる項目がないのでグループ化を中止します。
処理を続けますか?」

そこでOKを押して強引に(?)編集するといつも支出や収入の項目が真っ白になってしまいます。

告白すれば確かに表のほうでは[4半期]は[月]を元にして次のような計算式
#int((#num([月])-1)/3)+1
として算出してあります。

なお、[月]をグループ項目に設定した場合は支出や収入の項目はきちんと表示されます。


13418 Re:wfmのグループ項目に関して bonito 2001/10/10-12:30
記事番号13414へのコメント
この掲示板でも何度か話題になっていますが...
一般的に桐のwfmでは計算項目をグループ項目には出来ないという事になっている(らしいです)。

これは[四半期]=#int((#num([月])-1)/3)+1 のような計算項目を
グループ項目に設定出来たとして、wfmの明細行に[月]があって
この項目[月]を例えば、1から6に訂正した場合のグループ内に発生する矛盾を考えれば、
しごくまっとうな仕様と言えるではないかと...

ですから、オープンする表の更新が禁止されているwfmや、
結合表を編集対象表にするwfm(この場合は元のTBL上では計算項目であっても)では、
グループ内に矛盾が生じない保証(?)があるので、計算項目であっても
グループ項目とする事が出来るというまことに理にかなった動きをします。

では、ご質問のような場合はどうするか? 一般的には計算項目としないで...
* 置換式を作成し適時項目置換する
* 計算式を編集初期値におく
* イベントで[月]のソース値更新時に[四半期]に項目値代入する

ただしいずれも[四半期]をグループ項目としたwfm上での入力時には全然不可能な方法です (^^;
まぁ多分参照する為だけのwfmだと思うんですけど...。
13419 Re:項目計算式をもった項目は本当にグループ化はできない? うにん 2001/10/10-12:41
記事番号13414へのコメント
shinobyさん

3で割ったら3半期ではないか?というのは置いといて、
日付を入力している項目があるはずなので、グループ項目のソースはそれを指定すれば、
「グループ化指定」で四半期とか半期とかいろいろ選べます。
日付を文字列にしている場合は最初の文字数とか区切り文字を指定できるので、
「2001-10-10」形式なら文字数を7にするとか、「2001年10月10日」形式なら
区切り文字を"月"にすればいいと思います。

13428 Re:項目計算式をもった項目は本当にグループ化はできない? shinoby 2001/10/10-22:46
記事番号13419へのコメント
ありがとうございました。
bonitoさん>* 計算式を編集初期値におく

を参考にさせていただきました。
やはり手はいろいろあったのですねぇ・・・。
v8はまだ初心者なもので聞いてよかったです。

うにんさん>日付を文字列にしている場合は最初の文字数とか区切り文字を指定できるので、「2001-10-10」形式なら文字数を7にするとか、
V8Sp6についていたsample\例題の家計簿にはこれが使われていましたので、そちらでももう少し研究してみます。
ともあれ、みなさんありがとうございました。

>3で割ったら3半期ではないか?というのは置いといて
すみません、ミスでした・・・。

戻る