• 締切済み

FM 繰り返しフィールドの数字を取るには

いつも勉強させていただいてます。 今在庫管理のデータベースを構築しているのですが、 注文処理というテーブルに 商品コード 1・2・3・・・・・と 注文数   1・2・3・・・・・ という二つの繰り返しフィールドがあり、 例えば、「3」の商品を「10」注文した場合に、 商品テーブルの在庫数に10加えたい場合、 どのようにしたらよいのでしょうか。 商品テーブルは1商品1レコードですが、 注文処理は1回の注文を1レコードにしているため、 複数の商品を注文することがほとんどなので繰り返しを使っています。 うまく一度の操作で在庫数を管理することはできないでしょうか。 よろしくお願いします。

みんなの回答

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.4

>それはどうやるのですか?是非教えてください。 これ簡単です。ただ、既に別ファイルとリレーション設定がしてあると面倒かも知れません。 とりあえず手動での方法を。 今のファイルを「全レコード表示」にしておきます。 1.「名前を付けて保存」から今のファイルのデータ無しコピーを作る。 2.データ無しコピーを開いて、繰り返し設定になっているフィールドをすべて普通のフィールドに変更。 3.データ無しコピーでレコードのインポート(取り込み)を選んで、元の繰り返しファイルを指定。 4.両ファイルのフィールドを合わせて、インポート方法は「新規レコードとして追加」にチェック。 5次に出るオプション設定で「繰り返しフィールドは、複数のレコードに分ける」にチェック。 6.インポート開始

全文を見る
すると、全ての回答が全文表示されます。
  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.3

実は私も「繰り返し」を便利?に使っています。 繰り返しも別ファイル(テーブル)から取り込めば単レコードファイルになりますので あとからデータはそのままでポータルに変更することもできます。 取っ付きやすい繰り返しで始めるのもいいと思っています。 私の場合、帳簿の伝票入力で、繰り返し入力→転記ボタン→繰り返しがバラバラになっ て各補助帳簿にコピーされる。という具合ですが、手での記帳と同じようで気に入って ます。

yunak1977
質問者

お礼

chieffishさん ありがとうございます。繰り返しを転記でバラすというと そういうスクリプトを使っていらっしゃるということでしょうか? それはどうやるのですか?是非教えてください。 今日も一日データベース作成をしていましたが 使えば使うほどいろいろ発見がありつまづきがあり、 ますます完成が見えなくなっていきます・・・ とりあえず再来週いっぱいで使える状態にしなければならないので ちょっと焦っています。 ご指導よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

1回の発注で1レコードになるテーブルには発注コードや相手先や日 付だけを置き、1品の発注で1レコードになるテーブルをポータルで 表示させて発注コードでリレーションします。関連レコードの作成 を許可しておくこと。 これで繰り返しフィールドを使わず発注の履歴が自由にいじれるよ うになりましたから、出庫の履歴と併せて在庫の管理が可能になり ます。 というような方向でヤルといいよって話を、chieffishさんに http://oshiete1.goo.ne.jp/qa2714343.htmlでしてもらったはずな んですが、どうして元に戻ってるんだろう。繰り返しフィールドが そんなに好きですか。

yunak1977
質問者

補足

すみません。どうもポータルというものの意味がよくわからず・・・ 使ってみても思い通りに機能しないものですから。 繰り返しフィールドって一見使いやすいのに曲者なんですね。

全文を見る
すると、全ての回答が全文表示されます。
  • aqula
  • ベストアンサー率60% (70/115)
回答No.1

繰り返しフィールドを使うとかなり面倒になります。 この場合は個別注文テーブルを作り、注文処理テーブルにポータルで表示します。 一度に10件までの注文処理として、 個別注文テーブルのフィールド  個別ID(数字)…自動入力でシリアル(開始0、増分1)  注文ID(計算)Int ((シリアル) / 10) 注文処理テーブルのフィールド  注文ID(数字)…自動入力でシリアル(開始0、増分1) 個別注文テーブルと注文処理テーブルの注文IDでリレーション 新規注文時はスクリプトにして  注文処理テーブルの新規レコード1件と  個別注文テーブルの新規レコード10件を作成 在庫管理は 個別注文テーブルと商品テーブルの商品コードでリレーション Sum (リレーション名::注文数) 繰り返しフィールドは見た目が簡単にできるので便利ですが、 後々の処理が大変になります。 面倒がらずに、テーブル、リレーションを活用してください。

