みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
日付フィールドを入力する時に例えば5月10日なら0510といった具合に入力は可能なのでしょうか?
20200510などでも構いません。
事務作業の効率化のためです。
お手数ですが、よろしくお願い致します。
4桁入力なら、
2桁入力後に「/」を入力するスクリプトを作って、
スクリプトトリガ
OnObjectKeyStroke
で実行させればいいでしょう。
8桁でも同様に考えればいいですが、
4桁でも、8桁どちらでもは、
入力した値を見る必要が有りますね。
Offline
チポ様
ありがとうございます。
2桁入力後に「/」を入力するスクリプトとは、具体的にどのように作成すればよろしいでしょうか?
すみませんが、よろしくお願い致します。
If [ Length ( 日付フィールド ) = 2 ]
テキストを挿入 [「/」] ( 内容を選択にチェックを入れない )
End If
このスクリプトをスクリプトトリガ
OnObjectKeyStroke
に指定すればいいでしょう。
しかし、このままでは、
delete(Mac)
Back Space(Win)
キーが2桁のところで効かなくなりますから、
If [ Code ( Get ( トリガ入力 ) ) = 8 ]
現在のスクリプト終了 [結果: 1]
End If
これを最初に入れておいた方がいいでしょう。
このフィールドは半角入力限定です。
Offline
スクリプトは、フィールド設定の1ステップのみでいいでしょう。
フィールド指定はせずに、
Let (
[
arg = Get ( スクリプト引数 ) ;
dt = GetAsDate ( arg ) ;
len = Length ( arg )
] ;
Case (
dt ≠ "?" ; dt ;
len = 3 ; GetAsDate ( Replace ( arg ; 2 ; 0 ; "/" ) ) ;
len = 4 ; GetAsDate ( Replace ( arg ; 3 ; 0 ; "/" ) ) ;
len = 8 ; GetAsDate ( Replace ( Replace ( arg ; 7 ; 0 ; "/" ) ; 5 ; 0 ; "/" ) ) ;
arg
)
)
という計算式を設定値にします。
目的のフィールドに OnObjectValidate のトリガーでそのスクリプトを設定し、スクリプト引数にそのフィールド自身を指定しておきます。
Last edited by Shin (2021-05-10 18:08:41)
Offline
Shinさんのスクリプトで問題なく解決できました。
本当にありがとうございました。
チポさんもアドバイス、ありがとうございました。
今後とも、どうぞ宜しくお願い致します。
Pages: 1
[ Generated in 0.005 seconds, 8 queries executed - Memory usage: 509.35 KiB (Peak: 513.89 KiB) ]