みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Win8、FM12
スクリプトにあります「関連レコードへ移動」について教えてください。
同じテーブルでないと移動が出来ないのでしょうか?
テーブルA:入荷用
・フィールド:商品名、フィールド:入荷日、フィールド:入荷数
・フィールド:仕入先
テーブルB:検品
・フィールド:商品名、フィールド:入荷日、フィールド:入荷数
・フィールド:チェック項目
となっております。
レイアウト:検品(テーブルB)にて、入荷分(テーブルA)をポータル表示して、選択して商品名や入荷日などを引っ張ってこようとしてます。
レイアウト:検品(テーブルB)で、ポータルで検品リスト(テーブルB)を作ったときは、すごく素直に出来たため、便利だと思ったのですが。
今まで、スクリプト→レイアウト変更(テーブルB→A)→検索→フィールド設定で検索項目いれ→実行→レイアウト変更(テーブルA→B)に直しテーブルBで新規レコードを作成→検索結果よりフィールド設定でデータをいれる。
という方法で行っていました。
慣れた方法であること、必要な項目だけ取ってこれること、テーブル間の移動も簡単などもあり、従来の方法で問題ないと言えば問題はないのですが、
「関連レコードへ移動」が出来ないことを疑問に思い・・・
「関連レコードへ移動」が扱えるのは、同一テーブルを用いたレイアウトのみ、であるかどうかを知りたいです。
もし、出来るようであれば、どのように手を加えれば良いのでしょうか?
よろしくお願いします。
Offline
他の、同一のファイルを問わず、他の関連テーブルへ移動できます。
それが出来ないのは、おそらく、
その表示に関連テーブルのレイアウトを指定していないのでは。
Offline
チポさん、ありがとうございます。
関連レコードの取得元:レイアウト入荷用(テーブルA)
レコードの表示に使用するレイアウト、レイアウトの指定、関連付けされているテーブル
このテーブルが、同一のテーブルAであるレイアウトしか表示しません。
外部テーブルのレイアウトを使用、にチェックをいれてもテーブルBは選べません。
テーブル:Aとテーブル:Bは、フィールド:入荷日でリレーションをつなげています。
Offline
スクリプト
変数を設定[$AA;値:Get ( アクティブポータル行番号 )」
レコード/検索条件確定[ダイアログなし]
ポータル内の行へ移動[ダイアログなし;$AA]
関連レコードへ移動[テーブルA:入荷用;外部;使用するレイアウト:<現在のレイアウト>]
これをポータルのボタン設定にしてみました。
テーブルBが選べないので、<現在のレイアウト>と書きました。何もなしでは誤解生むと思ったので。
外部テーブルのレイアウトを使用にチェックいれると、上記のように「外部」と書かれるだけです。
チェックいれたうえで、使用するレイアウトをみてもテーブルAのみですね。
Offline
テーブルAとテーブルBは、同じファイル内でしょうか。
外部テーブルのレイアウトのチェックは、異なるファイルにあるときです。
Offline
「外部テーブル」というのは、別の「ファイル」に定義されてるテーブルのことです。(参照のみがリレーショングラフ内にある)
どこからどこへ移動しようとしてるのかわかりませんけど、
「取得元」が移動先(用語がとてもわかりにくい)なんで、それがソースになってるレイアウトでないとレコードが表示できないので選択もできません。
移動元は、「関連レコードへ移動」のステップが実行される時自動的に決まるんで、スクリプト内に設定はありません。
分らないなーー
関連レコードの取得元:レイアウト入荷用(テーブルA)
レコードの表示に使用するレイアウト、レイアウトの指定、関連付けされているテーブル
このテーブルが、同一のテーブルAであるレイアウトしか表示しません。
テーブルBのレイアウトから、
その関連テーブルのテーブルAに移動したいのでしょう?
ならば、指定するレイアウトはテーブルAのレイアウトですよ。
どのテーブルから、どの関連テーブルへ
これを明確に分っていないと。。
Offline
みなさま、ありがとうございます。
>テーブルAとテーブルBは、同じファイル内でしょうか。
>外部テーブルのレイアウトのチェックは、異なるファイルにあるときです。
はい、同じファイル内にあります。
外部テーブルのレイアウトにチェックをいれますと、どれか指定できるのでしょうか?
チェックを入れるだけしか出来ないようですが。
>「取得元」が移動先(用語がとてもわかりにくい)なんで
レコードA→レコードBへ移動させたい場合、取得元はレコードBになるのでしょうか?
>どこからどこへ移動しようとしてるのかわかりませんけど、
>テーブルBのレイアウトから、その関連テーブルのテーブルAに移動したいのでしょう?
レコードBのレイアウトにあるポータル内(レコードA)のデータを、レコードBへ移動させたい。となります。
レコードAをレコードBへ移動させたい、と書くと良いのかな。
Offline
ちょっと日数がたっていますが、気になったので便乗で質問させて下さい。
今まで、スクリプト→レイアウト変更(テーブルB→A)→検索→フィールド設定で検索項目いれ→実行→レイアウト変更(テーブルA→B)に直しテーブルBで新規レコードを作成→検索結果よりフィールド設定でデータをいれる。
という方法で行っていました。
と書かれている内容を見ると、単に入荷用テーブルへ移動して内容を表示するのではなく、入荷用テーブルの特定のレコードをコピーして、検品テーブルに新規作成したレコードに貼り付ける、という作業をしているような気がします。
「関連レコードへ移動」は、移動するだけだと思っていたのですが、何かの設定で「移動+新規レコード作成+フィールド内容の入力」までできるんですか?
こんばんわ。ななさん。
その部分、間違いです・・・・頭の中でいろいろと混ざってしまったようで。
今は、新規レコード作ってフィールド設定で必要な部分をとってくるだけですね。検索などは必要とせず。
Offline
Pages: 1
[ Generated in 0.011 seconds, 9 queries executed - Memory usage: 543.55 KiB (Peak: 564.09 KiB) ]