|
|
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
Табличная подч.форма: 2 поля (условно): №этапа и дата. Хочу в главной форме вывести в поле самую старшую дату из всего набора (если у всех этапов дата проставлена) или что-то вроде сообщения "Не всё" (если даты у каких-то этапов нет). Каждый этап имеет характеристику "Важность", этапы с важностью = 0 или =1 не учитываются (на наличие даты наплевать). Создаю в примечании подч.формы поле, данные которого равны: IIf([Дата] Is Not Null And ([Важность]<>0 OR [Важность]<>1);Max([Дата]);"Не всё!") В главной форме в поле указываю ссылку на ....(ну как сумму вычисляют) Вроде всё работает, но если в подч.форме щёлкнуть на этапе без даты, но с учитываемой важностью, возникает сообщение "Не всё!". Стоит перейти на любую строку полностью соответствующую условию - всё нормально. Что-то я либо упустил, либо перемудрил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2003, 19:31 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
авторIIf([Дата] Is Not Null And ([Важность]<>0 OR [Важность]<>1);Max([Дата]);"Не всё!") Такая формула берет значения полей [Дата] и [Важность] из текущей записи. А текущая запись, судя по описанию, ни на что влиять не должна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2003, 19:34 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
То-то и оно, что влияет. Ситуация: Дата = Null и Важность = 3 не попадает "под условие" и, соответственно, выводится "Не все". Т.е., в отличии от вычисления суммы, когда переход по записям действительно ни на что не влияет(там же нет условия), у меня всё портит ф-ция IIf. А как обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 10:14 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
фигню ты написал (о чем тебе намекнули). И удивляешься, что "влияет". Тебе ж русским языком говорят - напиши то, на что влиять не будет (ибо в постановке задачи "влиять не должна", а отнюдь не в той лабуде, что ты тут привел). Тьфу на тебя. Нешто настолько трудно головой подумать. ТЫ по набору считать собрался? тогда какого хрена у тебя это все в текущей записи подчиненной формы располагается (и для нее одной и считается)? Или я чего-то в твоих описаловах не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 10:21 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
А, уфидел: Max вынеси наружу (IIf - внутре). Фсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 10:23 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
т.е., с учетом всех пожеланий как-то так: IIf(Max(IIf([Дата] Is Not Null And ([Важность]<>0 OR [Важность]<>1);[Дата];IIf([Важность]<>0 OR [Важность]<>1);{некое до хера};0))={некое до хера}; "не фсе";Max(IIf([Дата] Is Not Null And ([Важность]<>0 OR [Важность]<>1);[Дата];0)) а вапще максимум от "свитча" покороче путет (варианта-то три) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 10:40 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
Господа, может быть я что-то не понимаю, но скажите, а зачем здесь [Важность]<>0 OR [Важность]<>1 ???? Я бы еще понял, если бы было [Важность]<>0 AND [Важность]<>1. Ведь первый вариант вернет все записи, какая бы Важность там ни стояла. Или я все же чего-то не знаю или не понимаю???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 12:05 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
[Важность]<>0 OR [Важность]<>1 - это, как я понял, условие учета в подсчетах. Пусть {ВАЖНО}==[Важность]<>0 OR [Важность]<>1. тогда видимо хочется что-то наподобие (т.к. True<False): =Switch(Min([Дата] Is Null And {ВАЖНО})=True;"Не все";True;Max(IIf({ВАЖНО};[Дата];0))) действительно,в предлагаемом автором выражении, в условии переключения стоят значения ТУКУЩЕЙ записи. чтобы стояли результаты по всей выборке, надо взять какой-то агрегат: IIf(Min([Дата] Is Null And ([Важность]<>0 OR [Важность]<>1))=0;Max([Дата]);"Не всё!") но, к тому же, и вместо Max([Дата]), наскоко я понял автора, нужно брать не все, а только Max(IIf({ВАЖНО};[Дата];0)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 13:06 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
Что-то я не въезжаю: [Важность]<>0 OR [Важность]<>1 - это, действительно, исключение из учёта записей, т.е. если [Важность] равна 0 или 1, то значение [Дата] этой записи не учитывается. Min([Дата] Is Null And ([Важность]<>0 OR [Важность]<>1))=0 будет равняться 0, когда [Дата] будет равна Null при этом значение выражения в скобках будет не важно: 0 And <любое> =0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 14:24 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
То АндрейК: Именно так. Если тебе надо исключить то, где Важность равна 0 или 1, то вместо OR надо юзать AND иначе условие всегда остается верным! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:05 |
|
||
|
Максимальная дата и не только........
|
|||
|---|---|---|---|
|
#18+
авторкогда [Дата] будет равна Null при этом значение выражения в скобках будет не важно: 0 And <любое> =0 с каких это пор True =0??? Я фуею, дорогая редакция! авторкогда [Дата] будет равна Null,тогда ([Дата] Is Null) =-1, бубеныть!!!, а соответственно проверяем, а важно ли нам это. Если же [Дата] будет равна (гы!) NOT Null, тогда ([Дата] Is Null) =0 , и нам не важно, "важно" ли нам это при вычислении факта "всякий ли датый, который пустой, есть не важный" . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2003, 15:57 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32353518&tid=1677596]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 455ms |

| 0 / 0 |
