過去の桐井戸端BBS (桐ver.9)
28373 フォームでの入力で行訂正の時のみ再計算されるような項目を作りたい 讃岐のご隠居 2004/12/04-09:54
皆さんこんばんは。
価格表をつくりたいのですが、「登場年月」と「訂正年月」というデータが必要です。
4桁で納るのでまとめて整数型にしました。
前者は挿入初期値に(&年-2000)×100+&月を使えば実現可能でしたが、
後者の実現方法がわかりません。
その都度「訂正年月」自体を訂正しにいけば編集初期値でできますが実用的ではありません。
別項目の「単価」だけを訂正したとき、それが無理なら項目限定せずに行訂正を行ったときに
自動的に修正される様にできないでしょうか?
項目計算式で設定すると、不用意に置換をかけたときなどに全行が現在値に再計算されますので、危険すぎます。
 運用するときは一覧表ではなく伝票型のフォームですので、訂正を行う前
あるいは後にフォーム上の特定のコマンドボタンを押すということでも結構です。
宜しくお願いいたします。
28374 Re:行訂正時のみ再計算される項目 佐田 守弘 2004/12/04-11:21
記事番号28373へのコメント
讃岐のご隠居さん
フォームを使っているとの事なので、もし行うとしたら、[単価]の値が訂正された時、
つまりこのテキストオブジェクトのソース値更新イベントで[訂正年月]の値を本日日付に
書き換えるという方法が良いかと思います。

ただし、誤って不用意に単価を訂正した場合でも、ソース値更新がされたと
みなされるので、日付の書き換えは行われてしまいます。

対応策として、[本日]ボタンというコマンドボタンをその行に作っておき、
コマンドボタンを押したら、本日日付に書き換える様にすれば、誤った単価の
訂正で一緒に日付も書き換えられてしまうことはなくなります。

あるいは、[元に戻す]ボタンを作っておき、単価を訂正しても、ソース値更新イベントで
訂正された日付だけを元の日付に戻す機能を用意しておくのも1つの方法かも知れません。
この場合には、ソース値更新イベントで[訂正年月]に本日日付(#日時日付(#日時値)
で得られます)を書き込む前に、元の日付を変数に代入して残しておきます。

そういった誤り対策が必要かどうかも含めて、どの方法が一番良いかは、
使ってる状況に応じて考える必要があるかと思います。もちろん単価を誤ってて遺精する事はないのなら、
後半に書いたことは必要ありません。

佐田守弘(KS-00119)
28376 Re:行訂正時のみ再計算される項目 コルネ 2004/12/04-13:49
記事番号28373へのコメント
桐やAccessは、ファイルメーカーのように、更新日時データ型がないので
イベントで入力するのが普通だと思います。
私は行訂正終了前イベントを使っています。
28379 Re:行訂正時のみ再計算される項目 讃岐のご隠居 2004/12/04-17:54
記事番号28373へのコメント
「こんばんは」の挨拶が有効になる前にできました。ありがとうございました。
イベントは怖くて敬遠していたのですが、過去にご教授頂いたのに続いて、
これで2つ目になります。
また、恐れ知らずに質問いたしますので、よろしくお願いします。

戻る