Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: В отчете есть подотчет, который должен скрываться ...
 
 автор: ser60   (14.04.2011 в 05:22)   личное сообщение
 
 

В отчете есть подотчет, который должен скрываться в зависимости от переданного отчету условия 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
Что делать? Ведь отчет должен открываться, даже если отсутствует аргумент открытия?

  Ответить  
 
 автор: snipe   (14.04.2011 в 07:30)   личное сообщение
 
 

открыть отчет невидимым в режиме конструктора
в зависимости от условий изменить значения элементов отчета
закрыть отчет
открыть отчет в нормальном режиме

  Ответить  
 
 автор: Дядя Федор   (14.04.2011 в 08:07)   личное сообщение
 
 

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

  Ответить  
 
 автор: ser60   (15.04.2011 в 06:08)   личное сообщение
 
 

сделал так:

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(), иначе ругается как прежде, и немного прежний код подшаманил, но подотчет все равно виден в отчете

  Ответить  
 
 автор: Дядя Федор   (15.04.2011 в 12:30)   личное сообщение
 
 

Me.ШтатРаспСтрокаАдд.Visible непонятно, почему не работает. Прогони отладчиком, чему равно intFunctl

  Ответить  
 
 автор: ser60   (15.04.2011 в 15:25)   личное сообщение
 
 

спасибо за совет. Оказалось, что забыл обновлять intFunctl перед каждым запуском. Всё пучком теперь. Еще раз спасибо!

  Ответить  
 
 автор: ser60   (15.04.2011 в 06:09)   личное сообщение
 
 

snipe, нельзя поподробнее или примерчик?

  Ответить  
 
 автор: snipe   (15.04.2011 в 12:03)   личное сообщение
14 Кб.
 
 

пожалуйста =>

  Ответить  
 
 автор: ser60   (15.04.2011 в 15:30)   личное сообщение
 
 

Мдаа, интересно. спасибо!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList