Q.文字列型項目に指定桁数分先頭ゼロを埋めたい
ある文字列型項目に、入力された値に対して指定桁数分先頭ゼロを埋め込みたいと考えています。
以下マニュアルの「LPAD」関数を自動計算式に適用すれば良いと考えましたが、自動計算式を設定してしまうと
読み込み専用となってしまい、値の入力ができなくなってしまいます。
https://wagby.com/manual9/function-string.html
入力可能かつ、指定桁数分先頭ゼロ埋めする方法はないでしょうか?
【回答】
以下の2通りの方法で実現が可能です。
以下のモデルがあるとします。
モデルA(modelA)
主キー(pkey):数値型
項目1(item1):文字列型
<方法1>
「初期値」を利用する方法となります。
初期値の「登録時」のタイミングで「LPAD(${item1})」という式を設定します。
※初期値に関数を用いる場合は種類に必ず「自動計算式」を設定して下さい。
https://wagby.com/manual9/initvalue.html
<方法2>
登録時のスクリプトで代用する方法となります。
wagbydesignerの該当モデルの
画面 > スクリプト > ヘルパ > 登録時
のタイミングに以下のスクリプトを記述します。
===
var item1 = modelA.item1;
var lpad_item1 = ExcelFunction.LPAD(item1, 6, "0");
modelA.item1 = lpad_item1;
===
https://wagby.com/wdn9/operation-script-excelfunction.html
上記以外にも右側にゼロ埋めを行う「RPAD関数」もございます。