Заранее благодарим за любую помощь, которую вы можете оказать.Я использую заявление случая, чтобы определить, какой отчет распечатать.Я определил, что выбрана правильная формулировка дела.Вот оператор случая:
Public Function RunAll(Vvar As Integer)
Select Case Vvar
Case 1
'Case Me.frmeReports.Value = 1
DoCmd.OpenReport "rptClientDev", acViewPreview
Case 2
'Case Me.frmeReports.Value = 2
DoCmd.OpenReport "rptNetworking", , , , acViewPreview
Case 3
'Case Me.frmeReports.Value = 3
DoCmd.OpenReport "rptSpeaking", , , , acViewPreview
Case 4
'Case Me.frmeReports.Value = 4
DoCmd.OpenReport "rptArticle", , , , acViewPreview
End Select
End Function
Эта функция вызывается из следующей подпрограммы:
Private Sub cmdOK_Click()
If Me.ChkRunOne.Value = -1 Then
strAttName = Me.cmbAttyName.Value
vReportChoice = Me.frmeReports.Value
RunOnce (vReportChoice)
DoCmd.Close
DoCmd.OpenForm ("frmMainMenu")
Else
vReportChoice = Me.frmeReports.Value
RunAll (vReportChoice)
DoCmd.Close
DoCmd.OpenForm ("frmMainMenu")
End If
End Sub
Отчеты печатаются правильно с правильными значениями.Проблема в том, что я не хочу, чтобы они печатались, я хочу, чтобы они появлялись на экране.Вы можете увидеть с оператором Case 1, что я пытался использовать меньше запятых между аргументами, но результат тот же.Отчет распечатывается, а затем база данных закрывается.Я совершенно запутался здесь.
-Спасибо