ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3991034 ファイルメーカーの使い方を教えてほしいです
質問者:yosshin 先日FileMakerの存在を知った初心者です^^;
どうしても作りたいファイルがあるのですが、
使い方が理解できておらず質問させていただきます。

「見積書」の作成に近いと思うのですが、
業務で使用した部品が発生するごとに記入していきます。
(例)
物件ID 部品ID 名称 個数 単価 小計
0001  01  ねじ  20  5  100
0001  02  ボルト 50  10  500
0001  03  部品C 10 100  1000
・・・
中間はどのようになってもいいのですが、最終的に
”各物件における部品毎の合計を一覧表示”させたいんです。
(こんな感じ)
物件ID○○:****
名称  数量 単位 単価 計
ねじ  100  個   5  500
ボルト 200  個   10 2000
・・・
↑このような結果にたどりつける進め方を
ご助言いただきたいです。
商品マスタ?(ID,名称,単価,単位の記録テーブル?)は
作成しました。
まだポータルもイマイチ掴みきれていないような奴ですので
その辺り少しかみくだいてご説明いただけると幸いです^^;

ヨロシクお願い致します。
困り度:
  • 困っています
質問投稿日時:
08/05/01 22:57
この質問に対する回答は締め切られました。

回答

ANo.13 中止!! やはりまだ無理と思います。お暇なときにでも・・・
リレーションの方法がいいかも。
1.グローバルテキストフィールドを作る。名前は「条件」。グローバルフィールド解りますか?
2.このフィールドを明細テーブルの、検索に使うレイアウトのヘッダに置く。
3.値一覧を設定。名前は「物件ID」で、指定は「フィールド値を使用」で「物件ID」フィールドを指定。
4.1のフィールドをレイアウトモードでドロップダウンに設定。
5.リレーション定義を開いて、左下の+マークが付いたボタンをクリックし、出てきた窓で明細テーブル
 を指定。リレーション名は明細2となどとなります。(自己連結リレーション---ヘルプでどうぞ)
6.照合フィールドは、明細テーブルの「条件」=明細テーブル2の「物件ID」フィールド。
7.スクリプトを作る。名前は「検索もどき」で内容は、「関連レコードへ移動」のステップのみ。
 オプションで関連レコードの取得元は明細2でレコード表示用レイアウトは現在のレイアウトとして
 結果オプションは、関連レコードのみ表示、現在のレコードのみ照合。

流れとしては、検索用テーブルの「条件」フィールドのドロップダウンで適当な物件IDを選び、スクリ
プトメニューから「検索もどき」を選択すると、その物件IDのレコードだけ表示されているはず。
検索用レイアウトは表形式ではなく、リスト形式にしてくださいね。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/07 19:33
この回答への補足完全に終えてお礼をしたかったのですが、
狙い通りの動作にたどり着けず&PCがクラッシュ。。。
ということで1度締めさせて頂きます。
ありがとうございました m(_ _;)m
この回答へのお礼何度も詳細な情報ありがとうございます m(_ _)m

とにかく難しそう^^;
グローバルフィールド、自己連結リレーションを含め
使いこなせるようにガンバッて学習致します!!

回答

ANo.12 ちょっと面倒ですよ。検索のスクリプトだけ・・・
1.検索条件を入れるテキストグローバルフィールドを用意します。仮に名前を「条件」
2.明細テーブルに新規空白レイアウトを作って、そこにこの条件フィールドを置きます。
 フィールドの上あたりに「条件を入力して、検索実行ボタンを押してください」と書いておきます。
3.その横に「検索実行」というボタンを置きます。

4.明細テーブルの2とは別のレイアウト(検索するレイアウト)に「検索」というボタンを置きます。
5.スクリプトメーカーで新規スクリプトを作ります。仮のスクリプト名「条件入力」。スクリプトの内容は
 ・新規ウインドウ----位置とウインドウの大きさは適宜調整します。ウインドウ名は仮に「条件」
 ・レイアウト切り替え---2で作ったレイアウトに
 ・ステータスエリアを隠す
6.このスクリプトを4の「検索」ボタンに割り当てます。

