2014-09-05 4 views
0

У меня есть отчет, встроенный в форму, содержащую текстовое поле и кнопку.MS Access, Обновление отчета, встроенного в форму

Мое желание - обновить фильтр в отчете и запросить и обновить отчет в форме. Я не очень хорошо знаком с использованием VBA в доступе, поэтому я вполне могу быть полностью вне базы с тем, как я пытаюсь это сделать.

Событие, которое срабатывает при нажатии кнопки generateExhib, приведено ниже.

Отчет, который встроен как подформат/подзаголовок, называется TagReport.

Private Sub GenerateExhib_Click() 



    If (generatePrintedExhib.Value = False) Then 
     Me.TagReport.Application.DoCmd.SetFilter WhereCondition:="[Exhibitor ID] =" + ExhibitorNumber.Value + " AND [UDEntry-CheckBox1] = false" 
    Else 
     Me.TagReport.Application.DoCmd.SetFilter WhereCondition:="[Exhibitor ID] =" + ExhibitorNumber.Value 
    End If 


    Me.TagReport.Report.Application.DoCmd.Requery 
    Me.TagReport.Report.Application.DoCmd.RefreshRecord 


End Sub 
+0

Не уверен, что это преступник, поэтому я опубликую это как комментарий, но почему вы проходите через всю меру «Me.TagReport.Report.Application.DoCmd.Requery» вместо «Me.TagReport». Requery'? – Aiken

ответ

0

Я создал небольшую тестовую форму со встроенным отчетом, комбинированное поле со значениями для фильтрации и кнопкой обновления. В событии нажатия кнопки я добавил следующий код:

Private Sub cmdRefresh_Click() 
    Dim filter As String 

    filter = "CardCode = '" & Me.cmbFilter.Value & "'" 

    '"subform_rpt" is the specific name of the embedded report. 
    DoCmd.ApplyFilter "Filter", filter, "subform_rpt" 

End Sub 

Работы очень красиво для меня. Я надеюсь, это поможет.

+0

Кроме того, если вы новичок здесь, если этот ответ решает вашу проблему, нажмите галочку рядом с ним, чтобы отметить это как ответ. Если вы сочтете это полезным, по крайней мере, проголосуйте за него. –

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