みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
チポさん、ご教授ありがとうございます。
--------------------------
条件としては、
解約日が空白か、請求月以前
とすればいいのでは。
--------------------------
すみません。
こちらの方法がわからないのですが、
どのように条件していすれば可能でしょうか。
宜しくお願い致します。
おそらく、スクリプトでレコードのインポートまでは、
正しくソート出来ているとおもうのですがソートではなくて検索ですよね。
検索直後でスクリプトを止めると分かると思いますが、、
検索実行[記憶する] 処理:契約テーブル::契約日:[=]
おそらくこの検索条件が間違っているのかと。。
条件としては、
解約日が空白か、請求月以前
とすればいいのでは。コンピ相手に「おそらく」は通用しませんよ ^^;;
ああ、
解約日_照合が有りましたからそれを検索すればいいですね。
契約日に請求月よりの日が無いことが条件です。
検索は解約日_照合フィールドに
>= 請求月末
とすればいいのですが、
請求月末を請求テーブルから持って来るのなら、変数にしてこないとダメですネ
Offline
チポさん、ありがとうございます。
請求月末が請求テーブルになりますので、仰せのように
変数にしたいのですが、
-------------------
レイアウト切り替え
変数を設定に[契約テーブル::サービス引落終了日_照合 ≥ 請求テーブル::請求月末]
検索実行[]
-------------------
変数の設定方法がわからず、上記のようにしてみましたが、動きません。
ご教授いただけますでしょうか。
ああ、
解約日_照合が有りましたからそれを検索すればいいですね。契約日に請求月よりの日が無いことが条件です。
検索は解約日_照合フィールドに
>= 請求月末とすればいいのですが、
請求月末を請求テーブルから持って来るのなら、変数にしてこないとダメですネ
前レス、ミスが有りました
契約日に請求月よりの日が無いことが条件です。
これは、
契約日に請求月より未来の日が無いことが条件です。
が正しいです。
もし有るのなら、方法を考えないといけなくなります。
スクリプトは
レイアウト切り替え[請求テーブル]
変数を設定 [ $変数 ; ">=" & 請求テーブル::請求月末 ]
レイアウト切り替え[契約テーブル]
検索実行 (検索条件の指定で、解約日_照合フィールドに 上記の変数名を設定)
でいいでしょう。
Offline
チポさん、毎度毎度すみません。感謝いたします。
---------------------------------------
レイアウト切り替え[請求テーブル]
変数を設定[$mon;値:">="&請求テーブル::請求月末]
レイアウト切り替え[「契約テーブル」(契約テーブル)]
検索実行[記憶する] (設定)(処理)レコードの検索 (条件)契約テーブル::解約日_照合:[=$mon]
レコードのソート[記憶する;ダイアログなし]処理:契約テーブル昇順
レコード/検索条件/ページへ移動[最初の]
レコード/検索条件/ページへ移動[次の]
Loop
If[契約テーブル::ID=GetNthRecord(契約テーブル::ID;Get(レコード番号)-1)]
レコードを対象外に
Else
レコード/検索条件/ページへ移動[次の;最後まできたら終了]
End If
End Loop
レイアウト切り替え[請求テーブル]
レコードのインポート[[現在のFM名.fmp12];追加;シフトJIS]
フィールド内容の全置換[請求テーブル::請求初月;Date(Month(Get(日付);1;Year(Get(日付))))]
----------------------------------------
上記で設定しましたが、検索」条件が有効ではありませんとでてしまいます。
検索実行[記憶する] (設定)(処理)レコードの検索 (条件)契約テーブル::解約日_照合:[=$mon]
の検索が間違っているのですが、わからず。
すみません。ご教授いただけますでしょうか。
検索実行[記憶する] (設定)(処理)レコードの検索 (条件)契約テーブル::解約日_照合:[=$mon]
「=」変数名
としていますか?
「=」不要ですよ。
Offline
チポさん、ありがとうございます。
変数名の「=」有無の方は、わからなかったので、どちらも試してみたのですが、同じでした。
確認不測ですみません。再度認しましたところ、請求テーブルにレコードが無い状況ですと、
「指定された検索条件は有効ではありません。次の作業に進む前に有効な検索条件を入力してください」
と出まして、[続行[C]]をすると、希望の検索でレコードが追加されます。
一度目に続行をしまして、2度目(レコードをインポートした状態)は何も出ないで検索できる状況です。
この動作で、正しいでしょうか。
また、再度インポートのスクリプトを動作させますと、データが重複して請求テーブルに
インポートされるのですが、どこか間違っておりますでしょうか。
ご教授お願い致します。
ならば、
グローバルフィールドに検索値を入力して、
それを移すとか、
検索実行
を
検索モードに切り替え
に変えて、直接検索値を入力するとか、
方法を考えてください。
「指定された検索条件は有効ではありません。次の作業に進む前に有効な検索条件を入力してください」
と出まして、[続行[C]]をすると、希望の検索でレコードが追加されます。
一度目に続行をしまして、2度目(レコードをインポートした状態)は何も出ないで検索できる状況です。
この動作で、正しいでしょうか
理解できません。
再度インポートのスクリプトを動作させますと、
データが重複して請求テーブルにインポートされるのですが
当然そうなります。
インポートは1請求月、1回のみにしないと。
Offline
チポさん、ありがとうございます。
ご指摘の件、承知しました。
以前、教えていただきました、
-----------------------------------------
請求テーブルで自己リレーション、
顧客ID = 顧客ID
and
請求月初 > 請求月初
請求月初の降順でソート指定
これで前回のレコードを参照できますから、
その未払いをルックアップ等で持ってこられます。
-------------------------------------------
ですが、未払いの処理はどのように行えばよろしいでしょうか。
すみません。まったくイメージがつかず、理解できておりません。
ご教授いただけますでしょうか。
ならば、
グローバルフィールドに検索値を入力して、
それを移すとか、検索実行
を
検索モードに切り替え
に変えて、直接検索値を入力するとか、
方法を考えてください。「指定された検索条件は有効ではありません。次の作業に進む前に有効な検索条件を入力してください」
と出まして、[続行[C]]をすると、希望の検索でレコードが追加されます。
一度目に続行をしまして、2度目(レコードをインポートした状態)は何も出ないで検索できる状況です。
この動作で、正しいでしょうか理解できません。
再度インポートのスクリプトを動作させますと、
データが重複して請求テーブルにインポートされるのですが当然そうなります。
インポートは1請求月、1回のみにしないと。
未入金(請求残高)は
前月請求残高 + 請求額 - 入金額
ですよね、
この前月請求残高は前月の未入金をルックアップで持ってきます。
これは、関連フィールドとして計算することもできますけれど、
そうすると、それ以前の関連レコード全てが計算に関わってきます。
レスポンスの問題が出てくるでしょうから、
ルックアップでレコードごとに固定値とした方がいいでしょう。
Offline
チポさん、ありがとうございます。
出来ました!
ご教授いただいた通り作成することで、希望以上のものになりました。
長々お付き合い頂き、感謝いたします。
本当にありがとうございます。
[ Generated in 0.011 seconds, 7 queries executed - Memory usage: 548.8 KiB (Peak: 569.34 KiB) ]