• 締切済み

フォームを1つだけ閉じる方法は?

ただ今VB2010で学習中ですが、メニューフォームを作成しボタンをクリックすると顧客名簿を入力することができるフォームが開きます。入力後、顧客名簿入力フォームを閉じると、メニューフォームまで閉じられてしまいます。メニューフォームは開いたままで顧客名簿入力フォームだけ、閉じるようにしたいのですが、調べてもなかなかうまく答えが見つかりません、 どなたか、よろしくお願いいたします。

みんなの回答

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

そういう命令を質問者さんが書かないとそういう動きにはならないのですが。。。 まず、新しいプロジェクトとして「Windowsフォームアプリケーション」を 作成すると、デフォルトで起動フォームが設定されています。これは、 プログラムの開始をメインフォームの起動から始める設定であり、 メインフォーム(=起動フォーム)を閉じると「プログラムが終了する」 仕様です。 ところが、質問文では「メニューフォーム」が先に起動しており、後から 開いた「顧客名簿入力フォーム」を閉じる事で「メニューフォーム」が 閉じると書いてありますので、上記設定は関係ないと考えられます。 それ以外で独立したクラスであるフォームが、勝手に連携して閉じると いった機能は無いと思います。つまり、質問者さんがそういう命令を 書いている可能性が一番高いです。 そもそもフォームを閉じる事がコマンドを記述しないと不可能ですよね? 新規プロジェクトで「フォームを起動する」コードのみでサンプル プログラムを作ってみて下さい。閉じるコマンドは書かずに[×]ボタン で閉じてみて下さい。後から開いたフォームを閉じて、先に開いた フォームが閉じる事はないはずです。

