5 返信 最新の回答 日時: Feb 20, 2014 6:20 PM ユーザー:coyayac

    他のテーブルを使用したレコードの自動作成

    coyayac

      タイトル

      他のテーブルを使用したレコードの自動作成

      フォーラムに投稿

           購入入力で人を選択したら、購入パターンテーブルに登録してある購入パターンからその人の購入パターンを明細に書き出したいと思っています。

           ・人テーブル:人

           ・購入パターンテーブル:人、購入商品(必要なだけ複数レコード)

           ・購入テーブル:人、日付

           ・明細テーブル:人、購入商品、購入数

           のようなテーブルがあり、購入テーブルと明細テーブルは人でリレーションしてあります。また購入テーブルと購入パターンテーブルも人でリレーションしています。

           購入画面で人を選択してボタンを押すと、購入パターンテーブルの内容を自動的に明細テーブルに書き出すようなスプリクトはできませんでしょうか。

           FMをよく理解できていない部分があり、購入画面で開いている購入テーブルの人から購入パターンテーブルを読み込んで明細を書き出すような動きが良く分かりませんでした。

           このようなパターンの基本的な作り方が分かると助かります。

        • 1. Re: 他のテーブルを使用したレコードの自動作成
          Shin

               ・購入テーブル:人、日付、購入番号(シリアル)

               ・明細テーブル:購入番号、購入商品、購入数

               とされた方が良いでしょう。

               まず、購入テーブルで新しいレコードを作ります。購入番号を変数へ保存しておきます。

               関連レコードへ移動で、パターンテーブルへ移動します。

               レイアウトを変更し、明細テーブルを表示し、パターンテーブルのレコードをインポートし、購入番号を、保存していた変数でフィールドの全置換を行います。

               数量等を調整すれば完了です。

          • 2. Re: 他のテーブルを使用したレコードの自動作成
            coyayac

                 色々やってみたのですが、よく分かっていないせいで上手く動きませんでした。

                 基本的な事を教えて頂ければと思うのですが「関連レコードへ移動」というのは、リレーションしてある他のテーブルの内容を画面に表示する機能、となりますか?(今回ですとパターンテーブルの内容表示)

            指定の方法なのですが、[関連レコードの取得元]はこの場合、パターンテーブルとなりますでしょうか?また、[レコードの表示に使用するレイアウト]とあるのですが、冒頭の質問のようにパターンテーブルの内容を見えるように一旦、なんらかの画面に表示する必要があるということになりますでしょうか?その場合、購入画面となりますか?もしくはパターンテーブルを表示できるような画面が必要となりますでしょうか?

            • 3. Re: 他のテーブルを使用したレコードの自動作成
              sago350@未来Switch

                   こんな感じですかね。

              サンプルファイル

              • 4. Re: 他のテーブルを使用したレコードの自動作成
                Shin

                     どうしても言葉での説明は難しいですね。

                forums3cd7b12761.fp7.zip

                     にサンプルファイルを公開しておきます。

                     新規の購入日付をクリックすると、当日の日付で新しい購入伝票が作成され、入力済の日付をクリックすると、その時の伝票が表示されます。

                • 5. Re: 他のテーブルを使用したレコードの自動作成
                  coyayac

                       shinさん、sago35さん

                       shinさんに頂いたサンプルの組み込み、sago35さんに頂いたサンプル2パターンの組み込み、全てを試してみてどれも思うように動きました。お二人に感謝します!(一杯おごりたい気分です)

                       ファイルメーカーで処理したいテーブルの指定は「レイアウトを開く事で処理」される事や、[関連レコードへ移動]によりキー指定でのレコードセットが扱える、などとても勉強になりました。

                       特にshinさんのインポートの使い方は驚きでした。インポートはcsvからの取込機能と勝手に想像してしまっていたのでサンプルの様な使い方は想像すらしませんでした。特にインポート順の指定画面で「既存は更新し、新規は追加」が指定できるので重複明細を作る事なく今回の場合には非常に有用です。

                       sago35さんのサンプルでのLoopで変数テーブルに蓄積して明細に書き出す手法は、今回の事以上にスクリプトで可能な事柄がよく分かり非常に参考になりました。このロジックは色々な箇所への転用もできそうです。

                       こんかい頂いた内容で自分がfmでできる幅が大きく広がりました。ありがとうございます。