7.もうひとつスクリプトを作ります。仮のスクリプト名「検索実行」。スクリプトの内容は
 ・切り取り---1の「条件フィールド」
 ・ウインドウを閉じる--現在の「条件」ウインドウ ---元の4のレイアウトがアクティブになる。
 ・検索モードに切り替え---一時停止しない、条件なし。
 ・貼り付け----フィールド選択/物件IDフィールド
 ・検索実行----条件を記憶しない。
8.このスクリプトを3の「検索実行」ボタンに割り当てます。

流れとしては、明細テーブルで「検索」ボタンを押すと別の小さいウインドウが開きます。その中の
「条件」フィールドに入力して「検索実行」ボタンを押すと、条件ウインドウが閉じて、明細テーブ
ルが検索結果になるはずです。実際に試していないので、多分。ただ、Win版の場合、新規ウインドウ
スクリプトに癖があるかも知れません。また、実際には検索に該当するレコードが無かった場合などに
エラー処理も必要です。
もっと簡単なスクリプトで検索できる方法もあるのですが、リレーションが絡むので・・・・
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/07 18:31
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.11 >実現できそうになさげなのが、物件IDで検索して
>その物件内のみの部品毎の一覧表示なんですが、、、
>この特定の物件のみ、を表現する方法はありますでしょうか?

部品ごとの一覧表示とは?
回答者:chieffish
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:
08/05/07 15:30
この回答への補足言葉足らずでもうしわけないです m(_ _)m

現状達成したかった”物件内の部品毎の合計一覧”は
出来ているのですが、今のところ
表示したい物件IDで検索⇒部品IDでソート
⇒レイアウト切替⇒プレビューモードへ切替
の手順を踏んでおります。

これをスクリプトで1クリックで行う場合
初めの”表示したい物件IDで検索”
この検索する物件IDを簡単に選択(入力?)できるような
術があるかのかどうか、を疑問に抱きました。
それぐらい検索させろ!と言われればそれまでなのですが^^;;;
降順、昇順がもしあっても(スクリプトまだ学習できてません^^;)
中間の物件を1発表示するには。。。と思った次第です。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.10 ブラウズモードの表形式表示でソートしていたって事のようですね。
表形式ではひとつのフィールドのソートしかできませんので物件ID→部品IDソートは無理です。

今の段階では
ソート→レイアウト切り替え→プレビューモード切り替え
を手動で行っていると思いますが、これをスクリプトにして記憶させると、ボタンを1回押すだけで
自動的に表示させる事ができます。スクリプトも少しずつ憶えてください。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/06 16:42
この回答へのお礼このファイルを扱う方々のレベルを考えますと
ソート→レイアウト切り替え→プレビューモード切り替え
から、一行レコード削除、までスクリプトをちりばめないと
いけないと思っていますので、スクリプトを学習して
不自由なく使えるものを目指したいと思ってます。

実現できそうになさげなのが、物件IDで検索して
その物件内のみの部品毎の一覧表示なんですが、、、
この特定の物件のみ、を表現する方法はありますでしょうか?

回答

ANo.9 ソート優先順位指定窓は
物件ID
部品ID
と指定されていますか?また、プレビューモードにする前の段階で
001 01
001 02
001 03
002 01
002 02
002 03
・・・・・
と、ちゃんとソートされていますか?
FMはソートされたことでレコードをグループ化して計算しますので
ソート状態が正確でないと正しい表示ができません。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/06 14:05
この回答へのお礼ご指摘ありがとうございます m(_ _)m
今までソートをする際には明細テーブルのブラウズモードの
1番上の灰色になっている、フィールドの名称が書かれている箇所
(何と言えばいいんだろ^^;)をクリックしてました><
レコードのソートできっちりソートしてみたところ
結果が変わりました^^;;
各物件毎に表示されて1番上に物件の部品総数・金額の合計
(名称、単価は物件内で使用されている中で部品IDの若い物が表示)
その下に各部品毎の数量合計・金額が羅列されるような結果に
なりました〜!

回答

ANo.8 明細の1レコードがちゃんと
物件ID 部品ID 名称 個数 単価 小計
0001  01  ねじ  20  5  100
0001  02  ボルト 50  10  500
0001  03  部品C 10 100  1000
のようになっていますか?
物件IDだけでソートした場合はどのような表示になりますか?
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/06 09:23
この回答へのお礼   部品ID   名称  数量     単価  小計
ヘッダ---------------------------------------------------
  「部品ID」 「名称」「個数の合計」「単価」「小計の合計」