yunak1977
質問者

お礼

aqulaさん ご丁寧な解説ありがとうございます。 ご指導いただいた方法でできそうです。 このまま完成に向けて進めます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ファイルメーカーの繰り返しフィールドで

    いつもありがとうございます。 初心者ながら、ただいま在庫計算のデータベースを作っています。 ファイルメーカー8の繰り返しフィールドに関してですが、 商品コード 1.2.3... 在庫数   1.2.3... という二つの繰り返しフィールドがあるのですが、 商品コード「3」に対して、それに対応した在庫数「3」を返す 関数またはスクリプトの作り方を教えてください。 なお商品コードと在庫数は、マスタテーブルのレコードで関連づけられています。 質問がわかりにくいかもしれませんが、 何卒よろしくお願いします。

  • FileMakerの繰り返しフィールドの連続したリレーション参照

    標題の件、教えてください。 使用ソフトはFileMakerPro8.5をWindowsで使用しています。 テーブルが二つあり、『顧客注文』テーブルで『商品コード』フィールドを入力すると、『商品名』を出したい。『商品情報』テーブルに『商品コード』と、『商品名』のフィールドが存在する。 『顧客注文』テーブル上において、『商品コード』は“垂直の繰り返しフィールド”で、5件まで複数入力できるようにしてありますが、最初の商品コードでしか、商品名がアウトプットされてきません。 これを商品コードを入力した分だけ、商品名が出るようにリレーションを組みたいと思っています。 どのような方法で、これを実現したらよいでしょうか。 『商品コード』は検索の都合上、フィールドを複数にすることができず、単一のフィールドを繰り返しフィールドとして利用のです。 初心者で、わかりにくい説明となってしまいましたが、指摘があれば、追加で書き足しますので、どうかお知恵をお貸し下さい。

  • 一つのフィールドに複数の情報を持たせたいです。

    データベースに詳しい方!一つのフィールドに複数の情報を持たせたいです。 例えば複数のユーザを管理するテーブルにあるID(フィールド)を 複数個をデータベースに保存する場合どうすればいいのでしょうか? 言語はJavaで、データベースはMySQLを使っています。 ↓↓各フィールド(例) -------------------------- || userName || userID || ○○ID || -------------------------- 上記の 「○○ID」というフィールド に複数の値を持たせたいのです。 String型の配列、もしくはXMLをMySQLの一つのフィールドに保存する 事はできるのでしょうか? (もし出来るのならこちらを採用したいです) それとも○○IDに関連するテーブルを作成する(?) それか最悪の場合、ユーザが増えるたびにテーブルを一つ作成 して管理するか・・・・(避けたいです) 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • ACCESS 条件付き書式の設定について

    条件付き書式の設定ですが、以下の条件での完成を目指しています。ご面倒をお掛けしますが、宜しくお願い申し上げます。 「対象オブジェクト」 フォーム名:F_商品管理 フィールド名:商品ID、商品コード、商品名、在庫数、適正在庫、原価 「やりたいこと」 (在庫数)が(適正在庫)を割った場合、対象レコード(数値・文字)のフィールド全て、又は、フィールド(複数)を赤色表示にしたいと思っています。 ・やりたいこと1  レコード(全フィールド値)を赤色にする。(在庫数が適正在庫を割った時) ・やりたいこと2  商品名と在庫数を赤色にする。(在庫数が適正在庫を割った時) 「やったこと(上手くいったこと)」 フィールド名:(在庫数)が(適正在庫)を割った時に在庫数フィールドを赤色にする。フォーム:F_商品管理をデザイモードで開いて、(在庫数)をクリックしリボンの条件付き書式をクリックし、(フィールド値)→(次の値より小さい)→(適正在庫)→(条件が真のときに使用する書式のプレビューで赤色を設定) 以上ですが、上手くいったこと以外は全くできていません。どうか、宜しくお願いします。

  • accessフィールドの複数結合

    テーブルAの1つのフィールドとテーブルB内の複数のフィールドを結合させたい。例 テーブルAには社員コードと社員名、テーブルBには商品名、納入社員コード、商品管理社員コード。テーブルAの社員コードフィールドとテーブルBの2つの社員コードフィールドを結合させたいのです。テーブルAをコピーして2つ作り、それぞれをBの2つのフィールドと結合すると出来るのですが、テーブルAが社員名でなく、画像だったりするととても大きなファイルサイズになってしまいます。お答えお待ちしています。

  • ACCESSのフィールドに複数の情報を載せたいときは?

    初めてACCESSでデータベースを構築しています。お教えください。  例えば「Aさんがカキを1つ買いました。」という伝票のデータベースは構築できました。お聞きしたいのは「Bさんはカキを1つ、と同時にクリも1つ買いました」という同時に「2品目」を買った場合の時の事です。  「2品目」というフィールドを作るのが良いのか、レコードを新しくした方が良いのか、それともそれ以外の方法(「1品目」に複数入力できる←これが出来れば一番良いんですが…)があるのかお教えいただきたいと思います。 よろしくお願いします。

  • ファイルメーカー8 データ加工後、別テーブルのフィールドへ移行

    こんにちは!! スクリプトにより、 フィールドのデータを、別テーブルのフィールドへ、 加工してから移行する時、どのようにやっていますか? たとえば、 テーブル1、テーブル2とあります。 テーブル1にはIDフィールド、テーブル2にはお客様番号フィールド。 移行したいレコードを、チェックボックスにより選択させ、 スクリプトを実行したとき、 選択されたレコードに対し テーブル1のIDフィールドを元に、 "hoge"を文頭に追加してから、テーブル2のお客様番号フィールドに 入力。 1レコード終わったら、次のレコード。 試しに1つ作ってみました。 移行元フィールドのデータをコピーし、移行先フィールドに移動、 貼り付け。 まだ、複数レコードがあっても、1フィールドだけなので 大丈夫ですが、 こういう処理をしたいフィールドは30以上あります。 もっと良いスクリプトの書き方は、ないでしょうか? なぜこのような事がしたいかと言いますと、 多店舗あるネットショップの顧客情報などを管理したいと思ってます。 それぞれのネットショップでは、顧客情報や商品情報などを 独自のフィールドでCSVとして吐き出します。 各店舗用テーブルへCSVを取り込み、 それぞれのスクリプトにより、 加工しながら、一括管理テーブルへと移行させたいのです。 説明が下手で申し訳ありませんが、何卒よろしくお願いいたします。

  • ファイルメーカースクリプトの件を教えてください。

    スクリプトで分からないことがあります。 在庫用に使用します。 検索をして、 例えば30件あった場合、30レコードが出てきたら 新規でレコードを30レコード追加して商品コードをそれぞれ新しいレコードに 自動的に貼り付けをさせたいのです。 1レコードの場合はスクリプトをうまく組めたんですが、複数あった場合に は色々やってみたんですが作動しません。どう組めばうまくいきますか? 1レコードの場合に組んでいるスクリプトは、 フィールドへ移動[商品コード]→新規レコード/検索条件→フィールドへ移動[商品コード]→貼り付け[商品コード] となっています。 その内容を一括でやる場合の組み方を教えてください。

  • データベースの設計について少し疑問が出たので投稿しました。

    データベースの設計について少し疑問が出たので投稿しました。 数千万レコードを取り扱う場合、以下のどの構成が一番クエリを早く実行できるのでしょうか? 1.1つのデータベースに1つのテーブルを構築して全てのレコードを格納。 2.1つのデータベース内に複数のテーブルを構築して、レコードを分散して格納。 3.複数のデータベースにそれぞれ1つのテーブルを構築して、レコードを分散して格納。 データベースはMySQLです。 参考までに、ご意見をお聞かせいただければと思います。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • accessのフィールド追加について

    access初心者ですが、現在会社で使用している在庫管理のデーターベースに、商品の在庫表と商品の入庫日報があるのですが、在庫表に商品が入庫した「日付」(入庫日報のフィールドに表示されています)が表示されるようにしたいのですが、在庫表のフィールドリストに別のフォームのフィールド「日付」を追加して表示する方法を教えていただけないでしょうか?とりあえず「日付」のフィールドをコピーして貼り付けてみたのですが、実行するとパラメータの入力を求められてうまく表示できませんでした。わかりにくい質問ですが、よろしくお願いします。