再びmaruru01です。
文字を入力するごとにチェックするのであれば、やはり変更時イベントだと思います。(10文字以内の制限とする)
Private Sub テキストボックス_Change()
Dim temp As String
temp = Me!テキストボックス.Text
If Len(temp) > 10 Then
MsgBox "文字数オーバー"
With Me!テキストボックス
.Text = Left(temp, 10)
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End Sub
普通にLen関数を使えば、全角半角関係なく1文字と数えます。
では。
こんにちは。maruru01です。
VBでは入力文字数を制限する、「MaxLength」というプロパティがありますが、確かAccessにはそれに該当するプロパティは無かったような気がします。
したがってテキストボックスのキー入力時イベント(KeyPressイベント)に以下のようにするとかですね。(例では10文字以内に制限)
Private Sub txt高さ_KeyPress(KeyAscii As Integer)
If Len(テキストボックス.Text) >= 10 Then
MsgBox "文字数オーバー"
KeyAscii = 0
End If
End Sub
この場合11文字目をキー入力することが出来なくなります(入力が取り消される)。
ただし、コピペした場合はその限りではありません。
その場合は、変更時イベント(Changeイベント)で文字列長をチェックして、前から10文字を越える分をカットして表示するとかですかね。
では。
補足
全角半角混在していてもチェックが出来るようにしたいのです。 更新前処理イベントでは、文字チェックだけを行い 参考ホームページ以外で文字の桁数の制限を行いたいのですが 何か方法はありませんか。 参考ホームページ http://www.geocities.co.jp/Milkyway-Kaigan/3714/access_support/ac97/1997_4_8_ac97_2.htm http://www.users.gr.jp/ml/archive/access/6377.asp