• ベストアンサー

Access フォーム入力規制

Accessのフォームで入力規制をする場合、 入力規制に LenB([フォーム名])<=10 のような記述をすれば 10文字まで規制できますが、漢字1つを1文字として規制はできないのでしょうか? 例えば、「田中」これは3文字として扱われますが実際に規制したいのは漢字2文字です。

質問者が選んだベストアンサー

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

フォームに入力規則はありませんよ(入力規制もね) したがって >LenB([フォーム名])<=10 こんな書き方は出来ません フォームじゃなくテキストボックスでしょうか だとしても >「田中」これは3文字として扱われますが これも >LenB([フォーム名])<=10 のような記述をすれば10文字まで規制できますが これも変ですね Accessのバージョンが書かれていませんが2000以降はユニコードですから 文字は全部2バイト、従って LenB([フィールド名])<=10 なら5文字 LenB("田中") は4となります。3なんて数字は出て来っこないですよ 2文字としたいのであれば普通にLenを使えばいいのでは 漢字なのか他の文字なのかの判定はまた別の話になりますね

sskj
質問者

お礼

ありがとうございます。 フォームではなくテキストボックスですね^^;

その他の回答 (1)

noname#140971
noname#140971
回答No.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関数を利用してバイト換算で規制しています。

関連するQ&A