2016-08-31 2 views
0

Я использую Access для создания динамического отчета, и мне бы хотелось, чтобы при закрытии события удалялся отчет. Прямо сейчас, я создаю отчет, как это:Удалить динамически созданный отчет о событии закрытия

Set rpt = CreateReport 
With rpt 
    .Visible = True 
    .Caption = "Calendar View" 
    .BorderStyle = 1 
    .AutoCenter = True 
    .ScrollBars = 0 
    .Printer.Orientation = acPRORLandscape 
    .Modal = True 
    .PopUp = True 
    .OnClose = "[Event Procedure]" 
End With 

'extra stuff for report 

strName = rpt.Name 

DoCmd.Close acReport, strName, acSaveYes 
DoCmd.Rename "rptNewName", acReport, strName 
DoCmd.OpenReport "rptNewName", acViewPreview, , , acWindowNormal 
DoCmd.DeleteObject acReport, "rptNewName" 

Но, то DeleteObject выбросит ошибку, поскольку отчет остается открытым .. Как я могу удалить отчет о близком событии?

Спасибо!

ответ

1

Место следующее, непосредственно перед выравнивают DoCmd.DeleteObject ...

Do While Application.CurrentProject.AllReports(sRptName).IsLoaded 
DoEvents 
Loop 
+0

Спасибо, он работал отлично! – rosuandreimihai

Смежные вопросы