[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 とすると、以下のようなスクリプトを作成すれば一括変換できた。

Loop

	# 年を変数に格納し、年部分を削除
	Set Variable [ $YYYY ; Value: Left ( Table::FieldABC ; 4 ) ] 
	Set Field [ Table::FieldABC ; Right ( Table::FieldABC ; Length ( Table::FieldABC ) - 5 ) ] 

	# 月を変数に格納し、月部分を削除
	Set Variable [ $MM ; Value: Case ( Position ( Table::FieldABC ; "月" ; 1 ; 1 ) = 2 ; "0" & Left ( Table::FieldABC ; 1 ) ; Left ( Table::FieldABC ; 2 ) ) ] 
	Set Field [ Table::FieldABC ; Right ( Table::FieldABC ; Length ( Table::FieldABC ) - Position ( Table::FieldABC ; "月" ; 1 ; 1 ) ) ] 

	# 日を変数に格納
	Set Variable [ $DD ; Value: Case ( Position ( Table::FieldABC ; "日" ; 1 ; 1 ) = 2 ; "0" & Left ( Table::FieldABC ; 1 ) ; Left ( Table::FieldABC ; 2 ) ) ] 

	# 年、月、日の変数を再度フィールドに設定
	Set Field [ Table::FieldABC ; $YYYY & "/" & $MM & "/" & $DD ] 

	Go to Record/Request/Page [ Next ; Exit after last: On ]

End Loop

参考:
Middle
https://help.claris.com/ja/pro-help/content/middle.html

Position
https://help.claris.com/ja/pro-help/content/position.html