マスクエディットでMaxLengthを指定して数値を桁区切りすると表示が1文字分消えてしまわないようにするには?

解決


ごんぞー  2003-07-31 19:10:24  No: 107931

初心者PGです。

別のレスでも聞いたのですが、
マスクエディットのformatを #,##0 にして、MaxLengthを4で指定、
フォーカスがあるときに入力すると 9999 と4桁表示されますが、
フォーカスを移すと、9,99 で4桁の表示になってしまい、
一番右の1文字分消えてしまいます。
MaxLengthを5にすると、フォーカスがない場合は9,999となりますが、
これでは4バイトしか受け付けないところに、
5バイト入力できることになってしまいます。

Oracleにデータを追加するためこの値をそのまま取り込んでいて、
データ自体は最初の方では4桁なので問題はないのですが、
あまりよいものではないので
どなたか良い方法をお知りでしたら
教えてください。


Say  2003-07-31 20:15:53  No: 107932

>MaxLengthを5にすると、フォーカスがない場合は9,999となりますが、
>これでは4バイトしか受け付けないところに、
>5バイト入力できることになってしまいます。

たとえばこう
Private Sub MaskEdBox1_Change()
    If Len(MaskEdBox1.Text) > 4 Then
        MaskEdBox1.Text = Left(MaskEdBox1.Text, 4)
        MaskEdBox1.SelStart = 4
    End If
End Sub


ごんぞー  2003-07-31 21:59:24  No: 107933

返事ありがとうございます。
試してみてところ解決しました。

ありがとうございます。
助かりました。
またよろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加