みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
サーバ・Pro・GoともV12の初心者です。
スクリプトの目的は番号・コード・0が計画にあると インポートさせる事です。
スクリプトを修正したいのですが、初心者なのでスクリプトが理解できておりません。
間違っていないか確認もお願いします。
計画と入力は別ファイルで、NOと番号でリレーションしています。
計画のNO・CD・EFは同じレコードです。
入力の番号・コードは同じレコードです。
If[計画::NO=入力::番号
If[計画::CD=入力::コード
If[計画::EF=0(数字のゼロ)
関連レコードへ移動
スクリプト実行 [インポート]
レイアウト切り替え[入力]
End If
End If
End If
解釈は間違っていないでしょうか?
1.NOと番号を確認し合致すると次へ
2.CDとコードを確認し合致すると次へ
3.EFが0であるとこを確認し合致するとスクリプト実行し、レイアウト切り替え
修正したい内容は
本スクリプト実行条件に
1.NOと番号は上記と同じ
2.コートは別途指定
3.0⇒1
どの様に修正すれば宜しいでしょうか。
宜しくお願い致します。
わかりにくい・・・
If[計画::NO=入力::番号
で
計画::NO≠入力::番号
の場合はそこでスクリプトは終わってしまうのでは?
Offline
わかりにくい・・・
If[計画::NO=入力::番号
で
計画::NO≠入力::番号
の場合はそこでスクリプトは終わってしまうのでは?
わかりにくくて申し訳ありません。
計画内のレコードで番号・コード・0であることが条件でインポートさせるためです。
万一なければ、スクリプト終了でかまいません。
全然わからない。
インポートするレコードはどうやって選択するんですか?
0でなく1にしたいようだけど、現状では0のをインポートする処理がうまくできてるという意味?
関連レコードへ移動
移動できたらインポート
という流れじゃないのかなあ?
>スクリプトの目的は番号・コード・0が計画にあると インポートさせる事です。
番号とコードと0でリレーションして関連レコード移動してみたらいいのではないかな?
Offline
全然わからない。
インポートするレコードはどうやって選択するんですか?
0でなく1にしたいようだけど、現状では0のをインポートする処理がうまくできてるという意味?関連レコードへ移動
移動できたらインポート
という流れじゃないのかなあ?
1にしたいのではありません。
修正と記載しましたが、現在の下記条件の上に追加です。
又、現状ではインポートは上手くいっているので、スクリプトは間違っていないのかと思っているのですが。
スキル不足で分からず相談しています。
If[計画::NO=入力::番号
If[計画::CD=入力::コード
If[計画::EF=0(数字のゼロ)
条件の追加です。
1.NOと番号は上記と同じ
2.コートは別途指定
3.0⇒1
分かりにくくてすみません。
宜しくお願いします。
>2.コートは別途指定
どこから持ってくるんですか?手入力?
現在のレコードに入力するんでなければ、リレーションが使えませんから全く別の方法を考えないといけませんが。
>3.0⇒1
これは1に変えるだけですよね。
インポートは、入力テーブルの対象レコードを計画テーブルの条件に一致するレコードに更新インポートということでしょうか?
それなら入力テーブルでCDとEFを指定するフィールドを作っておいて、インポート方法を「対象レコード内で一致するレコードを更新」にしてNOとCDとEFを照合フィールドにしておけば
関連レコードへ移動→レコードのインポート→レイアウト変更
だけでできそうな気がしますけど。
Offline
インポートは、入力テーブルの対象レコードを計画テーブルの条件に一致するレコードに更新インポートということでしょうか?
それなら入力テーブルでCDとEFを指定するフィールドを作っておいて、インポート方法を「対象レコード内で一致するレコードを更新」にしてNOとCDとEFを照合フィールドにしておけば
関連レコードへ移動→レコードのインポート→レイアウト変更
だけでできそうな気がしますけど。
にしなな様の回答通りと思うのですが、理解が出来なくて、サンプルで説明します。
計画ファイル
NO CD EF
111 A 1
111 B 0
112 A 0
112 B 0
入力ファイル
番号 コード 確認
111 B 0
の場合は計画ファイルと一致しているので、判定フィールドに入力するとスクリプトで保存ファイルにインポートさせたいです。
計画ファイルは他部署が更新してます。
入力ファイルの番号は新規レコードで入力し、コードと確認は作業者名フィールド入力の際にフィールド設定で入力しています。
番号 コード 確認 と NO CD EF をリレーションしておいて、関連レコードへ移動、別テーブルからインポート、という手順で良いのでは。
Offline
番号 コード 確認 と NO CD EF をリレーションしておいて、関連レコードへ移動、別テーブルからインポート、という手順で良いのでは。
番号 コード 確認 と NO CD EF をリレーションすると
入力ファイルで 番号 コード 確認 が見えるようになりました。
見えることが条件で、保存ファイルにインポートさせたいのですが、どの様なスクリプトを作成すれば良いのでしょうか。
(見えない時はインポートさせません)
If ( IsValid ( リレーション::NO ) )
関連レコードへ移動
インポート
End If
でいいはず。
Offline
If ( IsValid ( リレーション::NO ) ) 関連レコードへ移動 インポート End If
でいいはず。
Shin様
有難うございます。
If[IsValid(計画ファイル::NO)]を使ってインポートできるようになりました。
FMヘルプによるとIsValidは「関連テーブルの名前が変更されたり、リレーションシップが新しいファイル名に更新されていない場合、「0」を返します」
とのことですが、計画ファイルのCD,EFをスクリプトに追加しなくても良いのでしょうか?
上司より新たな依頼がありました。
2件継続して相談させていただきますので、宜しくお願い致します。
1.計画ファイルに前工程の入力実績があること。
例えば111 B 0 を入力する際に 111 A 1 があることを確認
計画ファイル
NO CD EF
111 A 1・・・・前工程
111 B 0・・・・現在入力中の工程
2.保存ファイルに重複して入力させないこと。
インポート前に111 B 0 が無いことを確認
保存ファイル
番号 コード 確認
111 B 0・・・・既に入力済み
宜しくお願い致します。
来週より業務に戻ります。
何とか解決したいのですが、宜しくお願い致します。
具体的なイメージが全く掴めませんが、関連レコードの上書きインポートを行えば良いのでは。
Offline
Pages: 1
[ Generated in 0.008 seconds, 8 queries executed - Memory usage: 550.04 KiB (Peak: 570.58 KiB) ]