みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMPro,Go 12,Win7
マスタと入力の二つのファイルがあります。
二つは商品コードでリレーションしています。
入力で商品コードと判定コードを入力し、マスタの判定コードと同じであれば結果に〇、異なれば×で「間違っています」とカスタムダイヤログの表示、未入力は結果に未と表示させる方法をご指導お願い致します。
マスタ
商品コード 判定コード
100 10
200 11
300 12
入力
商品コード 判定コード 結果
100 10 ○
200 20 ×
300 空白 未
以上
結果の計算式
Case ( IsEmpty ( 判定コード ) ; "未" ; 判定コード = マスタ::判定コード ; "◯" ; "×" )
でいいでしょう。
Offline
結果の計算式
Case ( IsEmpty ( 判定コード ) ; "未" ; 判定コード = マスタ::判定コード ; "◯" ; "×" )
でいいでしょう。
有難うございます。
解決しましたが、上司の指示でフローが変わりましたので、問い合わせさせていただきます。
入力ファイルの判定コードと結果の入力は入力ファイルの検査結果フィールド入力のタイミングで、自動で別のレイアウト又はタブを切り替わり、そこで入力します。
自動切り替えの判断はマスタファイルの判定コードに入力していることが条件です。
判定コードが空白の場合は切り替わりません。
現在使用しておりますシステムからFMProに切り替えるためですが、使い慣れている同じフローにするためです。
宜しくお願い致します。
スクリプト
If [ not IsEmpty ( マスタ::判定コード )]
レイアウト切り替え
(タブの場合は、タブパネルごとにオブジェクト名を付けて、オブジェクトへ移動)
End If
このスクリプトを検査結果フィールドのスクリプトトリガ
OnObjectExit
で実行すればいいでしょう。
Offline
スクリプト
If [ not IsEmpty ( マスタ::判定コード )]
レイアウト切り替え
(タブの場合は、タブパネルごとにオブジェクト名を付けて、オブジェクトへ移動)
End Ifこのスクリプトを検査結果フィールドのスクリプトトリガ
OnObjectExit
で実行すればいいでしょう。
タブの場合はタブパネル毎にオブジェクト名を付けてとのことですが、
タブコントロール設定のタブ名のことでしょうか?
色々試してみましたが、駄目でした。
チポ wrote:スクリプト
If [ not IsEmpty ( マスタ::判定コード )]
レイアウト切り替え
(タブの場合は、タブパネルごとにオブジェクト名を付けて、オブジェクトへ移動)
End Ifこのスクリプトを検査結果フィールドのスクリプトトリガ
OnObjectExit
で実行すればいいでしょう。タブの場合はタブパネル毎にオブジェクト名を付けてとのことですが、
タブコントロール設定のタブ名のことでしょうか?
色々試してみましたが、駄目でした。
タブの移動につきましてはタブ内のフィールドへ移動で解決しました。
この仕組みが大幅に変わることになりました。
終了し新規案件でご相談いたしますので宜しくお願い致します。
テストには上手く行ったつもりですが、本番では出来ませんでした。
何度も申し訳ありませんが本番と同じ内容で改めて相談致します。
FMPro,Go 12,Win7
マスタと入力の二つのファイルがあります。
二つは商品コードでリレーションしています。
入力ファイルの商品コードと検査結果はタブ名1、判定コードと結果はタブ名2、シリアルNo1はタブ名3、シリアルNo2はタブ名4にあります。
マスタ
商品コード 判定コード 入力1 入力2
100 10 ○
200 11 ○ ○
300 12 ○
400 13 ○
入力
商品コード 検査結果 判定コード 結果 シリアルNo1 シリアルNo2
100 合格 10 ○ 123
200 合格 11 ○ 222 333
300 合格 20 ×
400 合格 空白 未
500 合格
①入力の商品コード100の説明です。
入力ファイルの結果結果が合格の場合はタブ2の判定コードに自動で移動しバーコード入力。
その値がマスタの判定コードと同じであれ結果にば〇表示。
入力1が○なのでタブ名3のシリアルNo1に自動移動しバーコード入力。
②入力の商品コード200の説明です。
①と同じ動作と入力2が○なのでタブ名4のシリアルNo2に自動移動しバーコード入力。
③入力の商品コード300の説明です。
判定コードがマスタと異なれば、カスタムダイヤログの表示と結果×表示。
④入力の商品コード400の説明です。
判定コードが未入力であれば、結果が未表示です。
⑤入力の商品コード500の説明です。
マスタに商品コードがなければ、タブ2に移動しません。
条件がよく分からないのですが、、
タブに固有のフィールドへ移動するのなら、
フィールド移動
でそのフィールドが有るタブが開きます。
スクリプト
フィールドへ移動(指定のフィールド)
現在のスクリプト終了[結果:0]
これをフィールドのスクリプトトリガ
OnObjectExit
で実行すると、指定のフィールドへ移動できます。
Ifステップで条件を作ってお試し下さい。
Offline
説明が上手に出来なく大変申し訳ありません。
①の途中のスクリプトと計算式までできましたが、
判定コードにバーコード入力しても、タブ名3のシリアルNo1に自動移動する方法がわかりません。
又、OnObjectExitでは上手く動作しません。
宜しくお願い致します。
①入力の商品コード100の説明です。
入力ファイルの結果結果が合格の場合はタブ2の判定コードに自動で移動しバーコード入力。
検査結果フィールドにOnObectModifc
If[not IsEmpty(マスタ::入力1)]
フィールドへ移動[入力::判定コード]
現在のスクリプト終了
End If
その値がマスタの判定コードと同じであれ結果にば〇表示。
Case (IsEmpty (判定コード ); "未入力";判定コード =マスタ::判定コード;"○"; "×")
以上
検査結果フィールドにOnObectModifc
OnObjectExit
でいいと思いますよ。
If[not IsEmpty(マスタ::入力1)]
これでは条件が足りないでしょう。
フィールドへ移動[入力::判定コード]
現在のスクリプト終了
オプションの結果の値を
0
とします。
条件がよく分かりません。。
Offline
Pages: 1
[ Generated in 0.011 seconds, 7 queries executed - Memory usage: 545.41 KiB (Peak: 565.95 KiB) ]