Microsoft Access 掲示板

Access本体のウィンドウを消す方法について

13 コメント
views
4 フォロー

メインメニューから入力フォームを開きデータを入力していくツールを作りました。
フォームはポップアップで開き、この時点では背後にAccess本体のウィンドウは出ない仕様にしています。
しかし、他のアプリをタスクバーから選択して利用したのち、再度タスクバーのAccessアイコンをクリックして
Accessに画面遷移すると背景にAccess本体のウィンドウが出てきてしまう事があります。
このAccess本体のウィンドウを永遠に表示させない方法はないでしょうか?

zipファイルにて展開します。

パスワードは

ah10020616  です。

添付ファイル

ojyamajyo
作成: 2019/05/20 (月) 17:36:30
最終更新: 2019/05/21 (火) 12:22:32
通報 ...
1
ojyamajyo 2019/05/20 (月) 17:56:50

追記です。
フォームが開いた状態で、タスクバーのAccessアイコンを数回クリックすると
背後にウィンドウが表示されてしまいます。

2
hatena 2019/05/20 (月) 19:21:47 修正

APIでAccessウィンドウを最小化して、フォームをポップアップ表示しているですね。
その方法では、タスクバーのアイコンをクリックするとAccessウィンドウが表示されてしまいます。

私は下記で紹介している方法を使っています。

Accessウィンドウを表示しない方法 Access2007以降版
Accessウィンドウを表示しない方法 で紹介していますが、これはAccess2003以前のものなので、このままだとAccess2007以降ではリボンが表示されてしまいます。 Access2007以降(Access2007, Access2010, Access2013)でもリボンが表示されないように対応したものを紹介します。 難易度:...
fc2

やっているのは、Accessウィンドウのサイズを固定してフォームを最大化表示します。
リボン非表示にすれば、Accessウィンドウとフォームが一体化して、フォームだけ表示されているようにみえます。

3
ojyamajyo 2019/05/20 (月) 20:20:52

早速のお返事ありがとうございます。
ちょっとハードル高いですね。。。
ショートカットを用いるとのことですが
バックエンド型にしてユーザーにはデスクトップにおいて入力をしてもらうのですが
この場合、そのショートカットはどのように扱えばいいのでしょうか?
ユーザー各々がショートカットを作って、そこから起動するということになるのでしょうか?

4

ショートカットは必須ではありません。
普通にファイルをダブルクリックで開いてもいいし、Accessのメニューから開いてもいいです。

ショートカットだとアイコンをオリジナルなものに変更できるので、Accessで作成されているとこうことを意識させないことが可能になるだけです。

5

送付していただいたファイルを上で紹介して方法に修正してみました。

修正点は、

上のリンク先のページのコードを標準モジュールにコピーする。

F_メインメニューの「ポップアップ」は「いいえ」に変更。

F_メインメニューの開く時のコードは下記に変更。

Private Sub Form_Open(Cancel As Integer)
    SetAccWinStyle
End Sub

読み込み時の CloseWindow は削除。

以上で、いちおう動作します。

それ以外に、下記の点を修正しました。

別フォームを開く時に、メニューフォームは閉じないで、非表示にするだけにする。
→閉じたり開いたりするのは無駄。開く時のイベント(初期化処理)が何度も発生してします。

別フォームを閉じる時のイベントで、メニューフォームを再表示する。

修正ファイル

6
ojyamajyo 2019/05/22 (水) 21:24:49

ご返信ありがとうございます。
ファイルのコードに無駄な記述があるのですね。
その都度、必要なことを調べながら記述していったので無駄が生じていったのかもしれません。
社員マスタのデータの入れ替えを行い、動作を確認しました。
まだ、ひとつひとつのコードの確認を行っていませんので 週末にじっくりと確認し学習したいと思います。

7
ojyamajyo 2019/05/22 (水) 21:51:52

ひとつ気になった点がありました。
DBを起動するとメニューフォームが画面の左上に表示されてしまうことです。
ネットで調べて なんとかメニューフォームが立ち上がる時に画面の中央に来るようにしてみました。
いかがでしょうか?
ファイル更新します。

8
ojyamajyo 2019/05/23 (木) 05:37:33

もうひとつ実行してみました。
メインメニュー起動時にAccessの閉じるボタンが右上に表示されますが、ここはメインメニューの閉じるボタンのみで
閉じてもらいたいので、そのようにしてみました。
多少、起動までに重たくなった気がするのですが 何か関係があるのでしょうか。
ファイル更新します。

提供版.zip2 です。

よろしくお願いいたします。

11
hatena 2019/05/23 (木) 19:55:37 修正 >> 8

メインメニュー起動時にAccessの閉じるボタンが右上に表示されますが、ここはメインメニューの閉じるボタンのみで
閉じてもらいたいので、そのようにしてみました。

Windowsの普通のアプリには閉じるボタン(×)がついているものです。それをあえて消すのは、あまりよい設計とはいえないと思います。
フォーム上の閉じるボタンでも、ウィンドウの閉じるボタンでも同じ動作になるように設計すればいいだけのことです。
閉じる時に必要な処理は、メインメニューの「閉じる時」に記述すればいいでしょう。処理の最後に、
DoCmd.Quit でAccessを終了します。
フォーム上の閉じるボタンは、単純に
Docmd.Close
だけでいいでしょう。

9
ojyamajyo 2019/05/23 (木) 06:01:59

Accessの閉じるボタンを消したことによって、クエリーなど修正したときに 閉じることができなくなりますが
そこは Alt+F4 で閉じるようにしたいと思っています。

10
ojyamajyo 2019/05/23 (木) 06:04:58

すみません。私の勘違いでした。
クエリーなどの修正をするときは、Accessウィンドウには右上に×ボタンが表示されていますね。

12
ojyamajyo 2019/05/24 (金) 12:43:10

お世話になります。
そうですね。閉じるボタンを消すほどのこだわりはいらないですね。
おっしゃるとおりに修正しました。

13
ojyamajyo 2019/05/24 (金) 12:47:33 >> 12

ファイル更新しました。

パスワードは

ah10020616  です。