[FileMaker]「2021年1月29日」を桁数を揃え表記を変える
FileMaker で例えば「2021年1月29日」と入力されているテキストフィールドを、「2021/01/29」のように書き換えたい状況になった。表記を変えるだけでなく、月や日が1桁の場合頭に0を付け加えている。
環境:macOS Catalina Version 10.15.6(英語環境)・FileMaker Pro 18 Advanced
やや強引な方法だがやり方を見つけた。
対象のテーブル名を Table、フィールド名を FieldABC とすると、以下のようなスクリプトを作成すれば一括変換できた。
1Loop
2
3 # 年を変数に格納し、年部分を削除
4 Set Variable [ $YYYY ; Value: Left ( Table::FieldABC ; 4 ) ]
5 Set Field [ Table::FieldABC ; Right ( Table::FieldABC ; Length ( Table::FieldABC ) - 5 ) ]
6
7 # 月を変数に格納し、月部分を削除
8 Set Variable [ $MM ; Value: Case ( Position ( Table::FieldABC ; "月" ; 1 ; 1 ) = 2 ; "0" & Left ( Table::FieldABC ; 1 ) ; Left ( Table::FieldABC ; 2 ) ) ]
9 Set Field [ Table::FieldABC ; Right ( Table::FieldABC ; Length ( Table::FieldABC ) - Position ( Table::FieldABC ; "月" ; 1 ; 1 ) ) ]
10
11 # 日を変数に格納
12 Set Variable [ $DD ; Value: Case ( Position ( Table::FieldABC ; "日" ; 1 ; 1 ) = 2 ; "0" & Left ( Table::FieldABC ; 1 ) ; Left ( Table::FieldABC ; 2 ) ) ]
13
14 # 年、月、日の変数を再度フィールドに設定
15 Set Field [ Table::FieldABC ; $YYYY & "/" & $MM & "/" & $DD ]
16
17 Go to Record/Request/Page [ Next ; Exit after last: On ]
18
19End Loop
参考:
Middle
https://help.claris.com/ja/pro-help/content/middle.html
Position
https://help.claris.com/ja/pro-help/content/position.html