Форум продуктов IBM Lotus

Общие вопросы => Разработка приложений => Тема начата: Sergey_st85 от 06 Май 2010, 14:24:21

Название: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: Sergey_st85 от 06 Май 2010, 14:24:21
Предположим, заполнено оно так:

Один | 1
ДВА | 2

В само поле сохраняется 1 или 2, это ясно. А в другое поле я в момент выбора хочу вставить "Один" или "ДВА". Как сделать? Оч. желательно на формулах.

Спс.
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: ViV от 06 Май 2010, 14:43:31
Можно поставить в свойствах первого поля рефрешить поля при изменении значения. А второе поле сделать вычисляемое на основе первого поля.
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: Sergey_st85 от 06 Май 2010, 14:49:36
Но в вычисляемое поле запишется "1" или "2" тогда, а мне не нужны алиасы, нужны реальные слова...
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: ViV от 06 Май 2010, 14:55:55
Смотря что вы в формулу запишите. Можно так:
@if(field1="1"; "Один"; field1="2"; "ДВА"; "")
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: Sergey_st85 от 06 Май 2010, 15:07:52
Я не могу вписать формулу, потому что у меня каждый раз в этом поле будут разные значения; формула там стоит.

В разных базах эта ф-ла дает разные рез-ты. Соотв я не могу написать иф-then, т.к. в 1 случае "1" - это "Один", а в другом - "Два".
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: ViV от 06 Май 2010, 15:24:20
Не понятно, что вам нужно. Чтобы второе поле содержало "человеческое" значение первого или что-то другое?
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: Sergey_st85 от 06 Май 2010, 15:32:46
Пусть формула сработала в поле XXX в первой базе.

Вернула

Козел | животное
Муха | насекомое

При выборе в комбобоксе XXX нужного значения  - значение XXX равно либо "животное", либо "насекомое".

А мне нужно добавить 2-е поле YYY, в которое сохраняется не алиас выбранного в XXX, а непосредственно человек что видит, т.е. "Козел", "Муха".



Пусть формула сработала на 2-й базе. Вернула
Лёха | человек
Маша | нечеловек.

Нужно чтобы то же самое было, что и в 1 случае; мне нужно в отдельное поле сохранить человеческое значение.

Если ваше 1-е утверждение верно - опишите по шагам; я не понимаю.
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: ViV от 06 Май 2010, 15:39:56
Тогда нужно исходить из той формулы, что генерит значения для первого поля. На ее основе можно составить формулу для второго поля.
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: Sergey_st85 от 06 Май 2010, 15:51:26
"":(@DbLookup ("";"":"";"ORG2";funduszUNID;4) + "|" + @DbLookup ("";"":"";"ORG2";funduszUNID;2))

Возвращает 1300 выбираемых позиций.
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: Sergey_st85 от 06 Май 2010, 15:52:14
Формат - "Название | Код". Сохраняется в поле  - Код. Нужно в поле№2 сохранять Название выбранного Кода.
Название: Re: Пусть есть комбобокс с формулой заполнения с синонимами.
Отправлено: ViV от 06 Май 2010, 16:36:23
например такую формулу для второго поля:

list1 := @DbLookup ("";"":"";"ORG2";funduszUNID;2);
list2 := @DbLookup ("";"":"";"ORG2";funduszUNID;4);
pos := @Member(field1; list1);
list2[pos];

и добавить проверки для корректности.