関連するQ&A

  • アクセスでの計算フォーム

    VBの経験があるものですが、今回アクセス上で、VBのような計算フォームを作りたいと思ったのですが、エラーが出ます。 フォーム上のボタンを押すと、テキスト1~6を足して、答えのテキストに表示させるようにしたいのですが、デバッグをすると、VBの方でボタンクリックの部分で「コントロールがフォーカスを取得していないときにコントロール・・・」というエラーが出てきます。 手順として、テキストを作成し、ボタンを作成し、ボタンクリックのソース上で、テキスト1~6を足していく・・・ ということでは、まずいのでしょうか?

  • access2007 情報入力フォームの作成につい

    メインメニューのレイアウトで、情報入力ボタンと印刷ボタンを設定してあります。 情報入力ボタンをクリックすると「担当・顧客選択メニュー」に移ります。 「担当・顧客選択メニュー」の構成は 担当営業の選択 → コンボボックス 顧客情報(概要) → サブフォーム(担当営業コードで連結) となっており、担当営業を選択すると担当顧客がサブフォームに表示される 様になっています。 サブフォーム上の顧客番号をダブルクリックすると 「顧客情報入力フォーム」の同一顧客番号の情報へと移動し、顧客情報の 追加や編集がでいる様になっています。 今まで、直接「顧客情報入力フォーム」をあけると、画面下のレコード移動ボタンが 1/XXXXとなり、全顧客数と表示されている顧客が何番目の顧客であるかが 表示されていました。 今回、「担当・顧客選択メニュー」から上記の方法で「顧客情報入力フォーム」を 開けるとレコード移動ボタンの表示が1/1となり、その右にフィルタ適用と表示 されます。これの理屈は理解できるのですが、レコード移動ボタンを押すと 2/2となり、真白なブランクフォームが表示されてしまいます。 また、「担当・顧客選択メニュー」からダブルクリックで「顧客情報入力フォーム」へ 移動すると、同一顧客番号で移動しているはずが顧客番号がブランクの画面が 表示されてしまいます。「戻る」ボタンで再度同じ事をやると、今度はちゃんと 表示されます。 これがなぜそうなってしまうのか全くわかりません。 フィルタがかかっている状態で2/2となるのはなぜなのか、 ダブルクリックで同一顧客番号へ移動するはずが顧客番号なしのブランクフォームが 表示されるのはなぜなのか? お心当たりのある方、改善策のヒントを頂ければと思っております。 宜しくお願い致します。

  • アクセスのフォームの保存について。

    顧客名簿を作っています。 テーブル・フォームと作成しています。 顧客に対しての、情報が多いので、フォームにツールボックスにある タブコントロールをつくりました(しおりみたくなってるもの) しかし、いざ入力するとタブコントロールに入力した情報が 保存されません。 どうしたら保存できますでしょうか?

  • フォームの内容をプリント

    教えて下さい。vb初心者です。 VB6.0にてアプリケーションを作成しています。 フォームモジュールを作成して、その中にグラフなどを表示させています。そのフォームに描かれている内容をコマンドボタンのクリックイベントなどで、そのままプリントアウトしたいのですが、どのようにすればいいのでしょうか?また、そのフォームの内容をエクセルのシートなどにも、貼り付けたいのですが、どのようにすればいいのでしょうか? 教えて下さい。

  • ACCESSでコンボボックスからの入力でリスト外の追加をフォームを使っ

    ACCESSでコンボボックスからの入力でリスト外の追加をフォームを使って登録 ACCESSのフォームを使ってデータ入力を作成しています、"顧客名"をコンボボックスを使って選択するようにしていますが。 リスト外の新規顧客を入力する際には別の"顧客登録"フォームが開いて、顧客情報(読み仮名、顧客名、都道府県コード、所在地)を入力して、閉じると登録した"顧客名"がコンボボックスから選択できるようにしたいと思い、マクロを使用して(VBはよくわからないので) イベント→リスト外入力時→”顧客登録”フォームが開く 必要事項を入力し、閉じるボタンをクリック。 してみたのですが、コンボボックスのリストに先に入力した新規データが出てきません。 何が足りないのかご教授お願いいたします

  • ACCESS フォームの表示

    ACCESSでフォームにクエリを付けて記入してます。 そのフォームは、顧客名簿の様な物です。 クエリには顧客名簿一覧と書類提出日を連結させてます。 他にも同様のフォームがありますが、そのフォームには一度入力したデータがフォームを開くと反映されてますが、 今回作ったフォームには記入したデータが反映されません。 フォーム上で右クリック⇒フィルタの削除 を選択すると入力したデータが表示されます。 しかし、一度閉じるとまた何も表示されていない状態です。 このフォームには、何故データが表示されないのでしょうか?? ご存知の方。よろしくお願いいたします。

  • Accessでコマンドから空のフォームを開くには?(初心者です)

    Access2003を使用して顧客名簿を作成しています。 コマンドボタン「新規入力」を押すと空のフォームが 開くようにしたいのですが、どのようにしたら良いのでしょうか? 一応、初心者なりに Private Sub コマンド4_Click() Dim namae namae = "個人住所フォーム" DoCmd.OpenForm namae, acNormal End Sub まではやったのですが、開いたフォームは名簿の一番最初の方の データでした・・・。

  • 同じフォームを呼び出す方法

    フォームA上にコマンドボタンがあり、そのコマンドボタンをクリックして、同じフォームAを呼び出す方法を教えてください。 フォームAは見える状態で、同じフォームAが上に重なって表示されている状態です。 VB6.0、Windows xpです。 宜しくお願いします。

  • VBでスタートフォームの設定方法

    全くのVB初心者です。初歩的なことだと思いますが、以下の件について教えてください。(VB6.0、WIN2000) ・フォームを2つ作りましたが、スタートフォームが最初に作成された方になります。あとに作った方をスタートフォームにする方法を教えてください。 ・それと、同じく2つのフォームがあって、一つ目のフォームのあるコマンドボタンをクリックすると、もうひとつのフォームに切り替わる方法を教えてください。 以上

  • 1フォーム上でメニューを切り替えたい

    こんにちは。Windows Formについてお教えください。言語はVBです。 フォームには左メニュー、右メニューが配置されています。 左メニューのボタンをクリックすることにより、右メニューに表示される項目を変更しようと思います。 右メニューの大きさは常に固定にしようと思っています。 1つのフォーム上で、右メニューの中身を変更するには、どのようなコントロールを使えばいいのでしょうか? または、複数フォームを作って、それを右メニューで呼び出すというやり方になるんでしょうか? よろしくお願いいたします。

専門家に質問してみよう