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

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

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

You are not logged in.

Announcement

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


#1 2014-04-03 14:15:15

me
Guest

各地をまわる営業さんのホテル選択で(2)

https://fm-aid.com/bbs2/viewtopic.php?pid=8225
の関連です。よろしくお願いします。


日付、店、営業、ホテルの入るレコードがあります。

店と営業の組み合わせが同じならホテルも同じ場合が多いですので、
過去の記録からコピーさせたいと考えています。

日付>日付
営業=営業
店=店

で自己リレーションして参照したいのですがうまくいきません。

原因としては、レコードは日付分すべてを作成しているのですが、
営業さんが月末~月初にかけて1週間ほどまとまった休暇があるため、
店と営業の空白レコードが存在するためです。

空白以外の一番最後の記録を参照するにはどのようにすればよいでしょうか。

#2 2014-04-03 14:25:03

Re: 各地をまわる営業さんのホテル選択で(2)

店と営業の組み合わせからホテルを取得したいだけなら、日付のリレーションキーは無くてもいいのではないでしょうか?
リレーションのソートオプションで日付を降順にしたら関連レコードの最初のレコードは日付が直近になります。

Last edited by 通りすがり (2014-04-03 14:26:13)

Offline

#3 2014-04-03 14:33:25

Hiro
Member

Re: 各地をまわる営業さんのホテル選択で(2)

DB構造よく分かりませんが、こんなこと?

Let(
  #店リスト=List(リレーション::店);
  GetValue(#店リスト; ValueCount(#店リスト))
)

Offline

#4 2014-04-03 14:34:35

tim
Guest

Re: 各地をまわる営業さんのホテル選択で(2)

降順ソートで先頭をとるか
GetValue(List(::ホテル);1)
昇順ソートで最後をとる
Last(::ホテル)

ExecuteSQLがいいかも?

#5 2014-04-03 15:20:24

me
Guest

Re: 各地をまわる営業さんのホテル選択で(2)

すみません、情報が不足していました。
テーブルは下記のようなものです。


●日程作成

日付

営業
ホテル


●日程(ポータル)※自己リレーション

日付>日付
営業=営業
店=店

※当日を含めないためリレーションに日付を含んでいます。


営業さんが(店に紐付く)ホテルに宿泊するのは当日ではなく前日のため、取得するのに難航しています。
つまりリレーションの店=店が間違っているのですが、ちょっとどうして良いかわかりません。

#6 2014-04-07 15:49:08

tim
Guest

Re: 各地をまわる営業さんのホテル選択で(2)

その「前日」は必ず1日前なのだから、前日フィールド(計算、日付-1)を作って、
前日=日付
営業=営業
のリレーションで右::ホテルを参照すれば前日のホテルがわかる。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 512.13 KiB (Peak: 518.34 KiB) ]