みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
先ほどの投稿、情報不足で申し訳ありません。
バージョンは、19.6.1.45(11-01-2022)
にて、
テーブル
顧客マスター (顧客情報)
顧客_データー (顧客の売上、入金管理など)
リレーション
なし
テーブル 顧客_データー のフィールド
顧客id 計算式などはなし $顧客idにて書き込み
数値 計算式はレコード2回目以降より有効な計算式を設定 $初期値にて書き込み
以下
不具合を起こしたスクリプトを抜き出しています。
変数を設定 [ $初期値 ; 値: 顧客マスター::初期値 ]
変数を設定 [ $顧客id ; 値: 顧客マスター::顧客id ]
変数を設定 [ $売掛残高 ; 値: 顧客マスター::売掛残高 ]
フィールド設定 [ 顧客マスター::初期登録済みFLG ; 1 ]
レイアウト切り替え [ 「顧客データー」 (顧客_データー) ; アニメーション: なし ]
新規レコード/検索条件
フィールド設定 [ 顧客_データー::初期値 ; $初期値 ]
フィールド設定 [ 顧客_データー::顧客id ; $顧客id ]
新規顧客のマスター設定に使っています。
このスクリプトを書いたのは4、5年ぐらい前だったと思います。
2022年の9月ごろまでは、データー入力は問題ありませんでした。
今日、顧客の新規登録をしようとしたところ、
フィールド設定 [ 顧客_データー::初期値 ; $初期値 ]
このステップで初期値は入力されますが、
フィールド設定 [ 顧客_データー::顧客id ; $顧客id ]
のステップで、顧客idは入力されますが、顧客idが入力されると、初期値が消され、フィールドは空欄になります。
フィールド設定 [ 顧客_データー::顧客id ; $顧客id ]
フィールド設定 [ 顧客_データー::初期値 ; $初期値 ]
スクリプトの順番を変えてみると、2つのデーターはきちんと入力でき、今までと同じ動作をすることができました。
また順番を(上に フィールド設定 [ 顧客_データー::初期値 ; $初期値 ] )変えてみると、
$顧客idが入力されると、$初期値(フィールド名:数値)は消えてしまいます。
なぜこのような現象になるのか、さっぱりわかりません。
時期的に見て、19.5.4までは、問題なく動作したが、19.6.1 で動作がおかしくなった??
そんなことが起こるのでしょうか?
謎です。
よろしくお願いいたします。
スクリプトデバッガを使用し、それぞれステップインした場合にデータビューア上で変数の値はどのように変化しますか?
> 数値 計算式はレコード2回目以降より有効な計算式を設定 $初期値にて書き込み
これはどういうことですか?
何をしているのか理解できません。
Offline
こんにちは、ぎょぼぼさん。
すみません、記載ミスしていました。
フィールド設定 [ 顧客_データー::数値 ; $初期値 ]
です。
データービューアーでも確認しています。
顧客idに$顧客idが設定されると、
先に設定されていた、数値フィールドの$初期値は消えてしまいます。
$初期値、 $顧客id は消えることなく保持されたままです。
こんにちは、チポさん
すみません、記載ミスしていました。
フィールド設定 [ 顧客_データー::数値 ; $初期値 ]
です。
顧客_データーテーブルでは自己リレーションを組んでいて
前回の数値と他のテーブルの数値とで計算していきます。
顧客マスターに、初期値などを残しておきたいと思い、このようにしました。
今思えば、顧客マスターテーブルと顧客_データーテーブルのリレーションを作っても良かったと思っています。
数値フィールドの設定はどのように?
とお尋ねしています。
それと、
リレーションなしと書かれていましたが、
今回ありと書かれています。
正確な質問が正確な回答になりますよ。
Offline
チポさん。
顧客マスターテーブルと、顧客データーテーブルとのリレーションはありません。
顧客マスターテーブルと、顧客データーテーブルでの数値フィールドでの計算は関係ありません。
数値フィールドの計算は顧客データーテーブルの自己リレーションでの計算です。
ただ単純に、スクリプトの記述でフィールドデーターが消えるのが?ということなのです。
順番を変えると、消えないのはなぜか?
顧客の新規登録をしようとしたところ、
フィールド設定 [ 顧客_データー::初期値 ; $初期値 ]
このステップで初期値は入力されますが、
フィールド設定 [ 顧客_データー::顧客id ; $顧客id ]
のステップで、顧客idは入力されますが、顧客idが入力されると、初期値が消され、フィールドは空欄になります。
フィールド設定 [ 顧客_データー::顧客id ; $顧客id ]
フィールド設定 [ 顧客_データー::初期値 ; $初期値 ]スクリプトの順番を変えてみると、2つのデーターはきちんと入力でき、今までと同じ動作をすることができました。
また順番を(上に フィールド設定 [ 顧客_データー::初期値 ; $初期値 ] )変えてみると、
$顧客idが入力されると、$初期値(フィールド名:数値)は消えてしまいます。
なぜこのような現象になるのか、さっぱりわかりません。
時期的に見て、19.5.4までは、問題なく動作したが、19.6.1 で動作がおかしくなった??
そんなことが起こるのでしょうか?
謎です。
よろしくお願いいたします。
今の問題は、、
顧客マスタは、変数を得た時点でもう関係ありません。
顧客データの自己リレーションと、
数値フィールドの計算式の問題と思われます。
入力順の違いで、
リレーション確立前後が変わりますよね、
そこを疑っているんですよ。
Offline
今の問題は、、
顧客マスタは、変数を得た時点でもう関係ありません。顧客データの自己リレーションと、
数値フィールドの計算式の問題と思われます。入力順の違いで、
リレーション確立前後が変わりますよね、
そこを疑っているんですよ。
そうですよね。
それは理解できます。
このファイルの構造などはここ最近触っておらず、ただデーターを入力するのみに使っていまして、
先にも記したように9月に新規登録は問題なくできたものの、現在新規登録しようとしたら
データーが反映されなくなったのです。
調べましたところ、このスクリプトで引っ掛かったわけです。
リレーションや計算式に問題があったなら、作成した当初も今回のような現象が確認できたと思います。
では、なぜ今まで動いていたものが、なぜ動かなくなったのか。。。
私の作成ミスではあったものの、どうにかなんとか今まで動作してきて、先のfilemakerのバージョンアップで
正常化され、動作しなくなったのか?が答えなのか??
そこのところが知りたくて質問させていただいた次第です。
> filemakerのバージョンアップで
> 正常化され、動作しなくなったのか
この質問には、
恐らくそうではないでしょう
ぐらいの回答しかできません。
勘違いとか、無意識にとか、
とかくあるものです。
視野を広げて問題点を探ったほうがいいと思いますよ。
バグフィクスに先入観は禁物です。
Offline
チポさんがおっしゃる通り、FileMaker自体の仕様変更や不具合では恐らくないでしょう。
[顧客マスター::初期値] を [顧客マスター::数値] と読み替えさせて頂きますが...
私は提示された情報だけを見ると、この [顧客マスター::数値] に入力値の自動化(計算値もしくはルックアップ)が設定されているのでは?という可能性を
まずは疑ってしまいます。
チポさん
レコードの作成日(タイムスタンプ)を記録しています。
そして、
バックアップを意識することなく日常業務の終了後はファイルを閉じることにより、指定した場所にファイルのコピーをバックアップとして保存しています。
フォルダー名は作成した日時としています。
マスターを作成したり、リレーションやスクリプトを作成したときなどはファイルを閉じバックアップを作るようにしています。
最後にマスターレコードを正常に作成することができた作成日時(タイムスタンプ)まで遡り直後のコピーで、現在の環境で新規登録をしようとしたところ、このような現象になりました。
なので、起こるはずがないとは思いますが、その当時から変わったことといいましたら、バージョンアップなのかな?と思ってしまったのです。
ぎょぼぼさん
計算値は設定しています。
しているのですが、リレーションやスプリプトなど触った記憶がありませんし、
上記にありますように、遡ったファイルでも同じ現象が起こるので?なんです。。。
一度、最小化保存をおこなってみると改善するかもしれません。
Offline
Shinさん、こんばんは。
その当時のバックアップファイルにて最小化してみましたが、だめでした。
計算式がわからないと何とも言えませんが、19.6でトランザクションが導入されたので(昔と違って19.6といってもただの修正バージョンではなく、19.5と比べて大規模な変更がある)
何かしらバグないし動作が変わったとしても驚くこともないと思います。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 600.41 KiB (Peak: 616.95 KiB) ]