Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Pro : Access 2019)
DoEventsについて
投稿日時: 23/12/20 21:42:41
投稿者: かず

おせわになります。
Accessのフォームにボタンを作ってレポートをプレビュー表示させています。
 
DoCmd.OpenReport "R_リスト", acViewPreview
 
ボタンを押すとほんの一瞬だけ表示されて即閉じてしまうのです。
どうしていいかわからずレポートのOpenイベントの中にDoEventsを3行入れてみたところ
うまく動作するようになってしまいました。
 
なぜDoEventsをいれたらうまく動作してしまったのかを知りたいのです。
このDoEventsは1〜2行ではダメで3行以上入れると
レポートはうまくプレビュー表示されます。
 
Private Sub Report_Open(Cancel As Integer)
        DoEvents
        DoEvents
        DoEvents
End Sub
 
もともとの作り方に何か原因があるのか?
原因として考えられる事についてヒントだけでも教示いただけないでしょうか。

回答
投稿日時: 23/12/21 13:36:17
投稿者: Suzu

今述べられた内容だけで、原因は判りかねます。
 
 
例えば、
・手動でそのレポートを開いたらどうなのか
・別のPCで 同じファイル、同じ VBAを動作させたらどうなのか
・別のレポートを指定したらどうなのか?
・レポートをコピー(バックアップをとり)、ひとつづつコントロールを削除していったらどうなのか?
   :
   etc
 
テストを行い、何が原因なのかをご自身で探しましょう。

投稿日時: 23/12/21 15:39:04
投稿者: かず

Suzuさんありがとうございます。
 
・手動でそのレポートを開いたらどうなのか
→手動だと問題無く開きます。
・別のPCで 同じファイル、同じ VBAを動作させたらどうなのか
→現象は同様にでます。
・別のレポートを指定したらどうなのか?
→別のレポートは問題なく開きます
 
何年か前ですがレポートでは無くフォームで同様なケースがありました。
結局原因はわからず。
 
取り合えず動作しているので
時間をかけて調べてみようかと思います。
ありがとうございました。

回答
投稿日時: 23/12/22 08:50:34
投稿者: Suzu

引用:
・別のPCで 同じファイル、同じ VBAを動作させたらどうなのか
→現象は同様にでます。

  ↓
 PC固有の問題ではない事 (PCのOS・Access 設定の違いは否定できない)
 
引用:
・別のレポートを指定したらどうなのか?
→別のレポートは問題なく開きます

  ↓
 レポート固有の問題である可能性が高い
 
 
引用:
・手動でそのレポートを開いたらどうなのか
→手動だと問題無く開きます。

  ↓
 この動作について、手動でも同様の現象が発生するなら、
 ほぼレポート固有の問題であると推測できるのですが、
 この現象については判断できかねますが、
 
 他のレポートでは発生しない事から、
 そのレポートの何かしらが発生の一因である事は
 ほぼ間違いないでしょう。
 
 
引用:
何年か前ですがレポートでは無くフォームで同様なケースがありました。
結局原因はわからず。

今回のレポートと共通な部分が判るなら、共通している部分が起因していると判断できるでしょう。
 
 
とりあえず、
 ・OS、アプリケーションのアップデート
 ・ファイルの修復と最適化
を行い、同じ現象になるなら
 
ひとつづつコントロールを削除していって、発生の要因となるコントロールを特定する事になるでしょう。

投稿日時: 23/12/22 12:21:12
投稿者: かず

何度もすいません
 
・OS、アプリケーションのアップデート
・ファイルの修復と最適化
 
これは既に最新版で更新されている事は確認済みです
と言っても3台だけなんですが。
この3台で全く同じ動きをしてしまいます。
DoEventsの付け足し、削除だけで何回でも再現可能です。
 
原因を特定するまでには、
まだまだ時間がかかりそうなので一度CLOSEします。
 
親切にありがとうございました。
 
原因が特定出来たら連絡させて頂きます。