Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Спецам Access - как составить выражение условия? / 7 сообщений из 7, страница 1 из 1
13.11.2003, 19:14
    #32323618
dsh
dsh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спецам Access - как составить выражение условия?
Господа, подскажите пожалуйста, вот такую вещь:

Сделал так:
ИтогоTEST: IIf([Срок выполнения]>=[фактич выполнение];Null;(([Задержка]-1)*[Баллы за день просрочки])+[Количество баллов])
Всё работает, но:
1. Нужно сделать так, чтобы машина понимала и поле [Срок выполнения] и поле [кор срок исп] должны быть >=поля [фактич выполнение], т.е. я думал что так, но почему-то неработает:
ИтогоTEST: IIf([Срок выполнения] Or [кор срок исп]>=[фактич выполнение];Null;(([Задержка]-1)*[Баллы за день просрочки])+[Количество баллов]). Вместо Or пробовал и And – работает неправильно!

2. Нужно сделать так, чтобы машина понимала, что если условие ([Срок выполнения] Or [кор срок исп]>=[фактич выполнение] ложно то выражение (([Задержка]-1)*[Баллы за день просрочки])+[Количество баллов]) выводилось бы только удовлетворяющее условию >0.
Пробовал так: ((([Задержка]-1)*[Баллы за день просрочки])+[Количество баллов])>0) – правильно не работает!

Заранее благодарю за ответы, с уважением,
Дмитрий
...
Рейтинг: 0 / 0
13.11.2003, 19:28
    #32323634
наутилус
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спецам Access - как составить выражение условия?
автор писал:Срок выполнения] Or [кор срок исп]>=[фактич выполнение]
неправильно...

наверное лучше так:

(([Срок выполнения]>=[фактич выполнение]) or ([кор срок исп]>=[фактич выполнение]))
...
Рейтинг: 0 / 0
13.11.2003, 19:29
    #32323636
Fagrant
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спецам Access - как составить выражение условия?
Посмотри внимательно что ты пишешь. Надо так:

IIf(([Срок выполнения]>=[фактич выполнение]) Or ([кор срок исп]>=[фактич выполнение]);Null;(([Задержка]-1)*[Баллы за день просрочки])+[Количество баллов])
...
Рейтинг: 0 / 0
13.11.2003, 19:56
    #32323666
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спецам Access - как составить выражение условия?
Код: plaintext
1.
2.
3.
4.
IIF(([Срок выполнения]>=[фактич выполнение]) 
OR ([кор срок исп]>=[фактич выполнение]);Null;
IIF(([Задержка]- 1 )*[Баллы за день просрочки]+[Количество баллов] >  0  ;
([Задержка]- 1 )*[Баллы за день просрочки]+[Количество баллов]> 0  ;null))
...
Рейтинг: 0 / 0
13.11.2003, 19:59
    #32323668
dsh
dsh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спецам Access - как составить выражение условия?
Огромное спасибо "наутилус" и "Fagrant" за ответы по п.1 - всё сработало!

По п.2 поясняю:
Итого: IIf(([Срок выполнения]>=[фактич выполнение]) Or ([кор срок исп]>=[фактич выполнение]);Null;(([Задержка]-1)*[Баллы за день просрочки])+[Количество баллов]).

У меня в запросе вычисляемое поле "Итого" с условием. Написал бы подробно, да там столько наворотил, что боюсь столько писать в форуме не есть Good.
Вобщем нужно чтобы в поле "Итого" вычислялось (([Задержка]-1)*[Баллы за день просрочки])+[Количество баллов]), где:
- задержка = срок фактич выполнения -срок выполнения плановый, если забит скорректированный срок, то срок фактич выполнения - скорректированный срок.
Причём когда не введён "фактич срок выполнения" программа выдаёт в поле "Итого" числовые значения с отрицательным знаком, а надо чтобы было пусто, поэтому я хотел ввести условие, что если условие введённое в оператор IIf ложно, то выдавало... тьфу сам запутался вобщем при невведённом "фактич срок выполнения" в ячейке поля "Итого" должно быть пусто, а не -379409.

Голова уже не варит, sorry

Заранее благодарю за ответы, с уважением,
Дмитрий
...
Рейтинг: 0 / 0
13.11.2003, 19:59
    #32323669
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спецам Access - как составить выражение условия?
Sorry, конечно же
Код: plaintext
1.
2.
3.
IIF(([Срок выполнения]>=[фактич выполнение]) 
OR ([кор срок исп]>=[фактич выполнение]);Null;
IIF(([Задержка]- 1 )*[Баллы за день просрочки]+[Количество баллов] >  0  ;
([Задержка]- 1 )*[Баллы за день просрочки]+[Количество баллов] ;null))
...
Рейтинг: 0 / 0
13.11.2003, 20:14
    #32323677
dsh
dsh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спецам Access - как составить выражение условия?
Голова начила слегка варить и всё благодаря Вашим советам получилось.

ВСЕМ ОТВЕТИВШИМ ОГРОМНЕЙШЕЕ СПАСИБО!

С уважением,
Дмитрий
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Спецам Access - как составить выражение условия? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]