MS Access:入力文字数を制限する(半角:1,全角:2で)
テキストボックスに入力された文字数を半角=1Byte,全角=2Byte と計算して指定Byte数を超えた文字列を削除する。
関数として定義。
Function LimitedString(inString As String, LenMax As Byte) As String
'
'
' テキストボックスに入力された文字列の,文字数を制限する。
' 全角文字を2,半角文字を1と計算する。
' 全角文字の 2byte 中最後の 1byte が、文字数制限を超えたときは,
' 最後の全角文字を削除する。
' 引数)
' InString : 入力済み文字列
' LenMax : 制限するByte数
'
' 返り値)
' 制限数で後ろが切り取られた文字列
'
'
Dim WorkStringUni As String
Dim WorkStringSys As String
WorkStringUni = inString
If LenB(StrConv(WorkStringUni, vbFromUnicode)) > LenMax Then
WorkStringSys = StrConv(WorkStringUni, vbFromUnicode)
WorkStringSys = LeftB(WorkStringSys, LenMax + 1)
WorkStringUni = StrConv(WorkStringSys, vbUnicode)
WorkStringUni = Left(WorkStringUni, (Len(WorkStringUni) - 1))
End If
LimitedString = WorkStringUni
End Function
呼出しは
MaxTxtBytes = 40
If TxtString <> "" Then
TxtString = LimitedString(TxtString, MaxTxtBytes)
End If
で、文字列のNull チェックをして呼び出す。
レポートがらみのテキストボックスへの入力で、半角全角文字の混在で使用したい時、決められた横幅一杯に半角文字を入れたい時、フォームの入力段階(更新後処理イベント)で使用する。
どこかのサイトで紹介されていたものが、旨く処理できなかったので改良したもの。つまり、あらかたパクリ。
どこかのサイト様、ごめんなさい。
どこのサイトだったか・・・・?
関数として定義。
Function LimitedString(inString As String, LenMax As Byte) As String
'
'
' テキストボックスに入力された文字列の,文字数を制限する。
' 全角文字を2,半角文字を1と計算する。
' 全角文字の 2byte 中最後の 1byte が、文字数制限を超えたときは,
' 最後の全角文字を削除する。
' 引数)
' InString : 入力済み文字列
' LenMax : 制限するByte数
'
' 返り値)
' 制限数で後ろが切り取られた文字列
'
'
Dim WorkStringUni As String
Dim WorkStringSys As String
WorkStringUni = inString
If LenB(StrConv(WorkStringUni, vbFromUnicode)) > LenMax Then
WorkStringSys = StrConv(WorkStringUni, vbFromUnicode)
WorkStringSys = LeftB(WorkStringSys, LenMax + 1)
WorkStringUni = StrConv(WorkStringSys, vbUnicode)
WorkStringUni = Left(WorkStringUni, (Len(WorkStringUni) - 1))
End If
LimitedString = WorkStringUni
End Function
呼出しは
MaxTxtBytes = 40
If TxtString <> "" Then
TxtString = LimitedString(TxtString, MaxTxtBytes)
End If
で、文字列のNull チェックをして呼び出す。
レポートがらみのテキストボックスへの入力で、半角全角文字の混在で使用したい時、決められた横幅一杯に半角文字を入れたい時、フォームの入力段階(更新後処理イベント)で使用する。
どこかのサイトで紹介されていたものが、旨く処理できなかったので改良したもの。つまり、あらかたパクリ。
どこかのサイト様、ごめんなさい。
どこのサイトだったか・・・・?
スポンサーサイト