- 締切済み
ファイルメーカーの繰り返しフィールドで
いつもありがとうございます。 初心者ながら、ただいま在庫計算のデータベースを作っています。 ファイルメーカー8の繰り返しフィールドに関してですが、 商品コード 1.2.3... 在庫数 1.2.3... という二つの繰り返しフィールドがあるのですが、 商品コード「3」に対して、それに対応した在庫数「3」を返す 関数またはスクリプトの作り方を教えてください。 なお商品コードと在庫数は、マスタテーブルのレコードで関連づけられています。 質問がわかりにくいかもしれませんが、 何卒よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- chieffish
- ベストアンサー率44% (1149/2554)
パーツの組み合わせで商品ができていて、パーツの在庫数が必要でしたら、やはり1パーツ1レコード にすべきでしょう。個々の1商品が1レコードの商品テーブルにはポータルに構成パーツを表示するこ とになるのかと思います。
- chieffish
- ベストアンサー率44% (1149/2554)
ポータルは簡単なファイルを作ってみるといいです。例えば 1.テーブルAのフィールドとして「種類」というテキストフィールドを作り、新規レコードを作っておきます。 2.新規テーブルBを作って、フィールドは「種類」と「品名」というふたつのテキストフィールドにします。 3.リレーション定義に移ってテーブルAの「種類」とテーブルBの「種類」を結びます。 4.2のテーブルで新規レコードを6個作って1レコードずつに 「種類」 果物 「品名」 りんご 「種類」 果物 「品名」 みかん 「種類」 果物 「品名」 ぶどう 「種類」 野菜 「品名」 レタス 「種類」 野菜 「品名」 キャベツ 「種類」 野菜 「品名」 大根 などと入力します。 5.テーブルAのレイアウトモードで5行くらいのポータルを配置しポータル設定の関連レコード表示は3で作っ たリレーション(デフォルトはテーブル名で「B」)にします。 6.次に出る窓で「品名」フィールドを右窓に移動します。 7.ブラウズモードに移ってテーブルAの「種類」に果物と入れるとりんご、みかん、ぶどうだけがポータルに 表示されます。 つまり、現在のレコードの照合フィールドと同じ照合フィールドを持つ、別テーブルや別ファイルの全レコー ド(関連レコード)をポータルに表示できる(見ることができる)というものです。テーブルBにりんごやみ かんの数量フィールドがあれば、その個々の数量をテーブルAから確認もできるだけでなく、果物の総数を計 算したりもできます。見るだけでなくテーブルAのポータルに「いちご」と入れるとテーブルBで自動的に「 いちご」のレコードを作成することもできたりします。注意しなければならないのは、テーブルBは1レコード 1品名としなければならないことで、繰り返しフィールドなどはダメです。
- chieffish
- ベストアンサー率44% (1149/2554)
他のテーブルやファイルとの連携でデータを使う場合、繰り返しフィールドがあるとスムーズに 行きません。繰り返しフィールドをポータルに置き換えるように作り替えた方がいいと思います。 出荷テーブルの出荷可能数=マスターテーブルの在庫数だとしたら、特にこの繰り返しのテーブ ルは要らないように思いますが。
お礼
chieffishさん 三度ありがとうございます。 昨日からはじめたばかりでまだポータルというものが よくわかっていません。本も買ってはみたのですが、 本ではそういう基本は飛ばされているようで・・・ とりあえずポータルについて調べてみます。 先ほど試しにポータルを置いてみたのですが、 フィールドに何も表示されませんでした。 リレーションがおかしいのか理由もよくわかりませんが、 いろいろ試しながら作っていきます。 ポータルについてわかりやく説明している本や サイトなどございましたら教えてください。 ご親切にありがとうございました。
- chieffish
- ベストアンサー率44% (1149/2554)
商品コード 1.2.3... 在庫数 1.2.3... ここの在庫数はどのようにして表示されているのですか? 実際には在庫数は変動するものですので、ルックアップではないと思うのですが。
補足
chieffishさん たびたびありがとうございます。 在庫数は単なる数字です。今のところ。 発送指示書ができたら、在庫数-出荷数で上書きしていきたいと思います。 さらに言うと、商品は複数の「部品」からなっており、 それぞれの部品の「使用数」とそれぞれの部品の「在庫数」 まで連動していきますので、まずは今の段階をクリアしたいと思います。 よろしくお願いいたします。
- chieffish
- ベストアンサー率44% (1149/2554)
在庫数がフィールド値としてマスターテーブルにあるということでしたら 単なる「ルックアップ」でできますよね。
補足
ご回答ありがとうございます。 少し質問の文章が不足していました。 もうひとつ別の非繰り返しフィールドに数字を返したいんです。 出荷というテーブルの発送指示書というレイアウトに 「発送商品」という非繰り返しフィールドがあり、 それに対応した「出荷可能数」を出したいのです。 これも非繰り返しです。 発送商品と商品コードでリレーションを組んでいるのですが、 出荷可能数に正しい数字が出てきません。 もしわかれば教えてください。よろしくお願いします。
補足
chieffishさん 丁寧なご説明ありがとうございます。 1品1レコードということは例えば私がやろうとしているような 1商品の中には複数のパーツが含まれていて、 商品の在庫が減ると自動的にパーツの在庫も減るというような データベースを作ろうと思うとやはりポータルがよいのでしょうか? また商品によって使用するパーツの個数が異なるのですが それはどのように組み込めばよいのでしょうか? 質問ばかりで申し訳ございません。