- 締切済み
ファイルメーカーで1レコード内での検索、並び替えについて
ファイルメーカーで商品管理のレコードを作りました。 入力情報は ・商品番号 ・商品名 ・入荷日 ・商品陳列場所 の4点で、主に商品番号で検索してデータを引き出し、仕事に役立てています。 同じ商品を入荷することが多く、また商品名が長く打ち込みが手間な為、商品番号でレコードを一つ作り、「入荷日」「商品陳列場所」というフィールドをそれぞれたくさん作り縦に並べ、後日再度入荷した商品はその商品レコードに入荷時期、陳列場所を上から順に足していくという方法をとっています。 ---------------------------------------- 商品番号 111 商品名 ○○○○○○○○○ 入荷日 陳列場所 2008/11/1 A 2008/11/3 B 2008/11/5 C 2008/11/7 D ---------------------------------------- こんな感じです。 これからさらに入荷回数が増えると、最新の「入荷時期」「陳列場所」が下の方になってしまい、見づらくなってしまいます。 そこで今のテーブルは記録入力用などとして使い、別テーブルなどで商品番号を検索すると、入荷日が新しいものから3件、「入荷日」とその時の「陳列場所」を表示できればよいなと考えました。 (入荷日などを上書き更新していけばよいかとも考えましたが、過去の入荷情報も記録として必要なため、残しておきたいです) ------------------------------------- 商品番号 111 商品名 ○○○○○○○○○ 入荷日 陳列場所 2008/11/7 D 2008/11/5 C 2008/11/3 B -------------------------------------- こんな感じです。 またテーブルを分けなくても、上記の条件を満たされるのであれば、レイアウトの切り替えなどでも構いません。 本やネットなどで勉強してみましたが、1つのレコード内のにある複数のテーブルを対象にして、条件を付けて検索、並び替えというところで行き詰まってしましました。(商品によって入荷回数が違うため、どのフィールドに最新の入荷情報があるか統一されてません) 当方は初心者ですので、なるべく詳しくお教え頂ければ幸甚です。 何方かお力添えをよろしくお願い申し上げます。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chieffish
- ベストアンサー率44% (1149/2554)
テーブル2のフィールドは商品番号、入荷日、陳列場所として見易いようにリスト表示にしておきます。 テーブル1のフィールドは商品番号だけにします、商品名は省略しています。 リレーション設定で、両テーブルの商品番号をリレーションの照合フィールドとして、テーブル1側は 入荷日の降順でソートとします。 テーブル1のレイアウトモードでテーブル2のポータルを適当な行数配置し、ポータル1行の中にテーブ ル2の関連フィールド、::入荷日、::陳列場所を置きます。 リレーションの設定でテーブル1のポータルに直接入力することもできます。
- chieffish
- ベストアンサー率44% (1149/2554)
1商品を1レコードとして、入荷日や陳列場所はポータルで表示すると解決するのかと思いますが、 >1つのレコード内のにある複数のテーブルを対象にして 用語の使い方が間違っていると思われるため、構成が不明です。 ファイル→テーブル→レコード なので、レコード内にテーブルは入らないです。この「複数のテーブル」はポータルという事な のですか?
補足
迅速なご回答誠にありがとうございます。 >本やネットなどで勉強してみましたが、1つのレコード内のにある複数のテーブルを対象にして、 すみません。ご指摘の通り間違いでした。 正しくは「1つのレコード内のにある複数のフィールドを対象にして~」です。 その後なんとか試行錯誤を繰り返し、商品番号と商品名の「テーブル1」、入荷記録の「テーブル2」としてそれぞれ作り、2テーブルをリレーションして入荷記録「テーブル2」の情報を、商品番号と商品名の「テーブル1」にポータルで表示するところまではできました。 しかし、入荷記録の情報を入荷日の新しい順に並べるというところでつまずいてしまいました。 商品情報の「テーブル2」で、例えば商品01という1レコード内に、入荷情報すべてまとめたいので、どうしても「入荷日1」「陳列場所1」「入荷日2」「陳列場所2」……というようにフィールドがたくさん出来てしまいます。 そのフィールドを入荷日を基準として新しい順に並べ、さらに「入荷日1」「陳列場所1」というように関連したフィールドをセットにして、商品番号と商品名の「テーブル1」表示する方法がわかりません。 入荷情報を1レコードずつ更新していく方法なら、おぼろげながらなんとか理解できるのですが、このような場合どうすればよいのでしょう? 前回頂いたご回答に答えが含まれていたら大変申し訳ないのですが、より詳しくお教え頂ければ幸いです。 何分初心者なもので、うまく今の状況を説明できませんので、簡単な略図も添えさせて頂きます。 表現がわかりにくい部分があるかとは存じますがご容赦ください。 何卒よろしくお願い申し上げます。 入荷記録「テーブル2」 1レコード内 ------------------------------ 商品番号 100 商品名 ○○○○○○○ 入荷日1 陳列場所1 2008/11/1 A 入荷日2 陳列場所2 2008/11/2 B 入荷日3 陳列場所3 2008/11/3 C 入荷日4 陳列場所4 2008/11/4 D ------------------------------ ※「入荷日1」「陳列場所1」…というように、それぞれフィールドを作り情報を入力しています お教え頂いた通り、リレーションとポータルを使って別テーブルに下記の様に表示することができました。 商品番号と商品名の「テーブル1」 1レコード内 ------------------------------ 商品番号 100 商品名 ○○○○○○○ 入荷情報 陳列場所 2008/11/1 A 2008/11/2 B 2008/11/3 C ------------------------------ このポータルで表示させた下半分を、入荷日を基準として陳列場所をセットにして 入荷日 陳列場所 2008/11/4 D 2008/11/3 C 2008/11/2 B こんな感じに表示させることはできないものでしょうか?