みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM13 mac
お世話になります。説明が難しく、結構長いです。
資産管理表を作成しており、下記3つのテーブルがあります。
資産管理T、資産登録用T、シリアル管理T
資産管理Tとシリアル管理Tをxでリレーション、
資産登録Tとシリアル管理Tをxでリレーションしています。
資産登録用Tのレイアウトでは、登録する資産の受注先会社名や受注個数、シリアルナンバーなどを入力しています。
シリアル管理T::シリアルナンバーF をポータルで表示して、資産登録用::個数F に数字が入ると、
その個数分だけシリアルナンバーのポータルに入力できるフィールドが出現する仕組みになっています。
個数に掛けているスクリプト↓
ーーーーーーーーーーーーーーーーーーーーーーーーーー
変数を設定[$個数;値:GetAsNumber(資産登録用::個数]
レイアウト切り替え[「シリアル管理」(シリアル管理)]
全レコードを表示
対象レコードを削除[ダイアログなし]
変数を設定[$count;値:GetAsNumber(1)]
Loop
新規レコード/検索条件
フィールド設定[シリアル管理::レコード番号;$count]
変数を設定[$count;値:$count+1]
Exit Loop If[$count > $個数]
End Loop
変数を設定[$$資産登録用個数フラグ;値:1]
レイアウト切り替え[元のレイアウト]
ーーーーーーーーーーーーーーーーーーーーーーーーーー
そしてこの資産登録用レイアウトですが、
資産管理表から新規ボタンで新規ウィンドウを開き、表示するようにしています。
その際、前回までの入力内容を空にする為のスクリプトを、OnLayoutEnterに入れています。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
if[$$資産登録用個数フラグ≠1]
対象レコード削除[ダイアログなし]
新規レコード/検索条件
フィールド設定[資産登録用::仕入先会社名;” ”]
…(以降同様に入力を空白にする為のフィールド設定)…
フィールド設定[資産登録用::個数;” ”]
レイアウト切り替え[「シリアル管理」(シリアル管理)]
全レコードを表示
対象レコードを削除[ダイアログなし]
変数を設定[$$資産登録用個数フラグ;値1]
レイアウト切り替え[元のレイアウト]
Else
変数を設定[$$資産登録用個数フラグ;値0]
End If
ーーーーーーーーーーーーーーーーーーーーーーーーーー
前置きの説明が長くなりましたが、困っていることは、
新規ウィンドウで資産登録用レイアウトを開くと、
資産管理表のシリアルナンバーFから、既存の入力内容が消えてしまうことです。
しかし個数に数字を入れると、なぜかまた表示されます。
そしてまた新規登録ボタンを押すと管理表のシリアルの既存入力された内容が消える…
スクリプトデバッガで確認してみたところ、入力内容が消えてしまうのは、
OnLayoutEnterのシリアル管理に切り替えた後で全レコードを削除したタイミングでした。
ただそれが分かっても、どこをどう直せば解決するのか分からず…
ご相談に乗って頂けたら嬉しいです。宜しくお願いします。
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 504.11 KiB (Peak: 514.86 KiB) ]