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

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

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

You are not logged in.

Announcement

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


#1 2023-09-23 12:29:31

たき
Member

日付の変更方法

FM19
win11

レコード作成時に日付フィールドに本日の日付が入力されていて(例 2023/09/23)、日付全体が選択されている状態で、そのフィールドを例えば数字の18とかにした場合に2023/09/18みたいに変更することはできるのでしょうか?他に例えば日付フィールドが選択されている状態から811とした時に2023/08/11となるような感じです。

これまで変数を使いながら日付を変更してできるだろうと思ったのですが、結果日付フィールドが”?”になってしまってうまくできませんでした。

Offline

#2 2023-09-23 14:55:21

himadanee
Guest

Re: 日付の変更方法

111とした時に1/11なのか11/1なのか判別不可能です。

#3 2023-09-23 16:33:56

たき
Member

Re: 日付の変更方法

ご連絡ありがとうございます。確かにそうなりますね。素直に文字を消してからの入力というやり方でやったほうがよさそうですね。

Offline

#4 2023-09-24 16:32:54

himadanee
Guest

Re: 日付の変更方法

2桁なら日のみ、3桁4桁なら月日と解釈して、判別不能の場合は聞いてくる、とか厳密に動作を規定すればスクリプトが作れるでしょうけど、計算では無理ですね。
その動作というか入力ルールをユーザに覚えさせるより、フィールドに入ったときに全体が選択されないようにするとか、カレンダーを使う方が直感的な気がします。

変数を設定[$n;Get(アクティブフィールド内容)]
元に戻す
変数を設定[$d;Get(アクティブフィールド内容)]
フィールド設定[Date(Month($d);$n;Year($d))]
というスクリプトをonObjectValidateで動かすと、変数$nにはちゃんと入力した「日」が入ってるのに、なぜかフィールド設定で0として扱われて前月末の日付しか入りません。
フィールド設定[GetAsDate(Year($d)&"/"&Month($d)&"/"&$n)]
にするとちゃんと入ります。謎過ぎる...

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 504.05 KiB (Peak: 514.68 KiB) ]