#122 入力された値を常にマイナスにするには? フォーム、VBA

テキストボックスに常にマイナスの数値だけを入力させたい場合、"入力規則プロパティ"を使ってプラスの数値の入力を制限するという方法があります。しかしこの場合、ユーザーがプラスの数値を入力したとき、再度マイナスの数値を入力し直さなければなりません。さらに、入力規則プロパティを設定することによって呼び出されたメッセージボックスで、[OK]ボタンを押すという操作もしなければなりません。

そこで、プラスが入力されてもマイナスが入力されても、自動的にマイナスの値に置き換えてしまうようにすれば、これらの操作をさせずに済みます。

それには、テキストボックスの"AfterUpdate/更新後処理"イベントを利用した、次のようなコードを使います。
Private Sub 金額_AfterUpdate()

  Me!金額 = Abs(Me!金額) * -1

End Sub
これは、「金額」というテキストボックスに入力された値を常にマイナス値にする例です。テキストボックスの内容が更新されると、このイベントプロシージャが呼び出されます。「Abs関数」は引数の値の絶対値を求める組み込み関数です。Abs(Me!金額) によって、いったんすべての値をプラスにします。金額に"1000"が入力された場合も、"-1000"が入力された場合も、"+1000"に置き換えられます。そして最後に、それに -1 を掛けることによってマイナスにします。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved