2017-11-11 7 views
0

ボタンを押すと、そのフォームで選択されたレコードに関するレポートが開きます。ここでボタンのコードは次のとおりです。データを表示するためにアクセスレポートを更新する必要があります

blnSave = MsgBox("Are you sure you want to exit this student?", vbYesNo, "Exit Confirmation") 
If blnSave = True Then 
      DoCmd.OpenReport "rptExitNotice", acViewPreview, , "[BehaviourID]=" & Me.BehaviourID 
      DoCmd.Close acForm, "frmExitStudent" 
      End If 

フォームが閉じ、レポートが開いたら、レポート内のすべてのフィールドは空白になってい: Empty Report あなたはF5キーを押すと、データが所定の位置に完全に表示されます。 Complete Report

私は、オープンでMe.Refresh、DoCmd.RequeryとDoCmd.Refreshの両方を置くデータなしを試してみましたが、イベントを有効にし、彼らはこれらのエラーを与えています Method or data member not found The command or action "Refresh Record" isn't available now

初めてデータを表示するレポートを取得するにはどうすればよいですか? ボタンのコードに問題はありますか? また、別のイベントでMe.Refreshなどを追加する必要がありますか?

+0

おそらく 'Me.Requery'ですか? – ashleedawg

答えて

0

私はなど、オープンで、オンロードでコードを廃棄し、1000年のタイマーでフォームを作成し、タイマーイベントは、このコードを実行:

Private Sub Form_Timer() 
Dim rpt As Report 

With Reports 
    ' Iterate over all open reports... 
    For Each rpt In Reports 
     rpt.Requery 
    Next 
End With 
lblStatus.Caption = "Generation Complete" 
DoCmd.Close acForm, "frmRefreshReport" 
End Sub 

フォーム、レポートをリフレッシュして、閉じます。リフレッシュが完了したときにテキストを変更する小さなステータスラベルがあります(エンドユーザーにとっては見た目がよくなります)。レポートが開かれるとフォームが開き、フォームが閉じられたフォームによってレポートがリフレッシュされ、F5を押すユーザーが保存されます。 出典:How to automatically reload a report in MS Access?

関連する問題