|
|
|
| В отчете есть подотчет, который должен скрываться в зависимости от переданного отчету условия OpenArgs. Условие передается через DoCmd.OpenReport "ИмяОтчета", OpenArgs:=gintFunctional. В отчете
Private Sub Report_Open()
Dim intFunctl As Integer
intFunctl = Me.OpenArgs
If IsNothing(Me.OpenArgs) Or intFunctl = 9 Or intFunctl = 22 Or intFunctl = 25 _
Or intFunctl = 35 Or intFunctl = 56 Or intFunctl = 57 Or intFunctl = 9 Then
Me![ШтатРаспСтрокаАдд].Visible = False
End Sub
|
Акс ругается: run-time error ‘2501’: Прервано выполнение макрокоманды OpenReport
Что делать? Ведь отчет должен открываться, даже если отсутствует аргумент открытия? | |
|
| |
|
|
|
| открыть отчет невидимым в режиме конструктора
в зависимости от условий изменить значения элементов отчета
закрыть отчет
открыть отчет в нормальном режиме | |
|
| |
|
|
|
| 1) intFunctl =cint( nz(Me.OpenArgs,"0"))
2) IsNothing(Me.OpenArgs Замени на Isnull(Me.OpenArgs)
или len(NZ(Me.OpenArgs,""))=0
3)
Select Case intFunctl
Case 0, 9, 22, 25, 35, 56, 59
Me![ШтатРаспСтрокаАдд].Visible = False
Case Else
Me![ШтатРаспСтрокаАдд].Visible = True
End Select
добавил 3 | |
|
| |
|
|
|
| сделал так:
Private Sub Report_Load()
Dim intFunctl As Integer
intFunctl = CInt(Nz(Me.OpenArgs, "0"))
'intFunctl = CInt(Nz(gintFunctional, 0))
If intFunctl = 75 Or intFunctl = 78 Then
Me![ШтатРаспСтрокаАдд].Visible = True
Else
Me![ШтатРаспСтрокаАдд].Visible = False
End If
End Sub
|
и Report_Open() заменил Report_Load(), иначе ругается как прежде, и немного прежний код подшаманил, но подотчет все равно виден в отчете | |
|
| |
|
|
|
| Me.ШтатРаспСтрокаАдд.Visible непонятно, почему не работает. Прогони отладчиком, чему равно intFunctl | |
|
| |
|
|
|
| спасибо за совет. Оказалось, что забыл обновлять intFunctl перед каждым запуском. Всё пучком теперь. Еще раз спасибо! | |
|
| |
|
|
|
| snipe, нельзя поподробнее или примерчик? | |
|
| |
|
14 Кб. |
|
| пожалуйста => | |
|
| |
|
|
|
| Мдаа, интересно. спасибо! | |
|
| |