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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Вместо нулей "Ошибка"
 
 автор: bel   (21.01.2008 в 11:52)   личное сообщение
 
 

Подскажите пожалуйста ошибку. Мне в отчете в поле, где должен стоять 0 пишет "Ошибка"
Пишу в свойстве поля:
=TimeValue(Format(TimeValue(CDate(Nz(IIf([Variant]=0;0);#0:00:00#)))-TimeValue(CDate(Nz([Variant3];#0:00:00#)));"hh:nn"))

А вот в другом поле пишу:
=TimeValue(Format(TimeValue(CDate(Nz(IIf([Variant]<>0;0);#0:00:00#)))-TimeValue(CDate(Nz([Variant3];#0:00:00#)));"hh:nn"))

Но в поле выводит не то, что нужно - выводит тоже самое что в вышеупомянутом поле

  Ответить  
 
 автор: час   (21.01.2008 в 12:06)   личное сообщение
 
 

А если должен стоять 0 - может так и написать =0.
Или вы хотите выводить что- то типа час:мин?
В свойствах поля есть формат поля - можете для начала там написать hh;nn
а где вы пишите своё сложнейшее условие?

  Ответить  
 
 автор: bel   (21.01.2008 в 17:20)   личное сообщение
 
 

ааа, я изначально не то условие задала... но все-равно

у меня в отчете есть 2 поля: Variant и Variant3, которые заполняются автоматически из запроса. Есть еще 2 поля Поле1 и Поле2.
Мне нужно, чтобы Поле1 и Поле2 заполнялись так:
если Variant>Variant3, то Поле1=Variant-Variant3
если Variant<Variant3, то Поле1=0, а Поле2=Variant-Variant3

  Ответить  
 
 автор: bel   (21.01.2008 в 17:26)   личное сообщение
 
 

я думаю, надо процедуру на открытие отчета сделать... проще наверное будет, чем с этими формулами мучиться

  Ответить  
 
 автор: bel   (21.01.2008 в 17:45)   личное сообщение
 
 

Что-то вроде этого должно быть?
У менч просто не работает... ошибка: Compile error: Syntax error

Private Sub Report_Open(Cancel As Integer)

If [Variant]> [Variant3] then Поле1=TimeValue(Format(TimeValue(CDate(Nz([Variant];#0:00:00#)))-TimeValue(CDate(Nz([Variant3];#0:00:00#)));"hh:nn"))
Else Поле1=0 and Поле2=TimeValue(Format(TimeValue(CDate(Nz([Variant];#0:00:00#)))-TimeValue(CDate(Nz([Variant3];#0:00:00#)));"hh:nn"))
If [Variant] = [Variant3] Then Поле1 = 0 And Поле2 = 0
End If
End If

DoCmd.Maximize
End Sub

  Ответить  
 
 автор: bel   (22.01.2008 в 10:28)   личное сообщение
 
 

Помогите пожалуйста!!!!

  Ответить  
 
 автор: час   (22.01.2008 в 12:19)   личное сообщение
 
 

Попробуйте вот так:
Откройте отчёт в режиме редактирования войдите в модуль отчёта - где программыи пишут
и на событие открытие отчёта открытие или активация ( Report - Open ) Введите
если Variant>Variant3, то Поле1=Variant-Variant3
если Variant<Variant3, то Поле1=0, а Поле2=Variant-Variant3

Только по английски
If Me.Variant>me.Variant3 then Поле1=(me.Variant-me.Variant3)

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