投稿者 an  (社会人) 投稿日時 2014/3/19 14:51:56
> 試しに、教わったプログラムコードを(複数条件検索のプログラム)ベースに作ってみましたが、正しいIDとPASSを入力しなくてもコードが不十分のせいでFmMainに移動しています。

        If txtID.Text.Length > 0 And txtPASS.Text.Length > 0 Then
             sql += " WHERE (ユーザー名 Like '" & txtID.Text & "%')"
             sql += " AND (パスワード Like '" & txtPASS.Text & "%')"
             '★ 
             fmBase.Show()
             Me.Hide()
         Else
             TextBox3.Text = "ユーザー名とパスワードは必ず記入して下さい"

         End If

これでは条件が一致しようがしまいがfmBaseをShow()してますよね?
SQL文を構築してるだけで、そのSQL文が実行されていません。
上記の★の位置に正しかった時のみfmBaseをShow()するようにする必要があります。
そのやり方が前回伝えた
http://homepage1.nifty.com/rucio/main/dotnet/Samples/Sample033ConnectSQLServer.htm
に記載されています。

SqlConnectionクラスとSqlCommandクラスを利用し,
ExecuteScalarメソッドで情報を取得します。
もし取得できたら次画面を表示し、できなかったらメッセージ等を表示するようにすれば良いと思います。

> 後、ログイン成功後にFmLoginを隠すコードを入力しましたがFmMainの画面で右上にある「最小化、最大化、閉じる」ボタンの閉じるボタンを押すとFmMainは消されますが、VBのソフト上ではプログラムの実行中になったままになっています。
FmLoginはHideしているので見た目上なくなっていますが、
内部的には残っています。
なので実行中は正しいわけです。

FmMainの閉じるボタンを押した場合どうしたいかによって処理が変わりますが、どうなのでしょうか?
・ログイン画面に戻る
→Hideしていたログイン画面を再度Showする必要があります。
・アプリケーションを終了する
→Hideしていたログイン画面をCloseする必要があります。
・その他
→???


また、提示されたソースコードをみたところ根本的な部分について理解が足りないようです。
新しい画面に遷移する場合、直接Showするのではなく、
一回変数にNewをしてからするべきなのですが(諸説あります)
その辺を行っていないという事はもう少し勉強が必要かと思います。
本サイトの 初級講座の第29回 2つ目のフォームにて勉強してみてはいかがでしょうか?
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard29.htm
上記第29回に限らず、初級講座は基本的な事項が含まれていますので、
一通り理解することをお勧めします。