• ベストアンサー

【Access2010】 改行数および文字数の制限

下記リンクを参考に、更新前処理とキー入力時に改行数の制限をかけました。 ※テキストボックス名「申請理由」 参考リンク → http://www.accessclub.jp/bbs3/0064/superbeg24259.html ここに、さらに1行当たりの文字数を「35」(バイト数70)という制限を追加したいのですが、どうすればよろしいでしょうか?

  • KO1014
  • お礼率97% (536/551)

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1615/2454)
回答No.1

たとえば以下のような感じでいかがですか Private Sub 申請理由_BeforeUpdate(Cancel As Integer) Dim mStr As Variant, i As Integer Dim oStr As String If IsNull(Me.申請理由.Value) Then Exit Sub End If mStr = Split(Me.申請理由, vbCrLf) If UBound(mStr) >= 3 Then Cancel = True MsgBox "3行以内で入力して下さい。" End If oStr = "" For i = 0 To UBound(mStr) If LenB(StrConv(mStr(i), vbFromUnicode)) > 70 Then Cancel = True oStr = oStr & i + 1 & "行目" & vbCrLf End If Next If oStr <> "" Then MsgBox oStr & "70バイトを超えています。", vbCritical End If End Sub

KO1014
質問者

お礼

ご回答ありがとうございました。 パーフェクトです!! 「○行目」という表示がいいですね。他のAccessにも流用できます。 大変助かりました。

関連するQ&A

  • アクセスのTextBox内で改行できるようにしたい

    過去ログをhttp://okwave.jp/qa4812389.html 参考にしてみましたがアクセスのテキストボックスで出来ません。 ”あああ”のあとにエンターキーを押しても何も変わりません。 TextBoxのプロパティを見ても”改行”というのが見つかりません。 どうすれば改行できますか?よろしくお願いします。

  • 【VB6】複数行のテキストボックスの改行

    お世話になります。 VB6で、複数行入力出来るテキストボックスを作成しました。 そのテキストボックスの横幅は、最大30文字(60byte)まで入力出来ます。 ですが、あくまでフォーム上で伸縮させていた為、中途半端に折り返しされます。 【例】 iiiiiiiiiijjjjjjjjjjiiiiiiiiiijjjjjjjjjjiiiiiiiiiijjjあ jjjjjjj (↑計62バイトなので、本来であれば2行目に改行されてしまったjjjjjjjの左5文字を1行目に表示させたい) その行は特定のバイトを超えたらその場で強制的に改行!というソースを追加したいです。 その為には、常にテキストボックスの入力バイト数を監視するようにしなければならないと思いますが、なるべく動作や容量が重くならないような方法はありますでしょうか?

  • access テクストボックスの入力文字数制限

    access2007にて フォームのテキストボックスの入力文字数を制限したいのですがうまくいきません。英数字などはうまくいくのですが、ひらがなや漢字などまだ入力値が確定していない場合は不可能なのでしょうか? ちなみに、すべてキー入力時で制限をかけたいです。ご指導お願いいたします。

  • 改行数および文字数の制限(追加要望)

    https://okwave.jp/qa/q9701482.htmlの続きです。 上司から文字数と行数の制限の他に「入力必須=空欄不可にしてほしい」と追加の要望があり、入力規制に「Is Not Null」を入れても空欄のまま進んでしまいます。 空欄のまま次のテキストボックスへ移動しようとしたら「入力必須項目です。」と表示させて移動させないようにするには、どのようなコードをどこに追加したらよろしいのでしょうか?

  • Wordのテキストボックスと、文書の改行

    Wordで文書を作成し、その途中でテキストボックスを入れました。その後、テキストボックスの挿入位置より上(下の図でいうと、■の行)に文章の続きを追加して入れたいのですが、*の位置からある程度のスペースを確保したいと思ってEnterで改行をしたところ、テキストボックスの下の位置(○の行)へカーソルが飛び、そこから書き始めるように改行されてしまいました。 ****  ←文章 ■■■■  ←この行に追加で文章を入れたい。 ――― |   |  ←テキストボックス ――― ○○○○  ←しかし、*のあとからEnterを押すと、この位置からしか始まらない。 以前は、*の直後に改行したら、テキストボックスごと下へと改行されて、文章をちゃんと入れることが出来たんですけど、今はどうしてか出来ません。 テキストボックスの詳細設定とか見たんですけど、分からないので、質問させていただきました。 …分かりにくい説明になってしまいましたが、どなたかご教授お願いします。

  • 入力できる文字数を制限する方法

    ACCESS2000でVBA を使用して、フォーム上の非連結テキスト ボックスに入力できる文字数を制限する方法を教えて下さい。(更新前処理のイベントでは、文字のチェックを行います。)

  • 改行で追加される行が上に来るテキストエディターを探しています。

    改行で追加される行が上に来るテキストエディターを探しています。 自分で探してみましたが見つかりませんでした。 Enterキーで改行した際、通常はカーソルが一番下に来ますが、これの逆で1行目に新しい行が追加される仕様のテキストエディターを探しています。 よろしくお願いします。

  • ACCESSでテキストボックスの制御がしたい

    テキストボックスの制御をしようとして、つまずいてしまったので質問いたします。 やりたいことは ・テキストボックス全体の文字数120文字。 ・テキストボックス1行の文字数40文字。 ・3行固定で途中改行しても固定は続ける。 ・3行目にカーソルがあるときに改行すると、次のテキストボックスに移動する。 現状は、テキストボックス内で改行すると、次の行から次の文字が始まってしまい、3行で固定出来ず4行目にはみ出してしまう状態です。 インターネットなどで調べても情報がない状態で困っています。 ご存知の方、ご教授よろしくお願いします!

  • 改行を含まない文字数を取得するには?

    エディットボックスに入力された文字数をGetWindowTextLength関数で取得した時 < 例 >  aaaaああああいいいい と入力した場合 結果は12 aaaa ああああ いいいい    と入力した場合 結果は16 というように同じ文字数なのに改行を含むと改行1につき2文字分多くカウントされてしまいます。 複数行入力されていても改行文字を含まない文字数を取得するにはどうすればいいですか? --- 実行環境 --- Visual Studio 2010 Express WIN32 ユニコードビルド C言語

  • javaで文字数制限するには?

    javaでテキストボックスのような入出力項目を作り、そこに文字数制限を入れたいのですが、javaにおいてはこれがなかなかむずかしく昨日一日やったのですが、うまくいきません。 自分でクラスを作るとかしないとダメなのでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう