みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
見積書についてお教えください。
下記の場所にfm12のファイルがあります。
https://free.filesend.to/filedn_infoind … 627b6d619o
Form1は通常の見積書です。これは理解できます。新規レコードを作成すると、
見積IDが作られます。ポータル内の商品IDに数字を入力すると、商品マスタより
商品名が自動入力されます。行数分だけ、見積詳細テーブルにデータが入力されます。
やりたい事はForm2になります。
新規レコードで見積IDを作ります。次に商品IDを入力します。商品IDに紐付いた商品名、
商品分類がポータル内に表示されます。
ただし、商品名に後で色々と情報を付け加えたいです。よって、商品マスタに直接入力
するのはまずいので、見積詳細2の商品名に値をコピーし、それを表示させたいです。
Form2で新規レコードを作成する。
商品IDにIDを入力する。ここでは「1」と入力する。
商品マスタの商品IDが「1」でかつ、商品分類が「果物」のデータを行数分記憶する。
見積詳細2の商品名に行数分値を貼り付ける。
Form2のポータルで見積詳細の商品名を表示させる。
このような事がしたいのですが、どのようにやればよいか思いつきません。
ご教授お願い致します。
Offline
ファイルは見ていませんが。
見積もりに対して、明細テーブルを作り、リレーションを張っておきます。その明細の中に、商品マスターのIDを入力し、他の情報は関連情報とするか、ルックアップで取り込みます。その明細レコードには情報の追加などは自由です。
Offline
私もファイルは見ていません。。
> 商品マスタの商品IDが「1」でかつ、商品分類が「果物」のデータを行数分記憶する
これが理解できません。
一つの商品IDで複数の商品があるのでしょうか?
Offline
1つの商品IDで複数の商品名があります。普通に考えればハテナマークがつきます。
ファイルを見て頂けなとのことなので、こんな事をやりたいというのを画像にしました。
http://fast-uploader.com/file/7067653182671/
お手数おかけします。宜しくお願いします。
Offline
List関数
で全ての関連レコードのフィールド値をリストで得ることができます。
これをポータルの新規行に一つずつ入力してゆけばいいのでは。
Offline
List関数はじめて知ったので利用してみました。商品2の情報をList関数で取得できました。ありがとうございます。
これを見積詳細に挿入する方法がわかりません・・・
Offline
リレーションの設定で、関連テーブルの新規レコード作成に許可を与えると、
ポータルに新規行に入力でき、入力することで関連レコードが作成されます。
GetValue ( List ( 商品::商品分類 ) ; n )
で、商品分類のリストからn番目の値を取り出せます。
スクリプトで、
ポータル1行目にリストの1番目の値
ポータル2行目にリストの2番目の値
・・・
と順に入力します。
気になったのですが、、
提示された画像のリレーションが
見積2 = 見積明細2
の様になっていますが、
これだといろいろ厄介なことになりますよ。
参照する側のテーブル(関連テーブルではない方)
は常にデフォルトのテーブルオカレンスを使う方がいいですよ。
Offline
商品ID の考え方を変更することも、将来的に考えた方がいいでしょうね。
とりあえず、商品ID が設定されれば、
見積もりID を変数に保存し、
関連レコードへ移動(新規ウィンドウ) で商品マスターテーブルへ移り、
そのまま明細テーブルのレイアウトへ変更し、
商品マスターのレコードをインポート、
明細の見積もりID を全置換で設定、
ウィンドウを閉じる、
という方法がシンプルだと思います。
Offline
チポさん、shinさん、ありがとうございます。なんとなくわかってきました。
もう1点お教え頂けませんでしょうか。list関数で商品分類の中身を得ることができました。
例えば、リストで取得した値の中の一番上の値をポータルの1番上の行に貼り付けしたいとします。
変数を設定[$val;値:GetValue(list(商品::商品分類);1]
ポータル内の行へ移動[選択:オン;最初の]
フィールドへ移動[所定のフィールド]
上記のスクリプトでポータルの所定のフィールドに移動はできました。ここで、変数内の情報を
貼り付けしてやりたいのですが、どのようにしてやればいいかわかりません・・・貼り付けという
スクリプトステップがありますが、どうやらクリップボード内の内容を貼り付けするみたいなので、違うと思います。
宜しくお願いします。
Offline
スクリプトステップ
フィールド設定
があります。
ここで計算式の指定で入力できます。
フィールドを指定できますから、
フィールドへ移動
が不要になりますね。
また、
変数にしなくても、
計算式で直接リストから一つずつ取り出せばいいですね。
Offline
フィールド設定で解決しました!
ご相談にのって頂きありがとうございます!
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 571.49 KiB (Peak: 582.54 KiB) ]