過去の桐井戸端BBS (桐ver.8)
7097 決められた行数だけ入力するには? とろっち 2000/08/09-15:40
 一覧表形式のフォームで入力する際、決まった行数(20行)だけしか入力させたくありません。
 どのようにしたらよいか教えてください。

 現在は、[番号] に 1〜20までの値をあらかじめ入力させておき、絞り込みを使い21行目以降に入力された値を削除しています。

 何か良い方法があったら教えてください。
7100 Re:決められた行数だけ入力するには? 宮城 2000/08/09-16:04
記事番号7097へのコメント
行追加で処理しているものと思いますが、カウンタ用の変数を定義しておき、入力用フォーム開いた段階でゼロクリア。行追加毎にカウントアップします。

行追加・編集入力後、ケース制御でカウンタが20に達しているか判定し、メッセージボックスで「これ以上は入力できません」とか表示し、
入力ルーチンを抜けさせる、というのがオーソドックスな処理だと思います。

7102 伝票形式を使って下さい 佐田 守弘 2000/08/09-21:53
記事番号7097へのコメント
とろっちさん
一覧表形式フォームを使っている様ですが、行数を限定するのであれば、一覧表フォームではなく、伝票フォームを使ってみたらどうでしょうか。
一覧表フォームと伝票フォームにはいくつかの機能の違いがありますが、その1つに、一覧表は入力する行数を限定しない、伝票は行数を限定する、
の違いがあります。

佐田守弘(KS-00119)
7104 Re:決められた行数だけ入力するには? とろっち 2000/08/10-09:33
記事番号7097へのコメント
宮城さん、佐田さん、ありがとうございます。
お二人のおっしゃることはもっともなのですが、まず、他の項目に入力した値があるため、行追加とはなっておらず、ただ入力していくだけとなっています。

それから、入力する項目は1つしかないので、伝票形式にするまでもないような気がします。

どうしたらよいでしょうか?

7105 Re:決められた行数だけ入力するには? 宮城 2000/08/10-10:27
記事番号7104へのコメント
>お二人のおっしゃることはもっともなのですが、まず、他の項目に入力した値があるた
>め、行追加とはなっておらず、ただ入力していくだけとなっています。

あの・・・、だから、そんなことせずに空から始めて行追加させて都度判定してはいかがと書いたつもりなんですが・・・。

「伝票フォームにしては?」という佐田さんのコメントはお読みになったんですか?

察するに、番号だけ入った20レコードある雛形をフォーム形式編集でユーザーに丸投げし、フォーム形式編集の終了後どうしようかとされてるようですが、
そのやり方から踏み出してみる気がないなら、21行以上あったら削除というお書きになってることぐらいしかないでしょう。
でも、ユーザーがどんな入力するかわからないわけですから、消すべき行がどれかさっぱり見当つきませんねえ。
番号が、1の繰り返し20回、2、3、・・・、20になってたり。

7107 Re:決められた行数だけ入力するには? 尾形 2000/08/10-13:51
記事番号7104へのコメント
いまいち、状況が掴めませんが
20行を準備してあって、その20行の入力(行訂正)しか許可しないということでいいのでしょうか?
フォームの属性の編集対象表タブの許可作業ボタンの所で指定してみては.....はずしてるか(^^;
7108 Re:決められた行数だけ入力するには? KH 2000/08/10-15:00
記事番号7104へのコメント
>お二人のおっしゃることはもっともなのですが、まず、他の項目に入力した値があるた
>め、行追加とはなっておらず、ただ入力していくだけとなっています。
>
>それから、入力する項目は1つしかないので、伝票形式にするまでもないような気がしま
>す。
>
>どうしたらよいでしょうか?
>
 会話形式だけでやられているのでしたら、佐多先生のおっしゃる伝票フォームでレコードの上限を20にすればよいのではないでしょうか。
 宮城様のおっしゃる行追加(行訂正でも良いですが)は
<私もこちらのほうが先に頭に浮かんできましたが>
一括処理上の処理でコメントしているのですが、ここらあたりがまだ疑問のままなのでコメントする側に混乱を与えているのではないでしょうか。
 違ったらごめんなさい。

7109 Re:決められた行数だけ入力するには? 佐田 守弘 2000/08/10-15:03
記事番号7107へのコメント
とろっちさん
データベースで入力する時の一般的な方法ではないですが、予めブランクの行を作っておいて、後で行訂正でデータを入力するといった方法も
1つの方法ではあります。
表計算ソフト的でこの方が使いやすいという人もおります。
その代わり、管理者が予め入力するブランクの行を作っておく事が必要です。
この手間が結構面倒ですが。

もし、この様に運用するのであれば、尾形さんが#7107「Re:決められた行数だけ入力するには?」で書かれている通り、
許可作業で行追加を禁止し、行訂正のみを許可する様にすれば、目的は達成されます。

その代わり、ブランクの行を作る時に、管理者も行追加ができなくなるので、この時には行追加を解除するなり、
別のフォームあるいは一括処理などを使って、ブランクの行を追加する必要があります。

なお、行数固定であれば、行数不定の一覧表フォームではなく、行数固定の伝票フォームを使って下さい。

●一覧表と伝票
>それから、入力する項目は1つしかないので、伝票形式にするまでもない
>ような気がします。

の意味が分からないのですが。一覧表と伝票では、特にフォームの作りやすさに差があるわけではないですし、却って伝票の方が簡単だと思います。
逆に一覧表フォームにこだわる意味は何なのでしょうか。
事によって、「一覧表形式のフォーム」と書かれているのは、表形式編集の事を言っておられるとか。

佐田守弘(KS-00119)
7110 勘違いでした。 とろっち 2000/08/10-17:18
記事番号7097へのコメント
みなさんありがとうございます。

佐田さんが書かれてていたのは「伝票形式で...」ですよね。
「カード形式で...」と思い違いをしていました。

この暑さのせいで頭の中がうまく回転しなくなってしまったようです。お騒がせしてすみません。

伝票形式でレコードの上限を設定したらうまくできました。
ありがとうございました。

戻る