初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-04-11 11:33:08

yumihira
Member

ポータルに一部日付が表示されない

いつもお世話になっております。

FileMaker Pro Ver.14(Win)

ポータル内に配置した日付の一部が表示されず困っています。テーブルは3つあります。

データテーブル:それぞれのテーブルにポータル挿入
納品書テーブル:1日1日の売上をポータルに入力する画面
売上帳テーブル:納品書で入力したデータを日付範囲指定で表示・印刷・入金詳細を確認する画面

リレーションは以下のとおりです。
納品書(伝票ID)=データ(伝票ID)
納品書(顧客ID)=顧客名簿(顧客ID)
売上帳(顧客ID)=顧客名簿(顧客ID)
※売上帳とデータをリレーションしようとすると別テーブルを作るようメッセージがでるので断念。

納品書テーブル内では、日付と伝票IDはポータル外にそれぞれ1箇所づつ配置しています。
売上帳テーブルでは、日付と伝票IDはポータル内に配置しています。日付と伝票IDともに「データ」テーブルのフィールドです。
条件はタイプ以外ほぼ一緒だと思いますが、以下のとおり売上帳テーブル内のポータルでは日付だけ一番最初のデータにしか表示されません。

<ポータルフィルタなし>
伝票ID 日付   品名
0001  4/1   ああああ
0001        いいいい
0001        うううう
0002  4/2   かかかか
0003  4/3   ささささ
0003        しししし

<ポータルフィルタをONにすると・・・>
伝票ID 日付   品名
0001  4/1   ああああ
0002  4/2   かかかか
0003  4/3   ささささ

なぜ、日付だけ最初のデータしか表示されないのか原因がわからず困っています。
お手数ですが、ご確認よろしくお願いいたします。

Offline

#2 2017-04-11 11:55:13

チポ
Member

Re: ポータルに一部日付が表示されない

> 売上帳とデータをリレーションしようとすると別テーブルを作るようメッセージがでるので断念
これが原因でしょう。
売上帳からデータテーブルが直接参照出来ていませんよね。


リレーションでテーブルが、
ループを書く様には出来ません。

リレーションシップグラフで参照される側(関連テーブル側)のテーブルを複製してそれをつなげばいいんです。

今回の場合は、
データテーブルを複製して
  データテーブル 2(この名前は自由に変更出来ます)
を作り、
売上帳テーブルとこのテーブルとリレーションします。

ポータルのテーブル、そのフィールドもリレーションシップグラフのテーブル名を指定します。

Offline

#3 2017-04-11 12:07:28

Shin
Member

Re: ポータルに一部日付が表示されない

多分何かの設定間違いでしょう。
全部のテーブルのフィールド定義と、リレーション条件を全て書き出して見てください。

Offline

#4 2017-04-11 13:28:59

yumihira
Member

Re: ポータルに一部日付が表示されない

チポ様

ご返信ありがとうございます!
やはりリレーションが原因でしたか・・・。
できればデータは1つのテーブルでまとめたかったので、あえてやらないようにしていたのですが、致し方ないかもしれません。
参考にさせていただきます。
ありがとうございました!

Offline

#5 2017-04-11 13:39:10

yumihira
Member

Re: ポータルに一部日付が表示されない

Shin様

ご返信ありがとうございます!
各テーブルのフィールド定義、リレーション条件は以下のとおりです。

【リレーション】
納品書(伝票ID)=データ(伝票ID)・・・両方ともに、レコード作成許可と削除にチェック
納品書(顧客ID)=顧客名簿(顧客ID)・・・顧客名簿側だけレコード作成許可にチェック
売上帳(顧客ID)=顧客名簿(顧客ID)・・・売上帳側にだけレコード作成許可にチェック

【フィールド】
・日付(データテーブル):タイプ「日付」。索引設定済み。ほか初期設定のまま。
・伝票ID(データテーブル):タイプ「テキスト」。索引設定済み。シリアル番号チェック済み。計算値「$$CURRENT_SALES_ID」指定。既存値 おきかえ。
・品名(データーブル):タイプ「テキスト」。索引設定済み。ほか初期設定のまま
・数量(データテーブル):タイプ「数字」。索引設定済み。ほか初期設定のまま
・小計(データテーブル):タイプ「計算」。計算式指定済み。
(いずれもフィールド自体は全テーブル設定していますが、レイアウトで使用しているのはデータテーブルのみです)

・全小計、消費税、合計(納品書テーブルおよび売上帳テーブル):いずれもタイプ「計算」。それぞれの計算式設定済み。
・顧客名(納品書テーブルおよび売上帳テーブル):タイプ「テキスト」。索引設定済み。計算値「顧客名簿::顧客名」指定。既存値 おきかえ。

・顧客ID(全テーブル共通):タイプ「テキスト」。索引設定済み。計算値「$CURRENT_CUSTOMER_ID」指定。既存値おきかえ。(顧客テーブルだけ「$$CURRENT_CUSTOMER_ID」です)

※売上帳テーブルの顧客名を変えると、ポータル内のデータも変わるように設定しています。顧客名と日付の範囲でポータルの内容にフィルタがかかるようにしています。

ほか、こまごまとしたものがありますが、ポータルに関係ありそうなのは以上です。
ご確認よろしくお願いいたします。

Offline

#6 2017-04-11 13:42:09

チポ
Member

Re: ポータルに一部日付が表示されない

テーブル定義でテーブルを増やすのではないですよ。
リレーションシップグラフで、テーブルを選択して複製します。

ですから、実質のテーブル構成は元のままです。

Offline

#7 2017-04-11 14:11:52

yumihira
Member

Re: ポータルに一部日付が表示されない

チポ様

ご連絡ありがとうございます!
すみません、書き方が悪かったです。テーブルが増えるわけではないのはわかっているのですが、上司に「データが格納されている場所は1箇所だけだ」と言われていたので、できれば1箇所だけにしたかったのです。
初心者なのでそのへんまだよくわかっていないのですが、テーブルを選択して複製=データを収めている場所が増えるわけではないってことでしょうか?
なお、データテーブルを複製し、データ2と売上帳を伝票IDで「=」でリレーションしてみました。売上帳のポータルの内容もすべて「データ2」に変更したところ、「データテーブル」に入力したデータは表示されませんでした。なので、データテーブルに入力したデータがそのままデータ2にも表示されるわけではないのかと思いました。それとも、リレーションがおかしいのでしょうか・・・。

Offline

#8 2017-04-11 15:09:47

yumihira
Member

Re: ポータルに一部日付が表示されない

追記です。
伝票IDと日付フィールドの関連づいているテーブルを変えてためしたところ、以下のとおりとなりました。

<<伝票ID、日付ともに納品書テーブル>>
データテーブル(表形式)・・・いずれも問題なく表示される
売上帳テーブル・・・いずれも同じデータ(IDは0001だけ、全て同じ日付4/1)が表示される

<<伝票ID、日付ともにデータテーブル>>
データテーブル(表形式)・・・伝票IDは問題なし。日付は一部のみ(最初の欄のみ)表示される
売上帳テーブル・・・伝票IDは問題なし。日付は一部のみ(最初の欄のみ)表示される

上記のような状況となります。
どうぞ、よろしくお願いいたします。

Offline

#9 2017-04-11 17:10:54

チポ
Member

Re: ポータルに一部日付が表示されない

> データが格納されている場所は1箇所だけだ
リレーションシップグラフでテーブルを複製しても、
データは一つだけで変わりません。

> テーブルを選択して複製=データを収めている場所が増えるわけではないってことでしょうか
その通りです。


しかし、
テーブル構成がよく分かりません。

データテーブル
  売上げ伝票の明細(納品書の1行を1レコード)

納品書テーブル
  納品1回分を1レコード

顧客名簿
  顧客1件を1レコードの顧客マスタ

でいいのでしょうか?


売上帳テーブル
  ???分かりません

Offline

#10 2017-04-11 17:36:14

yumihira
Member

Re: ポータルに一部日付が表示されない

チポ様

ご返信ありがとうございます!
わかりづらくて申し訳ありません。。。。

データテーブル:売上伝票の明細で納品書に挿入しているポータル1行で1レコードであっています。表形式で表示させることもあります。
納品書テーブル:顧客および日付で1レコードです。(例:A会社4/1分で1レコード、B会社4/1分で1レコード、A会社4/2分で1レコード)
顧客名簿:顧客1件を1レコードの顧客マスタであっています。
売上帳テーブル:基本的には顧客名と日付範囲(開始日と終了日)で1レコードですが、顧客名と日付範囲を変更することでポータルの内容も変更できるようにもなっています。

チポ様のおっしゃるとおり、テーブルを選択して複製=データを収めている場所が増えるわけではないってことは、テーブルを複製してもポータルにはちゃんとデータが表示されるますよね。。
私のやり方と理解が間違っていることは間違いなさそうです。
もっといろいろと試してみます。

Offline

#11 2017-04-11 18:07:43

チポ
Member

Re: ポータルに一部日付が表示されない

> 売上帳テーブル:基本的には顧客名と日付範囲(開始日と終了日)で1レコードですが、
> 顧客名と日付範囲を変更することでポータルの内容も変更できる

期間が、締め月の様に一定のものでしたら、
それごとの1レコードとして、
リレーションの照合で絞り込めば、それごとの合計、消費税、入金等の管理が出来ますね。


リレーションシップグラフのヘルプのリンクです
http://www.filemaker.com/help/14/fmp/ja … html#61510

わかりづらい日本語ですが、
ぜひテーブルオカレンスを理解してください。

Offline

#12 2017-04-11 19:33:29

wader
Member

Re: ポータルに一部日付が表示されない

入力用の納品書レイアウトで日付がポータル内にないから、データテーブルでは関連レコードの最初のにしか入ってないのでしょう。
全部同じ日付で入れるなら、日付もリレーションにすればいいのでは。

Offline

#13 2017-04-12 11:18:05

yumihira
Member

Re: ポータルに一部日付が表示されない

チポ様

返信が遅くなり申し訳ありません。
ご連絡ありがとうございます!

まだまだテーブルオカレンスやリレーションについては勉強不足です・・・。
リンクありがとうございます!
もっと勉強しますね。
アドバイスありがとうございました!

Offline

#14 2017-04-12 11:20:01

yumihira
Member

Re: ポータルに一部日付が表示されない

wader様

返信が遅くなり申し訳ありません。
ご連絡ありがとうございます!

日付もリレーションにすると、他の項目が消えたりしてしまうんです・・・。
まだまだリレーションについても勉強不足なので、おそらく設定を間違っているとは思うのですが。
もっと勉強します。
アドバイスありがとうございました!

Offline

#15 2017-04-13 16:57:33

yumihira
Member

Re: ポータルに一部日付が表示されない

いろいろと試し、無事に解決しました。
考え方として、「伝票ID:Aの場合、日付にBを返す」を実践したいと思い試行錯誤した結果、日付フィールドに伝票IDを計算値として入力したところうまくいきました!
そのため、こちらのカテゴリは解決済みにいたします。
チポ様、shin様、wader様、ありがとうございました!

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.014 seconds, 9 queries executed - Memory usage: 568.84 KiB (Peak: 589.75 KiB) ]