| >>項目[締日]のデータ型を[整数]にし、"末"は"31"に、
> →2月や30日しかない月でも大丈夫でしょうか?
#月末という関数を使えば大丈夫です。
とりあえず、データ型を変更しないで項目計算式を作ってみました。
項目[請求日]の計算項目式に下記をコピペでお試しください。
項目[請求日]のデータ型は文字列。
(たぶん古典的な式だと思います)
#条件選択(#表引き([得意先コード],=,"得意先.tbl",[得意先コード],[締日])="5"
.and #日([納品日])≦5,#文字列(#年([納品日]))+"年"+#文字列(#月([納品日]))+"月5日",
#表引き([得意先コード],=,"得意先.tbl",[得意先コード],[締日])="5"
.and #日([納品日])≧6,#文字列(#年([納品日]))+"年"
+#文字列(#月(#月数加算([納品日],1,1)))+"月5日",
#表引き([得意先コード],=,"得意先.tbl",[得意先コード],[締日])="10"
.and #日([納品日])≦10,#文字列(#年([納品日]))+"年"+#文字列(#月([納品日]))+"月10日",
#表引き([得意先コード],=,"得意先.tbl",[得意先コード],[締日])="10"
.and #日([納品日])≧11,#文字列(#年([納品日]))+"年"
+#文字列(#月(#月数加算([納品日],1,1)))+"月10日",
#表引き([得意先コード],=,"得意先.tbl",[得意先コード],[締日])="15"
.and #日([納品日])≦15,#文字列(#年([納品日]))+"年"+#文字列(#月([納品日]))+"月15日",
#表引き([得意先コード],=,"得意先.tbl",[得意先コード],[締日])="15"
.and #日([納品日])≧16,#文字列(#年([納品日]))+"年"
+#文字列(#月(#月数加算([納品日],1,1)))+"月15日",
#表引き([得意先コード],=,"得意先.tbl",[得意先コード],[締日])="20"
.and #日([納品日])≦20,#文字列(#年([納品日]))+"年"+#文字列(#月([納品日]))+"月20日",
#表引き([得意先コード],=,"得意先.tbl",[得意先コード],[締日])="20"
.and #日([納品日])≧21,#文字列(#年([納品日]))+"年"
+#文字列(#月(#月数加算([納品日],1,1)))+"月20日",
#表引き([得意先コード],=,"得意先.tbl",[得意コード],[締日])="末"
.and #日([納品日])≧#日(#月数加算([納品日],1,1)),#文字列(#年([納品日]))
+"年"+#文字列(#月([納品日]))+"月末日",
#表引き([得意先コード],=,"得意先.tbl",[得意コード],[締日])="末"
.and #日([納品日])<#日(#月数加算([納品日],1,1)),#文字列(#年([納品日]))
+"年"+#文字列(#月(#月数加算([納品日],1,1)))+"月末日")
ファィルは必ずコピーして動作を確認してみてください。
[締日])="末"の処理がちょっと自信なし。スミマセン。(添削歓迎)
>(項目[納品日]のデータ型が文字列だと相当に複雑かもしれません
これはちょっと勘違いしておりました。失礼しました。
>>何かをしなければできないのですが、どのような場面や操作をしたときに
>>警告(メッセージ)を表示させたいのでしょうか?
> →請求モレを防ぐため、請求日を過ぎているのに金額が入力されていない場合に、
> (つまり金額の項目(数値にしています)が0のとき)"請求されていません"
> といったメッセージを表示したいです。
> これは請求書を発行する経理宛のメッセージなので、tblに項目を設けて
> 表示されればwfmやrptに出なくてもいいです。
確認用のコマンドボタンを作成してイベントでメッセージを出すか、
データが移動したときにイベントでメッセージを出すかでしょうね。
どちらにしてもイベントを使う必要があると思います。
未定義値の処理でゼロか未定義の確認・変更が必要ですね。
|