Форум продуктов IBM Lotus
Общие вопросы => Разработка приложений => Тема начата: tanketka от 24 Май 2011, 15:39:38
-
Добрый день!
Необходимо подредактировать мою формулу (она не правильно работает). очень нужна помощь!!
Суть: есть поля (Date_1) и (Date_2) и т.д., которые содержат даты. Даты заполняет пользователь: Date_1 = user1, Date_2 = user2 и т.д.
т.е.один пользователь равно одна дата.
Если, например, первый из них еще не проставил дату, то поля Date_1 нет.
Необходимо выбрать все имеющиеся заполненные даты (если Date_1 и Date_2 не пустые - выбираем обе, если пустая хотя бы одна из них - выбираем ту, которая заполнена, если все пустые ничего не возвращаем).
Вот моя формула:
@If(@IsNull(Date_1)=1; D_0:=@Text(" ");D_0:=@Text(Date_1));
@If(@IsNull(Date_2)=1;D_1:=@Text(" ");D_1:=@Text(Date_2));
tmp:=@Trim(D_0:D_1);
-
что значит "выбрать", особенно интересно, что значит "выбираем обе"? в каком виде нужно получить результат?
для начала:
D_0:=@If(Date_1=""; " ";@Text(Date_1));
D_1:=@If(Date_2="";" ";@Text(Date_2));
tmp:=@Trim(D_0:D_1);
еще вариант:
tmp:=@Trim(@Text(Date_1):@Text(Date_2));
-
Спасибо! ;)
Результат получаем в виде (Date_1, Date_2)
т.е. если перечисленные Date не пустые (в них содержаться собственно даты) выбираем всех, если например, Date_1 пустая, а Date_2 содержит дату, то выбираем только значение содержащееся в поле date_2.
-
еще более оптимизированный вариант:
tmp:=@Text(@Trim(Date_1:Date_2));
пустые поля даже в формате даты хранятся в виде пустой строки ""
в результате - одна дата или список из двух дат в текстовом формате