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

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

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

You are not logged in.

Announcement

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


#1 2017-11-18 19:49:03

ダーツ
Member

フィールドに入力された日付

いつもありがとうございます。

FM12アドバンス Win7で利用しております。
フィールドAに入力されたらフィールドBに入力された日付が反映されるようにしたいのですが

If(フィールドA≠””;◎◎◎)の計算式だと思うのですが
◎◎◎の部分 Get(日付)にすると日が変わってしまいますが
◎◎◎の部分はどのようにすればよろしいでしょうか?

また計算式として
If(フィールドA≠””;◎◎◎)以外のやり方はあるでしょうか?

ご教授お願いいたします。

Offline

#2 2017-11-18 22:43:46

Shin
Member

Re: フィールドに入力された日付

ちょっと高度になりますが、
Evaluate ( "Get ( 日付 )" ; A )
とすればいいです

Offline

#3 2017-11-19 12:03:08

ダーツ
Member

Re: フィールドに入力された日付

Shin様いつもありがとうございます。

受信日というフィールドが別にありまして。
受信日が2017年11月19日以降でなおかつフィールドAに入力された日をBに
反映させたいのですが

If ( 受信日 ≥ 2017/11/19;Evaluate ( "Get ( 日付 )";A))
この計算式にしても
受信日が11月19日より前の日付の分もAに入力されてる場合 Bに日付が反映されてしまいます。
2017/11/19がテキストと認識されてるからでしょうか?

受信日のフィールドのタイプは日付にしてます。

以上ご教授お願いいたします。

Offline

#4 2017-11-19 23:30:31

Shin
Member

Re: フィールドに入力された日付

If ( 受信日 ≥ GetAsDate ( "2017/11/19" ) ; Evaluate ( "Get ( 日付 )" ; A ) )
にするとどうでしょう。

Offline

#5 2017-11-20 09:54:58

チポ
Member

Re: フィールドに入力された日付

始めに戻りますが、、

> フィールドAに入力されたらフィールドBに入力された日付が反映されるようにしたい
フィールドAに入力
とは?
最初に入力後、編集された場合はどうしたいのでしょう?

> If(フィールドA≠””;◎◎◎)
これだとフィールドAを消去すると日付も消えますが、

> Evaluate ( "Get ( 日付 )" ; A )
これは日付が更新されます。


また、
> ◎◎◎の部分 Get(日付)にすると日が変わってしまいますが
索引保存にすれば、
フィールドAをいじらなければ入力された日付が変わることはありません。

Offline

#6 2017-11-20 14:33:47

ダーツ
Member

Re: フィールドに入力された日付

Shin様ありがとうございます。
一度やってみます。

Offline

#7 2017-11-20 14:40:41

ダーツ
Member

Re: フィールドに入力された日付

チポ様ありがとうございます。

最初から再度説明させていただきますと
まず1レコード1顧客名のレコードを元にお客様にインターネットの電話で案内をしてるのですが
その際にお客様に案内する項目が何点かあるのですがその案内をしたらフィールドAにチェックを入れるのですが
受信日(レコード作製日)が2017年11月19日以降で
そのチェックをいれた日をフィールドBに出るようにするにはどうすればいいかをご教授いただければと思います。
フィールドBの日付は1度入るとフィールドAをいじっても日付は変更にならない方法です。

Offline

#8 2017-11-20 14:52:21

ダーツ
Member

Re: フィールドに入力された日付

Shin様

If ( 受信日 ≥ GetAsDate ( "2017/11/19" ) ; Evaluate ( "Get ( 日付 )" ; A ) )にしましたら
フィールドA空欄でもフィールドBに日付が入ります。

Offline

#9 2017-11-20 15:45:50

Shin
Member

Re: フィールドに入力された日付

> 受信日(レコード作製日)が2017年11月19日以降で
は、今日以降で作成日が11月18日以前になることはないので、この条件は必要ですか。
それとも、フィールドB に作成日以降のみを入れる、という意味でしたら、制限は不要でしょう

フィールド B を、単に Evaluate ( "Get ( 日付 )" ; A ) にしておき、フィールドA の入力制限で、計算値に フィールドA を設定し、常時制限にして、ユーザーによる上書きを禁止 しておきます。
フィールドA のチェックを外そうとすると、フィールド復帰するしかなくなり、フィールドB も同時に復帰します。<きれいな動きでは無いですが。>
トリガーでスクリプトを使ってコントロールする方法も作れます。
https://www.dropbox.com/s/q2u6cltclpily … 7.zip?dl=0

Offline

#10 2017-11-20 16:18:07

チポ
Member

Re: フィールドに入力された日付

> フィールドBの日付は1度入るとフィールドAをいじっても日付は変更にならない方法
ならば、
入力値の自動化でダーツさんが最初に挙げられた計算式でいいのでは。

Offline

#11 2017-11-21 10:26:46

ダーツ
Member

Re: フィールドに入力された日付

Shin様 チポ様 いつもありがとうございます。

Get ( 日付 )の結果が日が変わるごとに勝手に更新されると思い込んでました・・・

If ( 受信日 ≥ GetAsDate ( "2017/11/19" );If ( A ≠ "";Get ( 日付 ) ) )で解決しました。
ありがとうございます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.013 seconds, 9 queries executed - Memory usage: 522.56 KiB (Peak: 527.47 KiB) ]