Accessのフォームで行数を制限したい



◇-?|Accessのフォームで行数を制限したい-cho(2004/6/18-11:58)No.141998
 ┗?!|Re:Accessのフォームで行...-龍矢(2004/6/18-14:54)No.142020
  ┗?!!|Re:Accessのフォームで・..-龍矢(2004/6/18-15:16)No.142027

▲このページのトップに戻る
141998?|Accessのフォームで行数を制限したいcho 2004/6/18-11:58

メーカー名:EPSON エプソン
OS名:Windows2000
パソコン名:VB-640E
ソフト関連: Access97
--
Access97を使用しています。
フォームのテキストボックスで、「Enterキー入力時動作」をフィールドに行を追加にして
入力させる方法をとっています。(データ型はメモ型)
この方法で入力していくと、どこまでも入力可能なので、行数を制限したいのですが、
方法がわかりません。
例えば、10行までの制限で書き込みできるようにし、11行目へ記入しようとしたとき、
「これ以上入力できません」等のメッセージがだせたらと考えています。
わかる方、どうぞよろしくおねがいします。

▲このページのトップに戻る
142020?!|Re:Accessのフォームで行数を制限したい龍矢 2004/6/18-14:54
記事番号141998へのコメント
入力データの中に改行コードを含まないことを前提に書きます。
テキストボックスは数行に渡って入力しているように見えてもデータ的には1行です。行数で指定することは不可能だと思います。
ですが、横の長さは決まっているので文字数で制限してはどうでしょう。

VBで処理する場合のプログラム例

If Len(Me!テキストボックス) > (横入力可能文字数×10(縦)) Then
MsgBox ("行数がオーバーしています")
End If


もしくは、テキストボックスを10行分に分けて作成する方法ですね。この場合、処理(プログラム)が面倒になります。使う側にはこちらの方が親切かな、とは思います。

#どのようなデータを扱うかによっても変わってくると思いますが……
#ちなみに、ACCESSは独学なので自信ありません。
#間違っていたら指摘お願いします(苦笑)

▲このページのトップに戻る
142027?!!|Re:Accessのフォームで行数を制限したい龍矢 2004/6/18-15:16
記事番号142020へのコメント
すいません。読み間違いをしてしまいました。
フィールドの追加って書いてありますね。失礼。
上記内容は無視して下さい。

で、方法ですがデータ内の改行コード数を検索するというのはどうでしょうか。

VBで処理する場合のプログラム例
Dim i As Integer
Dim gyou As Integer '文字数に応じてここは変更してください。
gyou=0
for i=0 to LAN(データフィールド)
    If Mid(データフィールド,i,1)=Chr(13) Then
        gyou=gyou+1
    End If
Next
If gyou>10 then
    MsgBox ("行数がオーバーしています")
End If

iはFor文のための変数、gyouは行数の保存する変数として宣言してます。
ちなみにChr(13)は改行コードです。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言
検索投稿あり2004/6/23-15:35左記[投稿あり]クリックにて検索(逆リンク調査)します同様の質問へのリンクとなっています
検索投稿あり2009/11/20-14:04左記[投稿あり]クリックにて検索(逆リンク調査)します同様の質問へのリンクとなっています