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

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

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

You are not logged in.

Announcement

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


#1 2015-07-01 23:24:47

tester
Guest

カレンダーについて

いつも勉強させて頂いております。
さてイマイチわからないカレンダーについて、やっとこ勉強してみようと思い始めたのですが
根本的に理解できてない感じなので、お教え頂けますでしょうか?
(カレンダーといいつつ、理解を深めるために徐々にテストしていって試そうと思ってます。)

カレンダーテーブル
項目:G日付(タイプ:日付:グローバル)
項目:繰返日(タイプ:計算:繰返数7:グローバル) 式=Extend(G日付)+Get(計算式繰り返し位置番号)-1
項目:繰内容(タイプ:計算:繰返数7:非保存) 式=Extend(フォロー::内容)

フォローテーブル
項目:ID(タイプ:数字:シリアル自動作成)
項目:日付(タイプ:日付)
項目:内容(値一覧:A,B,C,D,E,F,G)

リレーション ⇒ カレンダー::繰返日 = フォロー::日付

---
現在カレンダーテーブルでG日付に2015/07/01と入力すると、繰返日が想定どおりに動いています。
フォローテーブルで、
・1レコード目:日付フィールドに2015/07/01 , 内容A
・2レコード目:日付フィールドに2015/07/02 , 内容B
・・・7レコード分作成
---

しかし、カレンダーテーブルの内容に、繰返しでフォロー::内容が、2015/07/01の項目が
全ての繰内容に転記されるだけで、リレーションでおこなった日付通りになりません。
実際リレーションが生きていないというか、何か足りない気はするのですが
そもそも考え方を間違っている気がするのですが、こういう場合、どういう形に考えればいいのでしょうか?

#2 2015-07-02 00:29:17

旅人
Member

Re: カレンダーについて

フォローテーブルに
  項目 : 日付変換 (タイプ:計算:繰返数7 式=Extend(フォロー::内容)
を作って

カレンダーテーブルは
  項目:繰内容(タイプ:計算:繰返数7:非保存) 式=Lookup(フォロー::日付変換)
にしてみて。

Offline

#3 2015-07-02 01:40:15

tester
Guest

Re: カレンダーについて

旅人様、出来ました!ありがとうございます。
ただなぜ出来たのか?式を見ても理解できず・・・ExtendやLookup関数の使い方が理解出来てなくて、
使い方を間違ってるんですね、私。。ううーん

#4 2015-07-02 11:16:21

旅人
Member

Re: カレンダーについて

フィールド名が変でしたね。
日付変換 →内容変換

Offline

#5 2015-07-02 23:50:19

tester
Guest

Re: カレンダーについて

旅人様、先日はありがとうございます。今日いろいろと理由を考えたのですが
理解できなかったため、質問してもいいでしょうか?
*勉強中ですので的外れ、初歩的な事をお聞きするかもしれませんがすいません。。

1:まず私の中でリレーションとは、関連するデータのみを絞込むという感覚です。
  その為、私の中では今回のリレーション ⇒ カレンダー::繰返日 = フォロー::日付 で
  日付を絞りこんだ先のフォロー::内容を取ってこれると思ったのですが

  なぜ出来なかったのでしょうか?
 
  またなぜ 内容変換 (タイプ:計算:繰返数7 式=Extend(フォロー::内容)
  で計算フィールドで繰返数7 として設定すると取得できるのでしょうか?

2:Extend関数は非繰返フィールド値を取得して繰返フィールド値として使うと理解できましたが、
  Lookup関数がヘルプも見てみたのですが、いまいち理解できません。
  これは、どういった用途があるのでしょうか?

#6 2015-07-03 23:45:27

旅人
Member

Re: カレンダーについて

カレンダーの繰返日フィールドが繰り返しのため、これでリレーションしても
1行目の関連レコードしか参照されません。自動入力のルックアップにすると
参照できますが、元値が変わると再ルックアップが必要になります。
Lookup関数を使うと結果を非保存にできますが、Lookup計算されるフィール
ドが繰り返しなので、参照されるフィールドも繰り返しもどきに変換する必要
があります。

Offline

#7 2015-07-04 19:55:28

tester
Guest

Re: カレンダーについて

旅人様、ありがとうございます。
なんとなく理解できました。繰返し計算フィールドにLookupする場合、
擬似的に参照元も繰返しにする必要があるのですね。

勉強になりました。
ありがとうございます。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 10 queries executed - Memory usage: 513.13 KiB (Peak: 517.66 KiB) ]