入力チェックの方法は?

このQ&Aのポイント
  • 入力フォームに入力されたデータのチェック方法について
  • 現在の方法では『[保存して閉じる]ボタンを押された時に、入力チェックのメソッドを実行する』
  • 検索してみると人それぞれやり方が違うが、項目が多い場合にはコーディングが長くなるかも
回答を見る
  • ベストアンサー

入力チェックの方法

入力フォームに入力されたデータのチェック方法ですが、どういう方法で行うのが一番良い方法なのでしょうか? 今までは、『[保存して閉じる]ボタンを押された時に、入力チェックのメソッドを実行する』しかやっていませんでした。 これだと1つのメソッドでまとめてチェックできるので見やすくメンテしやすくて良かったのですが、この方法が良いのか少し疑問もあります。 いろいろ検索してみると人それぞれやり方が違うようですが、項目が多いと結構大変ですよね。 KeyPressイベントで入力規制し、Leaveイベントで入力データのチェック、コピペも出来ないようにして…、入力エラーがあるとボタンは押させない…等、厳密に行うとかなりコーディングが長くなりそうなんですが…(汗 どういう方法が一番良いのでしょうか?これが正解!という物は無いと思いますが他にどういう方法があるのか知りたいのです。 おすすめの方法でも何でも構いません。メリット・デメリットも書いていただけるとうれしいです。 vb2005,2008を使用しております。

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

  • ベストアンサー
noname#259269
noname#259269
回答No.1

貴方のやり方で、クライアントに文句を言われないのであれば、それがベストですよ。 変に作り込むとバグを生むだけですから。 人それぞれというより、システム要件ですね。 ある項目の入力によって、他項目への入力可否を制御する等、一画面に機能を盛り込むとイベントでごちゃごちゃやらなくてはいけない場合もでてきますが、私的にはあまりやりたくないですね。

hosohoso13
質問者

お礼

ご回答ありがとうございます。 確かに作りこめば作りこむほど予想外の動きをしてしまう時はありますね。 今のやりかたで特に問題になった事は無いのですが古いやり方なのかな?と考えてしまいまして。 1メソッドにまとめれられてる今のやり方でも良いとこがわかり安心しました。

関連するQ&A

  • 入力判定の仕方が分からなくて、困ってます・・

    VB.NETで、キーボードから入力してLabelに表示されている文字と 合っていれば正解、間違っていれば不正解の処理を1文字単位でやりたいのですが、正解不正解の判定のやり方が分かりません・・。 Private Sub Form1_KeyPress() If Mid(Label2.Text, a, 1) = "入力したのと同じ" Then Mid(Label2.Text, a, 1) = ""     a = a + 1 Else  ’不正解の処理 ?? End If End Sub みたいかな?と思ってプログラムを組んでみたのですが、 ifの"入力したのと同じ"ところの書き方が良く分かりません。 詳しい方、KeyPressの使い方等教えていただけませんか?

  • まともなコーディングを知りたい(長文です)

    PG3年目の者です。 「VBなんて簡単」とバカにする割には、イベントプロシージャにだらだらコーディングする、共通化せずにコピペする、サードパーティー製のOCXを使った場合、フォーム内に大量のイベントとそれに伴うコードを平気で書く、などなど腹立たしい文化が社内にはびこっております。 かくいう私も、まともな(キレイな)コーディングメソッドを知っているという自信はありません。なんとなく「これはクラスにして、これはBASに記述して」ということはしておりますが、明確な根拠があるわけではありません。「もっとちゃんとした方法が、あるに違いない」という思いだけがあります。 そんなわけで、「お手本となるコーディングスタイル」の具体的な例がわかるサイトがあればお教えいただきたいと考えております。ちなみに、VB6でお願いします。

  • Accessのフォームからダイアログを表示する方法

    いつもお世話になっております。 Access2003、VB6の環境でコーディングしています。 Accessのフォームでボタンが押されたら、 データ入力用のダイアログが表示されるようにしたい のですが、そのダイアログを表示させる方法が わかりません。 どうか、よろしくお願いいたします。

  • データグリッドビューでの入力値チェックについて

    VB2008の環境です。 元々VB6を使用していて1週間前からVB.NETを勉強中です。 現在データグリッドビューを用いてデータを入力できるソフトを作成中です。 編集中の行から移動した時に、移動前の行の入力した項目について、上限値を超えていないか?ブランクではないか?他の行と重複した値になっていないか?などの確認を行いたいと思っています。 上記のチェックの内、他の行との重複チェックを行おうとすると、新規行を追加した時に、新規行に値が入っていないためエラーとなってしまいます。 どなたか行単位のデータチェックで参考になりそうなサンプルソースをご存知ないでしょうか。

  • テキストボックスの入力チェック(ACCESS VBA)

    テキストボックスに何かを入力し、フォーカスが他のものに移動したときに、LostFocusイベントで入力内容のチェックをかけています。(文字数チェック、ストアドをつかって入力内容と一致するものがDBにあるかなど) もし、入力が誤っている場合には他のものにフォーカスを移さず、そのテキストボックスにフォーカスを残したい(setfocusを使用)のですが、setfocusをしてもlostfocusされてしまうため、うまくいきません。 VBではValidateイベントというものがあるようですが、 VBAではみあたりません。 どなたかよい方法をご存知でしたら教えてください。

  • VBA エンターキーでイベントに入りたい。

    テキストボックスにデータ入力後エンターキーの押下でイベントに入りたいのですが、下記のコーディングで[通過]メッセージが表示されません。英数字は通過しますが、エンターキーは動作停止します。 これと全く同じコーディングでVB6は正しく動きます。(ただし、Pvate Sub text1_KeyPress(KeyAscii As Integer)に変更してます。) <コーディング> Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Msgbox "通過" If KeyAscii = vbKeyReturn Then KeyAscii = 0 End If End Sub これが出来ると、そのつどキーボードから手を離さずに済むので作業効率がグンとあがります。どうかよろしくご教示ください。Excel2003SP3

  • セルに入力された金額チェック

    ありきたりな質問かもしれませんが、検索しても見つからなかったので、質問します。 仕事で、見積書を作っています。 質問したい内容は、入力されたランク毎の金額を、マクロ実行ボタンを使わずに、自動チェックする機能です。 入力チェックであれば、「入力規制」でチェック可能ですが、金額の入力は決められた人(上司)しか入力出来ないため、エクセルの「入力規制」は金額が知られてしまうため、使えません。入力は決められた人以外金額を入力する権限がないのです。そこで、作成者に金額を知られずに金額のチェックを行うにために、モジュールにパスワードを掛けてチェックしたいと考えています。 そこで本題ですが、下記のようなシートのセルの金額をチェックする方法を教えてください。(案だけでもありがたいです) 単価  セル 金額 A単価 A1  1000 B単価 A2  2000 C単価 A3  3000 D単価 A4  4000 格単価毎に入力された時のみ、VBAでチェックをしたいです。 因みに、使用されない単価は列毎削除されます。 ご回答宜しくお願いします。

  • VB.NET テキストボックスの入力チェック

    Visual Basic 2008 に関する質問です。 画面のテキストボックスの入力値をチェックする処理として、 Validatingイベントを使用しています。 例えば、 画面上に配置しているボタンをクリックして画面を閉じさせたい場合(Application.Exit()等)、 テキストボックスの値が未入力であると、上記の入力チェックが先にはしってしまい、 画面を閉じることができません。 閉じるボタンの処理を最優先させる方法について、 どなたかご教授いただけませんでしょうか? (※初歩的なご質問で大変申し訳ございません。)

  • ひらがなチェック

    Perl全くの初心者です。基本的なことかもしれませんが、お願いします。 テキストに入力されたデータが適当な値であるかどうかのチェックを行いたいと思っています。 ふりがなの項目にひらがな以外の文字が入っていないか調べたいのですが、参考になるサイトやサンプルコーディングなどあれば教えていただけますか? ひらがなのチェックは文字コードを用いてチェックしたいのですが、どのようにコーディングしたらよいのかわからず、困っています。

    • ベストアンサー
    • Perl
  • 入力(ファイル)の入力チェックにつきまして

    いつも参考にさせて頂いております、佐藤と申します。 入力ファイルの項目チェックを行おうとしておりましたが、 どうもコンパイルエラーが発生してしまいます。 原因が分かる方がいらっしゃいましたら、是非ともご教授願います。 以下がコーディングの一部となります。 FileReader text = new FileReader(args[0]); BufferedReader data = new BufferedReader(text); String check; FileWriter fw = new FileWriter(args[1]); while((check = data.readLine())!=null){ char[] src = check.toCharArray(); //第1~2パラメータをワークに代入 try{ n = Integer.parseInt(check[0]); n2=Integer.parseInt(check[1]); }catch(java.lang.NumberFormatException e){ System.out.println("第1~2パラメータが不正です"); return; } どうも、「//第1~2パラメータをワークに代入」の下でエラーとなっているようです。 エラーの内容は、「配列が要求されましたが、Java.lang.Stringが見つかりました」と表示されてしまいます。 どうか宜しくお願い致します。

専門家に質問してみよう