例えば西暦入力に切り替えようとします
If Not IsNull(Me.雇保加入年月日) Then '//[雇保加入年月日]にデータがあれば下記を実行
With Me.雇保加入年月日
.InputMask = "9999\年99\月99\日;0;"
.Format = "yyyy年m月d日"
End With
End If
新規入力(データがない状態)だと実行されないコードですがそこは大丈夫ですか?
生年月日だけは
Case 1
With Me.生年月日
.InputMask = "9999\年99\月99\日;0;_"
.Format = "yyyy年m月d日"
End With
If Not IsNull(Me.入社月日) Then
で、条件判定がないので常に切り替わります。それぞれのIf
が何をしたいのか確認してみてください
1.和暦でも西暦でもどちらでも入力可能な定型入力型というのはあるのでしょうか?
TextBox.InputMask property (Access)
&&99\年99\月99\日;0;_
で、どちらでも入力できるはずですが実際にどんな入力をするんですか?
通報 ...
hirotonさま>
ありがとうございます。
自分で書いておいて、IFがあるのをすっかり見落としていました…
確かに今私が行いたい挙動にはいらない部分でした。
>&&99\年99\月99\日;0;_
ありがとうございます!
>実際にどんな入力をするんですか?
提出された履歴書を元に入力しますが、履歴書に書かれているデータが和暦だったり西暦だったりするので、どちらでも入力できるようにしたいと希望があったのです。
おかげさまでどちらでも入力できるようになりました。
ありがとうございます。
ちなみになのですが、年月のみの表示(卒業年月など)のデータで
オプショングループを選択しない状態でも入力することもあるのですが、
入力されたデータの書式(西暦か和暦)通りの書式で
yyyy年m月かge年m月と表示することはできるのでしょうか?
(現在は入力は上記のように自由に選べますが、入力後フォーカスが移動したら、入力がどのような書式だったとしても、表示は指定の書式の表示になります)
もしご教示いただけたら助かります。
よろしくお願いします。