質問

MS Accessレポートでレポートを作成し、データを取得してMS-Word形式でレポートを表示するVBAコードを作成しました。 ただし、実行時にレポートを生成する間、レポートは最初にレポートデザインビューを数秒間表示またはフラッシュし、レポートが生成されます。

レポートの生成中にこのデザインビューの点滅を回避する解決策を見つけたいと思います。このMS-AccessまたはVBAコーディングで可能ですか? ??

アクセスフォームコードからアクセスレポートを呼び出すために使用した行を投稿しています。

DoCmd.OpenReport rst![引数]、acPreview

これによりレポートが生成されますが、実行中にデザイン画面が数秒間点滅します。

また、アクセスレポートにVBAコードが記述されていません。

実際の実行では、一時アクセステーブルにデータを準備し、テーブルからレポートを生成しています。

ここでの問題は、レポートをプレビューモードで起動しているときに、レポートのデザイン画面に数秒表示されることです。これはユーザー側から見ると悪いように見えます。

役に立ちましたか?

解決

このコードを試すとどうなりますか:

  Dim strReport As Report        
  strReport = rst!Argument
  If SysCmd(acSysCmdGetObjectState, acReport, strReport) Then
     DoCmd.Close acReport, strReport
  End If
  DoCmd.OpenReport strReport, acPreview

このコードは、レポートがビューで既に開いているかどうかを確認し、開いている場合は閉じてから開きます。これにより、ウィンドウが非表示のデザインビューではなくなります。

また、コードは、レコードセットからOpenReportコマンドに値を渡すことに関連する可能性のあるByRef参照の問題を回避します。

他のヒント

一部のプロパティを変更するために、デザインビューでレポートを開いているようです。これを回避することも可能かもしれませんが、レポートを開くコードを投稿して確実に言う必要があります。

レポートをMS-Wordにどのようにエクスポートしますか?コードは何ですか?

VBAコードを使用する代わりに、単純なレポート(テーブルデータソース)で同じことを試しましたか? VBAの実行に非常に時間がかかっているため、レポートをデザインモードで開いたままにしておくと、知覚できるほど長くなります。

VB6アプリケーションからMS Accessレポートを呼び出すと、同じことが起こります。私の場合に起こるのは、起動時に表示されるように設定されたフォームがあるためです。スタートアップフォームを選択していない場合、スタートアップフォームは表示されないため、点滅しません。

これが役立つかどうか教えてください。

マイク

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top