Я думаю, что лучший способ справиться с этим - использовать msgbox yes-no, чтобы узнать, должны ли отображаться критерии, а затем запустить отчет, используя параметр «где» в команде DoCmd.OpenReport.
Dim intAnswer As Integer
Dim intAnswer As Integer
intAnswer = MsgBox("Show the details?", vbYesNo)
If intAnswer = vbYes Then
DoCmd.OpenReport "Form1", acViewPreview, , "[Status] <> ""Completed""", acWindowNormal, "Yadda Yadda"
Else
DoCmd.OpenReport "Form1", acViewPreview, , , acWindowNormal, "Zippity Doohdah"
End If
Если вы хотите сообщить отчет о том, что пользователь выбрал один метод, чтобы передать OpenArgs
строку, а затем иметь этикетку на отчет, который показывает эту строку. (Выше я прохожу фразу "Yadda Yadda", или "Zippity Dodah")
В докладе, добавить метку (здесь под названием Label1) и установить его Caption равны OpenArgs:
Private Sub Report_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Me.Label1.Caption = Me.OpenArgs
End If
End Sub
Это что мне нужно. Есть ли способ распечатать строку в отчете, указывающую, какой выбор выбран пользователем, например, если intAnswer = да, тогда в отчете будут указаны активные контракты, а если они не будут выбирать, в отчете будут указаны все контракты? – KiloJKilo
То есть текстовое поле или ярлык или что-то со строкой в нем, которая каким-то образом указывает на то, что пользователь нажал. Как переменная, называемая «Выбор», устанавливается в любом из блоков, а затем текстовый объект в отчете, отображающий эту переменную. – KiloJKilo
Я уточнил ответ с дополнительной информацией. –