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

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

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

You are not logged in.

Announcement

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


#1 2020-04-10 10:39:48

tateyahn
Member

リレーションシップについて

pro18 Advancedを使用している初心者です。
リレーションシップの方法について教えてください。
例えば
1月3日の本日の日報に、【本日の予定】と【明日の予定】のテーブルをつくります。
【本日の予定】の項目(フィールド)に、前日の1月2日に書かれた【明日の予定】の同項目が自動で入力されるように作りたいと考えています。

現状
本日の日報のリレーションシップにおいて、本日の予定の項目と、明日の予定(前日)の項目を=で結び付けことはできました。
しかし、それをどのようにして動かすのかが分かりません。

ヘッダの項目の【新規作成】ボタンは作れていますが、ボタンを押すとファイル名の選択からの新規➡作成になり、日報自体の作成もできていません
新規作成のスクリプトの条件はスクリプト実行で【新規レコード/検索条件】で設定しています。

細かいことで申し訳ありませんが、御指南いただけますと幸いです。
よろしくお願いいたします。

Offline

#2 2020-04-10 11:34:04

ウィン
Member

Re: リレーションシップについて

まずリレーションの概念についてもう少し勉強する必要性がありますね。

現状ではリレーションを組む必要がないと思います。物凄いシンプルな作りになりますが、
1つのテーブル(日報)に3つのフィールドを作ります。

日付(日付フィールド)日付自動入力でも問題ありません。
本日の予定フィールド(テキスト)
明日の予定フィールド(テキスト)

本日の予定フィールドにフィールドオプションで計算値自動入力の計算値にチェックを入れます。

スクリプト
Case ( IsEmpty ( 本日の予定 ) ; GetNthRecord ( 明日の予定 ; Get( レコード番号 ) - 1 ) ; ”” )

新規レコードを作成した時に本日の予定が空だった場合、一つ前のレコードから明日の予定で入れていたデータを取得して本日の予定に入れてください。という命令になります。

Offline

#3 2020-04-10 11:42:45

ウィン
Member

Re: リレーションシップについて

サンプル
http://frds.html.xdomain.jp/fmp/%E6%9C% … 0%B1.fmp12

Last edited by ウィン (2020-04-10 11:42:59)

Offline

#4 2020-04-10 11:54:16

チポ
Member

Re: リレーションシップについて

> 【本日の予定】と【明日の予定】のテーブルをつくります。
二つのテーブルは不要でしょう。
一つで十分ですよ。

リレーションは
  日付 > 日付 (日付の降順でソート指定)

これで直前の日付のレコードを参照できます。

Offline

#5 2020-04-10 12:22:02

ウィン
Member

Re: リレーションシップについて

一つのテーブルにリレーション??って思うでしょうが、自己リレーションと言うやり方があります、
テーブルオカレンスで1つのテーブルに作った日付を外側にドラックして、元の日付にドロップすると組むことができます。

Offline

#6 2020-04-10 13:03:16

Shin
Member

Re: リレーションシップについて

初心者にはちょっと難しいでしょうかね。前のスレッドに出した
https://www.dropbox.com/s/tma4vn3anxg1n … 2.zip?dl=0
ですと、翌日の予定を入力するだけで翌日のレコードが作られていきますので、新規レコードを作成など何もする必要がないのですが。
また、翌日を求める日付フィールド以外は、フィールドの設定も必要ありません。

Last edited by Shin (2020-04-10 13:06:17)

Offline

#7 2020-04-10 15:30:57

tateyahn
Member

Re: リレーションシップについて

皆様いつもありがとうございます!!
ご丁寧な内容に感動いたしました。
試しながら学んでいきます。
本当にありがとうございました!

Offline

#8 2020-04-10 17:20:57

ウィン
Member

Re: リレーションシップについて

過去の投稿を拝見しました。3月下旬からずっとお悩みのようでしたね…
スクリプトステップでやったらいいのか、計算フィールドで計算させるのか、リレーションのみで表現するのか、今までの経緯からすると迷い悩み続けていたことが伺えました。

私自身もそうでしたが、出来る人からすれば簡単なことでも、わからないものはわからないですものね。解決を早くする為には出来るだけわかりやすくどんなものが欲しいのかを伝えながらディスカッションをしていくことですね。
皆さん優しい人ばかりです。困難があったとしても諦めずに頑張れば、理解が深まり、楽しみながら理想のものが出来上がってきますよ。

スクリプトワークスペースからのスクリプトと計算フィールドで使うスクリプトは似て非なるものと捉えていた方が良いでしょう。またテーブルとフィールド、テーブルオカレンスとは何なのかも調べることをお勧めします。
https://www.youtube.com/watch?v=CPfV89wWT04
この動画が大変わかりやすかったです。

Offline

#9 2020-04-23 15:29:38

tateyahn
Member

Re: リレーションシップについて

身に染みるお言葉をありがとうございました!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 568.13 KiB (Peak: 588.02 KiB) ]