みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
月毎に締日を設けて請求書を発行するシステムをファイルメーカーPro13で構築しています。
前の月の請求書の「今月請求額」を、次の請求書を作る際に、「前月請求額」として、ルックアップでコピーしています。
その際、当該期間内の「入金」「売上」のデータをもとにスクリプトにより、新規請求書を作成しているのですが、新規請求書の「前月請求額」が前月の「今月請求額」から自動的にコピーされないので、スクリプトに再ルックアップをおこなうステップを請求書を作成するステップの後に入れています。
そこで質問ですが、この時、再ルックアップはどのようにおこなわれているのでしょうか?
つまり、ある顧客の、一番最初の請求書の「今月請求額」を、次月の請求書の「前月請求額」にコピー(ルックアップ)し、その後、順次、次の月へとルックアップされているのでしょうか?
それとも、前の月の請求書の「今月請求額」を新規請求書の「前月請求額」にコピー(ルックアップ)する作業のみおこなっているのでしょうか?
一つ懸念しているのは、再ルックアップがランダムに行なわれている可能性はあるか?ということです。
ちょっとわかりずらいかと思いますが、アドバイスをよろしくお願いします。
Offline
> ある顧客の、一番最初の請求書の「今月請求額」を、次月の請求書の「前月請求額」にコピー(ルックアップ)し、その後、順次、次の月へとルックアップ
ルックアップは関連レコードの照合1番の値をソースとします。
また、再ルックアップは対象レコード全てに行われます。
ですから、既にルックアップ入力されているレコードは対象外として行う方が安全ではないでしょうか。
それより、
> 新規請求書を作成しているのですが、新規請求書の「前月請求額」が前月の「今月請求額」から自動的にコピーされない
なぜこうなるのか分かりませんが、
この改善の方法を探るべきでしょう。
Offline
年月、入金、売上、請求額、 というフィールドを持つテーブルがある、という単純な構造でしたら、難しいことはないのですが。
どの様な構造ですか
Offline
> ある顧客の、一番最初の請求書の「今月請求額」を、次月の請求書の「前月請求額」にコピー(ルックアップ)し、その後、順次、次の月へとルックアップ
ルックアップは関連レコードの照合1番の値をソースとします。また、再ルックアップは対象レコード全てに行われます。
ですから、既にルックアップ入力されているレコードは対象外として行う方が安全ではないでしょうか。それより、
> 新規請求書を作成しているのですが、新規請求書の「前月請求額」が前月の「今月請求額」から自動的にコピーされない
なぜこうなるのか分かりませんが、
この改善の方法を探るべきでしょう。
ありがとうございます。
>ルックアップは関連レコードの照合1番の値をソースとします。
「関連レコードの照合1番の値」というのは、どこかの設定画面でわかるものなのでしょうか?
それとも、前月の「今月の請求額」を今月の「前月の請求額」にルックアップする設定の場合は、過去にさかのぼって、最初のルックアップまでさかのぼって、そこから再ルックアップしてくれるのでしょうか?
※請求書は、毎月作成されます。
>ですから、既にルックアップ入力されているレコードは対象外として行う方が安全ではないでしょうか。
これはどのようにすれば設定できますでしょうか?
一応、
フィールド設定で、「ルックアップ値」を指定するところで、
開始するテーブル:請求書テーブル
関連テーブルからルックアップする:請求書テーブル2
となっていて、
「値のコピー元のフィールド」が「::今回請求額」
となっていますが、
この画面では、「既にルックアップ入力されているレコードは対象外」にする設定はないようです。。。
>自動的にコピーされない この改善の方法を探るべきでしょう
おっしゃる通りなのですが、、、、ちょっと原因が不明です。。。。
よろしくお願いいたします。
Offline
年月、入金、売上、請求額、 というフィールドを持つテーブルがある、という単純な構造でしたら、難しいことはないのですが。
どの様な構造ですか
ありがとうございます。
入金と売上を入れるテーブルがあり、
そのテーブルにおいて、以前教えて頂いたと思うのですが、入金日や売上日から締日を自動計算させています。
そして、その該当の締日のレコードを抽出して、スクリプトで「レコードのインポート」を実行することで、請求書テーブルに基づいたレコード(つまり、請求書)を自動作成させています。
(このやり方も以前教えて頂いたと思いますが、実はなぜ、これで請求書テーブルのレコードができるのか、よくわかっていません。汗)
そして、その作成された請求書レコードに、前月の請求書の「今月の請求額」をルックアップで読み込む「前月の請求額」というフィールドがあるのですが、なぜか読み込まれない、というわけです。
そこで、その「レコードのインポート」を実行するスクリプトに、「再ルックアップ」のスクリプトを追加した、というのが現時点の状況です。
こんな感じなのですが、どうでしょうか?
Offline
リレーションは照合順が決まっています。
何も設定しなければレコードID順(レコード作成順ですね)です。
リレーションの設定で、ソート設定するとその順で照合することができます。
レコードを対象外にするには検索するのが普通です。
全置換の設定で、置換しないレコードを選択するようなことはできません。
リレーションの照合が書かれていませんが、
お勧めは
テーブル テーブル2
顧客 = 顧客
and
年月 > 年月
年月の降順でソート指定
ですね、
これで前月のレコードが照合1番になります。
Offline
リレーションは照合順が決まっています。
何も設定しなければレコードID順(レコード作成順ですね)です。
リレーションの設定で、ソート設定するとその順で照合することができます。レコードを対象外にするには検索するのが普通です。
全置換の設定で、置換しないレコードを選択するようなことはできません。リレーションの照合が書かれていませんが、
お勧めはテーブル テーブル2
顧客 = 顧客
and
年月 > 年月
年月の降順でソート指定ですね、
これで前月のレコードが照合1番になります。
ありがとうございます。
今、確認しましたところ、「リレーションシップ編集」ダイアログで、
テーブル:請求書テーブル2 テーブル:請求書テーブル
請求締日 = 前月の請求締日
AND 顧客No. = 顧客No.
「レコードのソート」は「請求締日」
としておりました。
これなら、大丈夫でしょうか?
なお、請求書テーブルに、「前月の請求締日」というフィールドを設け、各レコード(請求書)に自動計算で入れています。
Last edited by fujisan (2017-11-21 17:58:26)
Offline
> 前月の請求締日
このフィールドに、前月の請求締日が入っていればそれでいいでしょう。
関連レコードは一つのみですから、ソート指定は無意味ですね。
Offline
> 前月の請求締日
このフィールドに、前月の請求締日が入っていればそれでいいでしょう。
関連レコードは一つのみですから、ソート指定は無意味ですね。
ありがとうございます。
Offline
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 593.86 KiB (Peak: 610.4 KiB) ]