みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
こんばんわ。OSX 10.11 & FMPADV14でパンの宅配の注文受付システムを構築中です。
構造は、よくあるタイプの「注文テーブル(親)」、「注文明細テーブル(子)」です。
基本的に毎朝お客様より御注文を頂戴するごとにデータを入力するのですが、お客様によっては明日から1週間毎日宅配して欲しい旨の御注文があります。
その場合、御注文内容が全く同じと仮定して、同じ内容の注文データを7個作りたいと思っています。
親データはレコードの複製でやるとしても、子データ(明細行)も一緒にコピーするにはどうしたらよいのでしょうか?
色々と探してみたのですが、違うテーブルにポータル丸ごとコピーのやり方は見つけたのですが、同じテーブル内でのコピーはやり方が分かりませんでした。
今、考えている要件としては、
1. まず通常通りの注文データを作成
2. その入力画面上にあるボタンを押すと、
3. 開始日と終了日の入力ダイアログを表示し、
4. その日数分の注文データを作成する
以上のことを実現したいのですが、皆様からのアドバイス、よろしくお願い致します。
「だるま落とし」と呼ばれる方法をShinさんが考案しています。
これをキーワードでここを検索するとでてきますよ。
Offline
ありがとうございます!早速アタックしてみます!
明細が1行だけでしたら、注文テーブルでレコードを作ってしまい、それを明細側にインポートし、明細行データを全置換してしまった方が簡単かも。
複数行の場合は、伝票側に繰り返し計算グローバルフィールドを作り、明細データをそこに展開しておく。伝票側で日付を設定したレコードを作り、明細側へ繰り返しを分けてインポート、という方法がとれるかも。
変数を設定 [ $item; 値:List ( 伝票明細::商品 ) ]
変数を設定 [ $qty; 値:List ( 伝票明細::数量 ) ]
新規ウインドウ [ ]
レコード/検索条件複製
フィールド設定 [ 伝票::日付; 伝票::g_日付 ]
全レコードを表示
レコードを対象外に
対象外のみを表示
Loop
Exit Loop If [ 伝票::日付 ≥ 伝票::g_日付[2] ]
レコード/検索条件複製
フィールド設定 [ 伝票::日付; 伝票::日付 + 1 ]
End Loop
レイアウト切り替え [ 「伝票明細」 (伝票明細) ]
レコードのインポート [ ソース: 「file:joy-h4402.fp7」; ターゲット: 「伝票明細」; 方法: 追加; ... ][ ダイアログなし ]
ウインドウを閉じる [ 現在のウインドウ ]
https://www.dropbox.com/s/ono8encrlup1w … 7.zip?dl=0
明細データを持たせるグローバルフィールドでのデータの展開方法が面白いですよ。変数に持たせた改行区切りの文字列を、繰り返し毎に展開させています。
Last edited by Shin (2016-04-03 15:16:03)
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 508.76 KiB (Peak: 514.7 KiB) ]