Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


626 / 2272 ツリー ←次へ | 前へ→

【10869】作業ウィンドウ固定→レポートプレビュー カダワン 08/12/15(月) 11:58 質問[未読]
【10870】Re:作業ウィンドウ固定→レポートプレビュー トト 08/12/15(月) 15:48 発言[未読]
【10871】Re:作業ウィンドウ固定→レポートプレビュー カダワン 08/12/15(月) 17:27 お礼[未読]
【10872】Re:作業ウィンドウ固定→レポートプレビュー トト 08/12/15(月) 19:35 発言[未読]
【10875】Re:作業ウィンドウ固定→レポートプレビュー カダワン 08/12/17(水) 10:00 お礼[未読]

【10869】作業ウィンドウ固定→レポートプレビュー
質問  カダワン  - 08/12/15(月) 11:58 -

引用なし
パスワード
   いつもお世話になっています。
どなたかご教示をお願いできればと思っております。

作業ウィンドウを固定している小さなフォームから、レポートを
プレビューしたいのですが、小さなフォームが前面にきてプレビュー
の邪魔になってしまいます。
そういう機能なので当然そういう結果にはなりますが、プレビュー
時だけ、後で待機する方法はあるのでしょうか?

フォームの作業ウィンドウを固定している理由は、メインメニュー
を立ち上げながら小さなフォームを開く時、オペレータが後ろの
フォーム(メインメニュー)を誤ってクリックした時フォーカスが
メインメニューにあたって、小さなフォームが行方不明になるの
を防ぐ為です。メインメニューは最大化していますので、小さな
フォームはPopup=true、Modal=trueに設定しています。

この小フォームの設定方法自体、工夫が必要なのでしょうか?
宜しくご教示のほど、お願いいたします。

【10870】Re:作業ウィンドウ固定→レポートプレビ...
発言  トト  - 08/12/15(月) 15:48 -

引用なし
パスワード
   ▼カダワン さん:
処理の順番としては、
・フォームの可視をFalseに
・レポートのプレヴュー(&印刷?)
・(レポートが閉じられたら)
・フォームの可視をTrueに
という感じにすると良いかと思います。

但し、レポート表示中にフォームの操作は出来なくなります。
(不可視にしてしまうので^^;)

それで良ければ

Sub test()
  Dim myRpt    As Report
  Dim myRptName  As String
  Dim myFrmName  As String
  
  myRptName = "レポート名"
  myFrmName = "フォーム名"
  
  Forms(myFrmName).Visible = False
  
  DoCmd.OpenReport myRptName, acViewPreview
  
  'レポートが開いているのを確認
  On Error Resume Next
  Do
    DoEvents
    Set myRpt = Reports(myRptName)
  Loop Until Err <> 0  '閉じられたらエラーとなる(処理が次へ)
  Set myRpt = Nothing
  On Error GoTo 0
  
  Forms(myFrmName).Visible = True
End Sub

こんな感じです。

【10871】Re:作業ウィンドウ固定→レポートプレビ...
お礼  カダワン  - 08/12/15(月) 17:27 -

引用なし
パスワード
   ▼トト さん:
お世話になります。
本当にありがとうございました!
スラスラと動かす事が出来ました!

が、

ひとつ問題が残ってしましたした。
今まで秘密にしていました(わけではない!?)が
質問の便宜上、小さなフォーム1つの様に問合せ
していましたが、実は2つ開いてるのです。。
1つ小さな固定フォームを開き選択させて、その
上にもう一つ一回り大きな中固定フォームをかぶせて、
そこから印字(プレビュー)させていました。
一つ解決すれば大丈夫と思いきや、ご教示頂きました
Forms(myFrmName).Visible = True
の後に
Forms(myFrmName2).Visible = True
を入れても、固定フォームの為なのか、小→中表示で終了
してくれません。
順番を変えたりSelectObjectにしても、小フォームの上に
中フォームがのって終了、という目標の形にならず、どちら
かが非表示のままになってしまいます。。
後でVisibleを行ったほうが無効になるようです。
(上で言うとmyFrmName2、じつはMeなんですが。。)
中を閉じた後、Visibleにして小を可視させることはできる
のですが、今後頻繁に使いそうなので、印刷ボタン(プレビュー)
一発で解決できないかなあと思っております。
ご教示いただいた上、質問を重ねるようで大変恐縮ですが、
お付き合い頂けたらありがたく思います。
宜しくお願いいたします。

【10872】Re:作業ウィンドウ固定→レポートプレビ...
発言  トト  - 08/12/15(月) 19:35 -

引用なし
パスワード
   ▼カダワン さん:
複数のポップアップフォームの際の現象は確認できました。
が、解決策は分かりません T-T ゴメンなさい


代替案として、小フォームから中フォームを開くとき、
OpenArgsにて小フォーム名を渡して、
小フォームを閉じる(または不可視にする)。

中フォームを閉じるとき、OpenArgsに小フォーム名が
入っていたら、小フォームを開く(または可視化する)

という方法ではどうでしょう。

既にOpenArgsを使用していると、ちょっと厳しいですが・・・

【10875】Re:作業ウィンドウ固定→レポートプレビ...
お礼  カダワン  - 08/12/17(水) 10:00 -

引用なし
パスワード
   トト様ありがとうございました。
やはり、中を閉じる時に操作しないとダメなようですね。
でもトト様のopenargsにてフォーム名を渡しておくのは
頻度の高い場合に向いているようです。利用させて頂きます。
本当に色々ありがとうございました。
また、何かありましたら宜しくお願いいたします!

626 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078198
(SS)C-BOARD v3.8 is Free