| 2025/11/01(Sat) 15:08:51 編集(投稿者)
ジェダイの桐さんへ
> >#cond( ( #is英字( #sstr([機械No],1,1 ), 1 ) = 0 .or #is数字( #sstr([機械No], >2, 2 ), 1 ) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" ) > > こちらを使おうと思いますが、未完成の場合は、背景白なんて > 事が出来たら嬉しいです。可能でしたらご教示お願い致します。
答えは、
#cond( ( #is英字( #sstr([機械No], 1, 1), 1) = 0 .or #is数字( #sstr([機械No], 2, 2), 1) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" ) + #cond( ([機械No] = #u),"背景色'白'" )
です。
なお、この式は オートINF_Framework が表の【項目の表示条件】を解析して、フォームのテキストボックスの【編集属性式】属性を自動的に設定したものです。
◇ ◇ ◇ ◇ ◇
<注意する点1>
表の【項目の表示条件】 ※1番めと2番めの条件式の順番を入れ替えるとNGです。 ・・・・・・・・・・・・・・・・・・・・・・・・・ 1番め
⇒ [] = #u ⇒ 背景色:白
2番め
⇒ #is英字( #sstr([],1,1 ), 1 ) = 0 .or #is数字( #sstr([], 2, 2 ), 1 ) = 0 .or #文字数( [] ) <> 3 ⇒ 背景色:赤
オートINF_Framework を使用するのであれば、表(.tbx)の【項目の表示条件】だけをセットするだけでOKです。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
後は、オートINF_Framework がテキストボックスの【編集属性式】属性を自動的に設定します。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
つまり、フォームのテキストボックスの【編集属性式】は以下のように設定されます。
#cond( ( #is英字( #sstr([機械No], 1, 1), 1) = 0 .or #is数字( #sstr([機械No], 2, 2), 1) = 0 .or #文字数( [機械No] ) <> 3 ),"背景色'赤'" ) + #cond( ([機械No] = #u),"背景色'白'" )
<注意する点2>
ここでもうひとつ注意があります。
表の【項目の表示条件】の1番めを
背景色:白 から 背景色:継承 に変更してもよさそうですが、
そうすると、
編集属性式が一つもありません。 このまま保存しますか?
が表示されます。
つまり、背景色:継承 は何もしないのと同じなのです。 ・・・・・・・・・・・・・・・・
そうなると、オートINF_Framework がテキストボックスの[編集属性式]属性を自動的に設定しようとしても、
【項目の表示条件】の設定情報が空欄なので何も設定できないのでした。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
(例) ([]=#u) , (#is英字( #sstr([],1,1), 1 ) = 0 .or #is数字( #sstr([], 2, 2), 1 ) = 0 .or #文字数( [] ) <> 3) CB3 ↑ 背景色"CB"のカラーコードが空 ・・・・・・・・・・・・・・
というご注意です。(^^ゞ
|