みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ファイルメーカ習いたての者ですが単純な疑問なので教えて下さい
環境はFM10Pro、Win7ですが次のような例があります
コード 会社名 単価 個数 金額
123 ABC 10 5 50
456 NED 20 4 80
333 DKE 10 5 50
コード、単価、個数、金額は垂直4繰返しに設定
会社名は別の関連テーブルからポータルで設定
問題
一段目のコード123を入力すると関連テーブルからABC会社名が表示される
しかし二段目の456を入力したら本来は会社名にNEDが表示すべきが
ABCと表示され本来のNEDは一段目に表示、更に三段目の333を入力すると
本来はDKEと表示したいがそのDKFは一段目にずれている。
それらの問題は何でしょうか?
その各行は、どの様に表示させていますか
Offline
会社名を計算フィールドとしているのでは。
ルックアップなら繰り返しに対応できます。
しかし、
繰り返しフィールドを考え直した方がいいと思いますよ。
繰り返し1回を1レコードとする別テーブルにして、
ポータルで表示。
これが常道です。
Offline
Shin4さんの各行表示は
123 ABC 10 5 50
456 NED 20 4 80
333 DKE 10 5 50
の3行です。コード入力したら自動的に会社名が表示されその会社名に
単価、数量、金額w入力する。しかし1行の場合は問題なくできますが
2行になると表示がバラバラになるのです。
チボさん 会社名は計算フィールドにはなってません
繰り返し1回で別テーブルというのはリレーションのことですか?
もう少し具体的に教えていただけないでしょうか?
会社名は計算フィールドにはなってません
ならば、どうなっているのか書かないと、、
説明が無いから推測しているんですよ。
Offline
他が繰り返しなのに会社名だけポータルにするのが、無理なのです。
ポータル内に表示される順番は、繰り返しの照合フィールド(コード)の順番とは関係ありません。(ORで照合するだけ)
ポータルのソート順を別途設定するということも可能だけど、ややこしくなるだけで意味は無いでしょう。同じコードを2か所に入れても同じ会社名は1回しか表示されないし。
既に指摘がある通り、会社名も繰り返しにしてルックアップするか、全部をポータルにするかどっちか。
ぎゃ!
最初に説明が有りましたね。
全部が繰り返しと勝手に思っていました。
ごめんなさい-_-
Layouterさんの通り、
会社名だけポータルでは無理でしょう。
全部をポータルにすべきですよ。
方法は、
現在のテーブルにユニークな値のフィールドを作ります。
新たにテーブルを作り、それとリレーション。
新たなテーブルは、現在の繰り返し1回を1レコードとして、
元のテーブルのユニークな値を持たせます。
これで、
元のテーブルにポータルを置いて、そこで入力、表示ができます。
Offline
皆さん色々とありがとうございます。ずぶの素人で質問するのが
恥ずかしくて、かなか投稿できす、悩んでいますが、私の説明不足
ですので再度ご説明します。
次の様な手書きの日報報告書があります。
日付2014/10/1 ※日によってはnoが1の場合も1,2もあります(最大3)
no コード 会社名 単価 個数 金額
1 123 ABC 10 5 50
2 456 NED 20 4 80
3 333 DKE 10 5 50
上記の様なフォーム形式を作成しました(これをAテーブルとします)
会社名は別ファイルコードフィールドで照合テーブルしました(これをBテーブル)
コードを入力し会社名はBテーブルから関連づけしています
後は会社名が表示された所に単価、個数、金額を入力する
疑問1 新たなテーブルとはBテーブルで良いのでしょうか?
疑問2 ユニークな値フィールド作るとはAテーブルの上記全てのフィールドですか?
疑問3 元のテーブルのポータルとはAテーブルですか?そこで入力できるとありますが
私の認識不足かもしれないが入力が出来ないのです???
ルックアップも試したのですが出来ません。ほんとにすみません!!
疑問1 新たなテーブルとはBテーブルで良いのでしょうか?
テーブルBは会社名のマスタですよね、
それはそのままにしておきます。
新たなテーブルCを作ります。
疑問2 ユニークな値フィールド作るとはAテーブルの上記全てのフィールドですか?
テーブルAに新たなフィールドを作り、
シリアル番号
レコードID
等、レコードに固有の値を入力します。
テーブルCにも照合用のフィールドを作り、
テーブルAとリレーションし、リレーションの設定で、
テーブルCのレコード作成の許可にチェックを入れます。
テーブルAのレイアウトに、このリレーションのポータルを配置、
そこに入力することで、テーブルCにレコードが作られます。
テーブルAとBのコードのリレーションは
テーブルCとBとに変更、
テーブルCでルックアップで会社名を入力できます。
現状のテーブルAの繰り返しフィールドは、
テーブルCに繰り返し各回を1レコードでインポートできます。
大きな改造になりますから、必ずバックアップを取ってくださいね。
Offline
Pages: 1
[ Generated in 0.013 seconds, 9 queries executed - Memory usage: 520.58 KiB (Peak: 525.12 KiB) ]