- ベストアンサー
Access フォーム入力規制
Accessのフォームで入力規制をする場合、 入力規制に LenB([フォーム名])<=10 のような記述をすれば 10文字まで規制できますが、漢字1つを1文字として規制はできないのでしょうか? 例えば、「田中」これは3文字として扱われますが実際に規制したいのは漢字2文字です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォームに入力規則はありませんよ(入力規制もね) したがって >LenB([フォーム名])<=10 こんな書き方は出来ません フォームじゃなくテキストボックスでしょうか だとしても >「田中」これは3文字として扱われますが これも >LenB([フォーム名])<=10 のような記述をすれば10文字まで規制できますが これも変ですね Accessのバージョンが書かれていませんが2000以降はユニコードですから 文字は全部2バイト、従って LenB([フィールド名])<=10 なら5文字 LenB("田中") は4となります。3なんて数字は出て来っこないですよ 2文字としたいのであれば普通にLenを使えばいいのでは 漢字なのか他の文字なのかの判定はまた別の話になりますね
その他の回答 (1)
Public Function LenH(ByVal TEXT As String) As Integer LenH = LenB(StrConv(TEXT, vbFromUnicode)) End Function X LenB([Forms]![フォーム1]![テキスト0])<=4 X LenH([Forms]![フォーム1]![テキスト1])<=4 O LenH([Forms]![フォーム1]![テキスト1] & "")<=4 私は、LenH関数を利用してバイト換算で規制しています。
お礼
ありがとうございます。 フォームではなくテキストボックスですね^^;