• ベストアンサー

ACCESS VBA ウィンドウを閉じる

Ganners07の回答

回答No.1

DoCmd.Close acForm, "フォーム1" としてください。 どのフォームを閉じるのかを指定しないと、アクティブなフォームを閉じることになります。 画面遷移直後ですと、アクティブなフォームはフォーム2になります。 このような場合は、なにを閉じるのかを指定することで対応します。

noname#47243
質問者

お礼

ありがとうございます。 実は >DoCmd.Close acForm, "フォーム1" と言うのも試してみたのですが、やはり閉じませんでした。 何がいけないのでしょうか・・・。

関連するQ&A

  • VBAによってAccessが壊れた!

    AccessのVBAでプログラムを組んでたらあるフォームの操作処理をしたらいきなりAccessに異変が起こり、フォームのデザイン等の編集・コーディングが一切できなくなりました(VBEが開かない)。 強引にフォームを呼んでも読み取り専用になっていて操作ができなくなってしまいました。フォームを開いても実行画面しか出なくなりました。新規作成もできません。(ボタンが全てイネイブルになってます) こういう場合どうしたらいいのでしょうか? ちなみにAccessのフォームは、現在のフォームから他のフォーム(開いている)を閉じる命令をすることはできるのでしょうか?(それをしたいがためにいろいろな方法を試していたらこうなってしまいました。そのコードをうかつにも保存した私にも責任はあるのですが・・・ちなみにDocmd.closeで墓穴を掘りました。やはり自分のフォームしか消せないんでしょうか?) バージョンはAccess2003を使っています。

  • Access2003 をVBAで動かしています。。

    Access2003 をVBAで動かしています。。 あるフォーム( Aフォーム)を開いたときに DoCmd.Maxmise つまり全画面(フルサイズ) になるようにしています。 このフォームは表示したまま、別のフォーム(12cm×15cm Bフォーム)をその上に 重ねて表示したいのですが、どうやっても Bフォームもフルサイズになってしまい、 Aフォームが隠れてしまいます。 Bフォームの大きさ指定をどうすればできるのか教えてください。

  • Access2013 VBA 複数の画面の遷移

    複数の画面のメニューの遷移をスル場合、みなさんは、フォーム名をベタ書きで書いてらっしゃるのでしょうか。それとも、遷移元のフォームの名前を取得して戻るボタンをおした時に、そのフォームをVisible = trueにしたりしているのでしょうか。 私の場合には、ModuleにPublicで宣言した各フォームの階層事の変数に遷移元の名称の場合にだけ、そのフォームの名前を変数に保存して、戻るボタンでそのフォームを表示する処理をしています。 Private Sub Form_Load module.Public変数 = module.Public遷移元の画面名 End Sub Private Sub Cmd戻るボタン Forms(module.Public遷移元の画面名).visible = true DoCmd.Close acForm, Me.Name End Sub しかし、この画面の階層毎に変数をつくり、それに遷移元の画面名をセットするのも面倒くさいやり方で、これよりも何か楽な汎用性のあるやり方はありますでしょうか? よろしくお願いします。

  • アクセス2007 VBA 並べ替え

    テーブル1のフィールド1にデータを入れ それを元に帳票フォームを作成しました。 フォームヘッダー部分に 昇順ボタンと降順ボタンを作り、 ボタンを押すごとに並び替えを行いたいのですが どのようなVBAコードを書けばいいのかわかりません。 命令分としては、 「フォームに表示されるテーブル1のフィールド1データの 昇順に並べ替える」です。 SQLを使う方法ではなく、 DocmdかacCmdを使う方法が希望です。 アクセスのヘルプの ----------------------------------------- Access 開発者用リファレンス Form."OrderBy/並べ替え" プロパティ ----------------------------------------- を見ると、 ----------------------------------------- 構文 式.OrderBy 式 Form オブジェクトを表す変数です。 ----------------------------------------- と書いてありますがこの式がわからないのでご教授よろしくお願いします。

  • アクセス2003 VBAについて

    アクセス2003VBA初心者ですが、誰が解る方詳しく教えていただけますか? 検索フォームで検索した結果を、別フォームに表示を行い、詳細ボタンを押下すると、選択したレコードの詳細フォームを開く すみません。質問事体が言葉らずかも知れませんが、よろしくお願いいたします。

  • トグルスイッチをVBAでコントロール

    マイクロソフトアクセス2000で作成しています。 メインフォームとサブフォームを使っています。 メインフォームにあるトグルスイッチを押した時に、サブフォームの最新レコードに移動したいと 考えています。 ボタンを押したときに、VBAの命令は動くのですがトグルスイッチが押した状態になりません。 VBAで押した状態にしようとしても命令言語がわかりません。 ご教授をお願い致します。 Me.トグルスイッチ1=true <- ここが動きません。 DoCmd.GoToControl "サブフォーム名" DoCmd.GoToRecord , , acNewRec

  • Access VBAで

    VBAの超初心者です。 Accessのフォームでコマンドボタンを押すと、決まった文字が入力できるフォームを作りたいと思っています。 クリック時のイベントプロシージャーはどのように記入すればよいのでしょうか。 ど素人な質問ですみません。

  • アクセスのマクロ

    友人がアクセスで作ったマクロです。3行目で止まってしまいます。どこが悪いのでしょうか。(私は全くの素人でわかりません) Private Sub 記載事項入力ボタン_Click() DoCmd.Close acForm, "初期画面", acSaveYes DoCmd.OpenForm "入力フォーム", acNormal ←ここ End Sub

  • 【ACCESS】フォームのレコードソースのクエリを動的に書き直したときの、フォームの再描画

    ACCESS2002 帳票フォームのレコードソースにクエリを指定しています。 フォーム上のコマンドボタンを押したイベントで、その レコードソースとしているクエリのSQLを書き直しています。 問題は、その書き直したクエリをもとにして画面をもう一度 表示させなおしたい(リフレッシュさせたい)ということです。   docmd.close acForm,"フォーム名"   docmd.open "フォーム名" とすると、書き直したクエリの内容でフォームが表示されます。 フォームを閉じる→フォームを開くとしないで、フォームを リフレッシュさせる方法はないのでしょうか?

  • Access VBA ・Formについて

    Access VBA及び、フォームのデザインについてお尋ねいたします。 Access VBAを活用したフォーム画面の作成を予定しています。 フォーム画面は、Excelのような表形式とし、1マスごとに表示させる内容を指定したり、処理で使用する行だけを表示してフォームの高さを変更したりしたいです。 フォームで表示した内容や入力した内容は配列型変数で取り扱い、テーブルとは非連結のフォームにしたいです。 どなたかどのようなフォーム画面を作成すればいいかお分かりの方いますでしょうか? 11列×50行の表を作成したいです。