みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Case( (Get(日付)- Max(会計画面::日付)) < 0;
(Get(日付)- Max(会計画面::日付)) +365&"日目"
;会計画面::日付 = 0;"データなし"
;Get(日付)- Max(会計画面::日付)&"日目")
お客様が前回の来店日から何日経っているかを上記の拙い計算式ですが作成して
ファイルメーカー6でうまく動作していたのですが
ファイルメーカー10にバージョンアップしたところ
0001/01/0と表示されるようになってしまいました。
フィールドは計算フィールドです。
どこが変わってしまって動かないのか ご教授ください。
よろしくお願いいたします。
計算結果をテキストにしてみたら?
早速ありがとうございます。
テキストにしましたが
3日前にいらしたお客様は 0001/01/03 となっています。
1/20にいらしたお客様は 0001/03/27と出ました。
少しわかりやすくはなりましたが
バージョンアップ前は 3日 とか86日などと出ていました。
お世話おかけして恐縮です。
よくわからない。
もともと計算結果が日付で、日付書式で日だけ表示するように設定されていたのではないのかな?
計算結果は数字で出していました。
リレーションは 顧客IDで結んであります。
確かに計算式では "日付" になっていますので これが原因でしょうか?
ただ バージョンアップには問題なく動作していましたので
その辺りは全く疑っていませんでした。
このフィールドで 日付は 2014/04/16となり
1/20にの会計画面フィールドは2014/01/20となっていますので
結果を何日ぶりと導き出すのにはその辺りに問題あるのかもしれません。
もっと考えてみます。
Get ( 日付 ) は Ver.6 にはないのでいくらか編集されていると思うのですが、
元々の動いていた計算式を加工せずに載せてみては如何でしょうか?
Last edited by Moz (2014-04-16 21:01:42)
Offline
↑適当なことを書いてすみません。
作ってみました。こんな感じでしょうか?
http://yahoo.jp/box/7yNgaB
変更は1箇所のみです。来店履歴がない場合の部分です。
余力があれば Let 使ってまとめた方が効率いいかも知れません。
Case (
( Get ( 日付 ) - Max ( 会計画面::日付 ) ) < 0 ;
( Get ( 日付 ) - Max ( 会計画面::日付 ) ) + 365 & "日目" ;
not Count ( 会計画面::日付 ) ;
"データなし" ;
Get ( 日付 ) - Max ( 会計画面::日付 ) & "日目"
) // Case
Last edited by Moz (2014-04-16 21:23:37)
Offline
丁寧なお答え ありがとうございます。。
プログラムは バージョン4の時に作りまして 6にバージョンアップして使っていました。
その時は問題ありませんでした。
7にバージョンアップしてから 色々不都合が出ていましたが
だましだまし使っていました。
今回消費税アップで一部組み替えまして それとともに
不都合だった部分を 全部直そうと思った次第です。
教えていただいた式を入れてみましたが 0001/03/27日 という表示になっています。
ご面倒おかけして恐縮です。
サンプルファイルでも表示はおかしいのでしょうか?
原因と思われるモノ1: 計算式の結果が「テキスト」ではない可能性
この計算式の結果は「テキスト」が適当と思われます。
原因と思われるモノ2: レイアウトで該当のフィールドの書式が日付になっている
Traveller さんが既にご指摘されていると思うのですが、書式の設定が日付になっていないでしょうか?
こちらも計算結果から考えると「日付」は適当ではありません。
Offline
そもそも計算式の結果タイプが数字やテキストなのに返る結果が日付タイプ
になってしまう理由がわからない。
Max(会計画面::日付) 結果は日付
や
Get(日付)- Max(会計画面::日付) 結果は数字
という計算フィールドを作ってみると正常に表示されてますか。
というか、Get(日付)- Max(会計画面::日付)って負になるの?
訂正 7にバージョンアップしてからではなく 10にバージョンアップしてからでした。
おはようございます。
色々有り難うございます。
ご指摘を頂いたところを 早速確認してみます。
あれからまだ 苦戦しております。
テキストに直しても 0001/01/1等と出ます。
それでTravellerさんの
>Get(日付)- Max(会計画面::日付) 結果は数字
>という計算フィールドを作ってみると正常に表示されてますか。
このフィールドを作ってみました。
それだと 3日前の会計だと ちゃんと 3 と出ました。
それで &"日目"を計算式に足してみたら0001/01/03日目 となり 3日目 とは出ませんでした。
もっと苦戦してまいります。
Get(日付)- Max(会計画面::日付) &"日目"を
GetAsNumber( Get(日付)- Max(会計画面::日付) ) &"日目"
にしてみたらどうなります?
出来ました!!
この計算式を 他の ◯日目 のフィールドにも当てはめたところうまく表示されました。
最初にでていた自分で作った計算式はもう10年以上前に作った式で 自分でもよくわからなくなってしまっていました。
色々甘えてしまいましたが GetAsNumberのこととかいろいろ もっと勉強していきたいと思います。
本当にありがとうございました!
Pages: 1
[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 573.02 KiB (Peak: 589.92 KiB) ]