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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Вопрос про репорт, как убрать/обозначить дефалтный запрос в фильтр? Access2003
 
 автор: LilijaSt   (21.10.2008 в 12:50)   личное сообщение
 
 

Вот код, в котором ввожу нужные зна4ения в фильтр. Но при первом открытии репорта, всё равно выскакивает окошко с требованием ввести данные по которым будет производится фильтрация... Как етот "глюк" убрать?


Private Sub REPORT_Click()
  
   Dim strRegNo As String
   Dim strADSB As String
   Dim strFilter As String

   DoCmd.OpenReport "ADSB REG", acViewPreview


    If IsNull(Me.Text0.Value) Then
        strRegNo = "Like '*'"
    Else
        strRegNo = "='" & Me.Text0.Value & "'"
    End If

    
    If IsNull(Me.Text2.Value) Then
        strADSB = "Like '*'"
    Else
        strADSB = "='" & Me.Text2.Value & "'"
    End If
   
       strFilter = "[RegNo] " & strRegNo & " AND [AD/MSB NO] " & strADSB
       
   With Reports![ADSB REG]
         
         .Filter = strFilter
         .FilterOn = True
         
    End With
    
   Me.Text0.Value = Null
   Me.Text2.Value = Null

End Sub

  Ответить  
 
 автор: osmor   (21.10.2008 в 13:31)   личное сообщение
 
 

а так?

Private Sub REPORT_Click()
  
   Dim strRegNo As String
   Dim strADSB As String
   Dim strFilter As String


    If IsNull(Me.Text0.Value) Then
        strRegNo = "Like '*'"
    Else
        strRegNo = "='" & Me.Text0.Value & "'"
    End If

    
    If IsNull(Me.Text2.Value) Then
        strADSB = "Like '*'"
    Else
        strADSB = "='" & Me.Text2.Value & "'"
    End If
   
       strFilter = "[RegNo] " & strRegNo & " AND [AD/MSB NO] " & strADSB
       
 '  With Reports![ADSB REG]
         
'         .Filter = strFilter
'         .FilterOn = True
        
 '   End With

 DoCmd.OpenReport "ADSB REG", acViewPreview,,strFilter 
    
   Me.Text0.Value = Null
   Me.Text2.Value = Null

End Sub 



или если перенести формирование и применение фильтра на событие Open отчета?

  Ответить  
 
 автор: LilijaSt   (21.10.2008 в 13:49)   личное сообщение
 
 

Да, проблема была именно тут.

Только для работы, закрытый вами кусок кода всёже нужен, и стоять они должни в следующем порядке:


    If IsNull(Me.Text0.Value) Then
        strRegNo = "Like '*'"
    Else
        strRegNo = "='" & Me.Text0.Value & "'"
    End If

    
    If IsNull(Me.Text2.Value) Then
        strADSB = "Like '*'"
    Else
        strADSB = "='" & Me.Text2.Value & "'"
    End If
   
   strFilter = "[REG NO] " & strRegNo & " AND [AD/MSB NO] " & strADSB
       
   DoCmd.OpenReport "ADSB REG", acViewPreview, , strFilter
   
   With Reports![ADSB REG]
         
        .Filter = strFilter
        .FilterOn = True

   End With


или на открытие репорта...как вариант - тоже работает.

  Ответить  
 
 автор: osmor   (21.10.2008 в 15:05)   личное сообщение
 
 

"Только для работы, закрытый вами кусок кода всёже нужен, и стоять они должни в следующем порядке:"
Зачем? Фильтр и так применяется
DoCmd.OpenReport "ADSB REG", acViewPreview, , strFilter

  Ответить  
 
 автор: LilijaSt   (21.10.2008 в 17:06)   личное сообщение
 
 

Я то вижу, что применяетя... только вот програмка иначе не работает.

  Ответить  
 
 автор: osmor   (21.10.2008 в 17:09)   личное сообщение
 
 

вам виднее

  Ответить  
 
 автор: LilijaSt   (22.10.2008 в 15:15)   личное сообщение
 
 

Знаете, всё же тут чтото не чисто... один репорт нормалйно по етому фильтру работает... а вот другой.... хоть бы хны!

В коде всё описывается верно. Но при запуске - требует еще раз ввести в фильтр данные(тут получается опять дублированние) и ни4его не находит! Хотя если зайти в пропертис, после того как он уже открылся - в фiльтре всё более 4ем 4етко и верно описанно...

Тоесть код то всё верно делает.... а вот 4то с остальным творитса - непонятно.

  Ответить  
 
 автор: osmor   (22.10.2008 в 15:55)   личное сообщение
 
 

посмотрите источник данных отчета

  Ответить  
 
 автор: LilijaSt   (22.10.2008 в 16:08)   личное сообщение
 
 

Посмотрела уже в какой 20ый раз - то что надо. Если в фильтре заменить "и" на "или", то он показывает в репорте 1ую запись - но это всё 4его смогла от него добиться....

  Ответить  
 
 автор: osmor   (22.10.2008 в 16:44)   личное сообщение
 
 

откройте отчет в режиме конструктора
удалите строку фильтра
свойство "фильтр включен" поставьте - "нет"
Проверьте что в источнике данных отчета нет условий
сохраните отчет.

  Ответить  
 
 автор: LilijaSt   (23.10.2008 в 16:47)   личное сообщение
 
 

И это тоже пока не помогло. Просто странность в том, что один репорт работает - а 2ой нет.... и видимой причины на это не видно....

Может я какоето важное действие упускаю при создании репорта?

(Так как, тот репорт, который воспринимает код верно, был изначально сделан не мной.)

  Ответить  
 
 автор: Lukas   (23.10.2008 в 16:49)   личное сообщение
 
 

А в самом отчете есть поля, участвующие в условиях фильтра?

  Ответить  
 
 автор: LilijaSt   (23.10.2008 в 16:54)   личное сообщение
 
 

Есть.... дело заканчивается тем, что в пропертях запроса, фильтр записан так как описываетса в коде, и данные взяты из нужной формы... только вот сам репорт не воспринимает то что у него там в пропертях уже есть....

  Ответить  
 
 автор: Lukas   (23.10.2008 в 17:23)   личное сообщение
 
 

Прицепите кусок БД с необходимыми таблицами, запросами, формами и отчетами. Посмотрим.

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