Access2003のテキストボックスには、MaxLengthプロパティがありません。変わりに以下のような、コードで対応しようと試みたのですが、いまいち動きが悪いのです。以下のコードは、最大4桁までテキストボックスに入力可能とします。
Private Sub txtBox_KeyPress(KeyAscii As Integer)
If Len(txtBox.Text) > 3 Then
KeyAscii = 0
End If
End Sub
最大入力桁数4桁を実現していますが、4桁入力後『Insert』キーを押下して、上書きモードでの修正ができません。
以下例1はOKですが、例2が実現できません。
例1:1回目新規入力『12』 ⇒ 2回目修正『123』⇒3回目修正『1234』
例2:1回目新規入力『1234』 ⇒ 2回目修正『9999』
VBのMaxLengthプロパティのようなことはできないのでしょうか?
ありがとうございます。
入力規則は使用したくはなかったのですが、
あなたの、おっしゃる『SelLength』を追加して、『MaxLength』を完璧に実現できました!(と思う)
以下のコードは、バックスペースを考慮したものです。
Private Sub txtBox_KeyPress(KeyAscii As Integer)
’バックスペースは対象外
If KeyAscii <> 8 Then
If Len(txtBox.Text) > 3 Then
If txtBox.SelLength = 0 Then
KeyAscii = 0
End If
End If
End If
End Sub
お礼
ありがとうございます。 入力規則は使用したくはなかったのですが、 あなたの、おっしゃる『SelLength』を追加して、『MaxLength』を完璧に実現できました!(と思う) 以下のコードは、バックスペースを考慮したものです。 Private Sub txtBox_KeyPress(KeyAscii As Integer) ’バックスペースは対象外 If KeyAscii <> 8 Then If Len(txtBox.Text) > 3 Then If txtBox.SelLength = 0 Then KeyAscii = 0 End If End If End If End Sub