部品IDをソート対象とする小計パート--------------------
フッタ---------------------------------------------------

↑こちらを物件ID検索⇒部品IDソート⇒レイアウト切替⇒プレビューM
で、見事におっしゃられるような結果になりました〜〜!!

ヘッダと上記内容の間に
ヘッダ---------------------------------------------------
 「物件ID」          「個数の合計」--
物件IDをソート対象とする小計パート--------------------
を追加し、
物件IDのみでソートした場合は、
「名称」がソート時に1番上にきた(部品Cだったのですが)
名称が表示されましたが、個数・金額の合計はその物件内の
合計と同じ値が表示されていました!
物件ID⇒部品IDの順でソートした場合は、
全物件における各部品の個数・金額の合計が表示されました!!

レイアウトと表示結果がなぜこうなるのか?と考えている現在
少しパニクッております^^;;;

回答

ANo.7 全レコードの物件IDごとの場合も書いておきます。

ヘッダ---------------------------------------------------a
 「物件ID」          「個数の合計」--e
物件IDをソート対象とする小計パート--------------------b
    「部品ID」 「名称」  「個数の合計」--f
部品IDをソート対象とする小計パート--------------------c

フッタ---------------------------------------------------d

のレイアウトにして、物件ID→物品IDでソートです。
a-b b-c間は狭くします。

eに1物件の総個数、fに1物件の1物品ごとの総個数が出ます。
これらの値は対象レコード内での算結果となります。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/05 14:26
この回答へのお礼ヘッダ--------------------------------------------------
「部品ID」 「名称」  「個数の合計」
部品IDをソート対象とする小計パート--------------------
フッタ---------------------------------------------------

こちらのレイアウトで見事に検索した物件内での
部品毎の個数の合計が表示されて感動しました;;

部品IDがソート対象小計パートを作成して、その中に
部品IDフィールドを配置、という形や
検索⇒ソート⇒レイアウトに切替⇒プレビューモード
というところをものにしたいなぁと感じられました!

この状態に

ヘッダ--------------------------------------------------
 「物件ID」   「個数の合計」
物件IDをソート対象とする小計パート--------------------

を追加した結果 (「個数の合計」フィールドはコピペ)
物件IDで検索した場合は、上記と同じ結果
検索せずに全レコードで物件ID⇒部品IDの順でソートした結果
物件IDに関係なく各部品の合計が表示されました。
物件毎の部品の全合計が表示されるのかな?という
自分が解釈を誤ったのか、イメージとは異なる結果になりました^^;

回答

ANo.6 個数(数量合計)で考えましょうか。
1.明細テーブルで側で「個数の合計」という「集計フィールド」を作る。
2.レイアウトモードで新規空白レイアウトを作り、次のようにフィールドとパートを配置する。(ボディは削除)

ヘッダ---------------------------------------------------

 「部品ID」 「名称」  「個数の合計」

部品IDをソート対象とする小計パート------------------
フッタ---------------------------------------------------

3.明細レイアウトでブラウズモードにして、物件ID=001で検索する。
4.部品IDでソートする。
5.2で作ったレイアウトに切り替えてブレビューモードにする。

もちろん物件IDごとの各部品の数量合計も出るのですが、まずは1物件IDで(3.の検索状態)練習してください。
ここを乗り越えないと、リレーションで計算するのも困難だと思いますよ。結果を商品マスタで表示しようとは
考えない方がいいですよ。商品マスタには使わなかった全部品が入っているわけですから。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/05 02:19
この回答へのお礼ご助言ありがとうございます m(_ _ )m
早速使わせていただきます!!

回答

ANo.5 レイアウトモードにしてポータルをダブルクリックすれば、「ポータルレコードの削除許可」の
オプションがあります。

見積書側で計算フィールドを作って、合計フィールド=Sum(リレーション::小計フィールド)です。

