Проверьте, какая вкладка нажата / Активна в форме MS Access - PullRequest
4 голосов
/ 26 мая 2011

Я создал форму в MS Access 2011, в которой сверху находится элемент управления вкладками с именем TabCtl18, в котором 3 вкладки - это страница1, страница2, страница3.Под вкладкой page1 есть еще 3 другие вкладки page11, page22, page33, а под тремя вкладками находятся 3 отчета соответственно

Теперь я хочу, чтобы, когда пользователь нажимает на значок PDF, он проверял, какая вкладка нажата, и печатать, чтоотчет.

Мой код:

Private Sub cmdPrintReportPDF_Click()

    If TabCtl18.TabIndex = 0 Then

        If tab_graph.TabIndex = 0 Then

            DoCmd.OpenReport "Graph_report", acViewNormal
            DoCmd.OutputTo acOutputReport, "Graph_report"
            DoCmd.Close acReport, "Graph_report"

        End If
    Else
        If tab_graph.TabIndex = 2 Then

            DoCmd.OpenReport "Graph_Report_FieldShifts", acViewNormal
            DoCmd.OutputTo acOutputReport, "Graph_Report_FieldShifts"
            DoCmd.Close acReport, "Graph_Report_FieldShifts"
        End If

    End If
End Sub

Ответы [ 2 ]

4 голосов
/ 24 октября 2016

На основе проблемы, выделенной @David, здесь можно проверить имя выбранного TabPage.

if tabControl1.Pages(tabControl1.Value).Caption = "TabPageName" then
    'Do Something
end if

Более того, Вы можете использовать этот код в Tab Control Click Событии, чтобы проверить, какая страница активна.

3 голосов
/ 27 мая 2011

Свойство Value (которое по умолчанию) элемента управления вкладкой является индексом страницы с фокусом. Начинается с нуля.

If TabCtl18.Value = 0 Then
  'this must be the first page
...