物品ごとの合計は明細テーブルで計算します。いろんな方法があるのですが、まずは便利な小計
パートでの集計がいいです。説明が難しいので、このあたりからお読み下さい。
http://www.filemaker.co.jp/help/06-Create%20and%20manage13.html
1物件の場合を簡単に書くと、明細側で小計の合計という集計フィールドを作り、それを集計用レ
イアウトの物品IDをソート対象とした小計パートに物品IDフィールドとともに置きます。集計した
い物件IDで検索して、物品IDでソートしてプレビューモードにすれば出ます。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/03 17:51
この回答へのお礼ご回答ありがとうございます m(_ _)m
1度自力で試してみたところ、自分が思っているのとは
見当違いのプレビューになってしまいました ><
いただいた助言を読解して再度取り組みたいと思います!

回答

ANo.4 >Ver.8あたりでも大丈夫でしょうか?

6でも大丈夫です。
でも機能がかなり強化されているので最新バージョンにしましょう。
7はやめましょう。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/03 11:32
この回答への補足おかげさまで「明細」テーブルに入力すると「見積」テーブルに
その逆も反映されるファイルを作ることができ、
感動しております;;
 少し触ってみて思った質問をさせていただきたいのですが、、、
・ポータル内での1行削除というのは難しいのでしょうか?
 「見積」テーブル内で見積もり検討として、部品を増やしたり
 消したりする使い方をするんじゃないか、と思ったので・・・
・ポータルに(「明細」のフィールドに)「小計」フィールド(個数*単価)を作成しました。
 ポータルの下に(対象物件の)「合計」を置きたいのですが、
 ポータルの小計を集計する、ということは出来ますでしょうか?
・最終的に叶えたい"物件内の部品毎の合計一覧の羅列"は
 明細テーブル内で集計して、それを別途テーブルで表示、
 という感じになるのでしょうか?^^;

恐れ入りますがご回答ヨロシクお願いします m(_ _)m
この回答へのお礼ご意見参考にさせていただきます。
ありがとうございました m(_ _)m

回答

ANo.3 1物品が1レコードになれば簡単です。
前にもどりますが
今既に繰り返しフィールドに入力済みのデータがあるのでしたら
明細テーブルからそのテーブルデータをインポートすればいいです。
インポート時のオプションで繰り返し1行を1レコードに変換出来ます。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/02 15:26
この回答への補足すいません、便乗いたしますが。。
Ver.8あたりでも大丈夫でしょうか?
現状試用期間中ですので最新Verですが、
期限切れ後、購入を考えています。
この回答へのお礼ガッツリ取り組んでみたいと思います。
また疑問が出てきた時にはお力添えください、
ありがとうございました m(_ _)m

回答良回答20pt

ANo.2 概要だけ・・

明細というテーブルを作って物件ID、部品ID、名称、個数、単価などのフィールドを設定。
見積というテーブルを作って、物件IDというフィールドを作り、リレーション管理で両テーブルの
物件IDを照合フィールドとして設定し、明細テーブル側では「このリレーションでレコードの新規
作成を許可」にします。

見積テーブルをレイアウトモードにして、ポータルツールで適当な行数のポータルを配置し、その
中に明細テーブルの::部品ID、::名称、::個数、::単価等のフィールドを置きます。

ブラウズモードにして物件IDを入力し、個々の物品はポータルに入力すれば、明細テーブルに自動
で1レコードずつ作成されます。
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/02 14:58
この回答へのお礼ありがとうございます。
参考にしつつチャレンジしてみたいと思います。

この方法で進めますと、質問でも記しました
物件ID○○:****
名称  数量 単位 単価 計
ねじ  100  個   5  500
ボルト 200  個   10 2000
・・・
というような、物件毎の部品毎の合計一覧の羅列も
簡単に実現可能でしょうか?
結果どのようになるか想像できていないので
的外れな質問でしたらすいません^^;

回答

ANo.1 >0001  01  ねじ  20  5  100
が1レコードになっていますか?それとも繰り返しフィールド?
回答者:chieffish
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/05/02 13:00
この回答へのお礼こんにちは
1つ1つの部品の入力に関しては、
初めは繰り返しフィールドを垂直に置いて
表に入力していくような形をとろうと思っていたのですが、
調べているとあまり良くない方法だと分かってきたので
マスタ以外全て1からやり直そうと思ってますので、
そのあたりもどうするのがベストかも含めて
ご助言いただけると幸いです。
ヨロシクお願いします m(_ _)m