Lotus Notes Удаление Неверная подчиненного значения ключевых слов
Да, я знаю, что название этого наконечника ничего не значит. Но я не мог придумать название значимым в нескольких словах. Итак, позвольте мне описать ситуацию. Скажем, у вас есть несколько ключевых слов значения полей, которые содержит государство имена. И еще несколько слов значение поля, которое содержит название города. Выбор названия городов приходят из выбранных имен государства. Если вы решите некоторых городах, а затем вернуться и снять состояние, как вы устранения этих отдельных городах, которые уже не выбор?
Форма начинается с Редактируемый, Dialog список полей, что позволяет несколько значений, называется государством. Выбор этой области приходят из @ DbColumn. Поле опции "Обновить поля на изменение ключевых слов" включен.
Второе поле является редактируемым, Диалог поле список, который позволяет несколько значений. Второе поле называется город. Выбор на основе выбранного государства. Например, вот "Использовать формулу для выбора" выбор в качестве примера применения:
Поиск: = @ DBLookup ("", "", "vwLookupCityState"; государства; 2);
@ If (@ IsError (Поиск); ""; Поиск)
Город поле опции "Обновить поля на изменение ключевых слов" и "Обновить выбор на документ обновление" включена. Таким образом, когда пользователь выбирает одного или нескольких государств (например, Калифорния, Вашингтон), выборы в поле Город обновляется (например, Сан-Диего, Лос-Анджелес, Сан-Франциско, Сиэтл, Олимпия).
При нормальной ситуации, если пользователь выбирает все города, а затем возвращается и изменяет состояние выбора (только Калифорния остается выбранным, к примеру), то выбор для города области будут обновляться, но старые выбранные значения не будет . Таким образом, города Сиэтла и Олимпии все еще находятся в поле значения, даже если они более не являются действительными вариантов. Это положение исправляет этот код.
Это на самом деле довольно легко справиться с этой ситуацией. Потому что государство и город поля имеют опцию "Обновить поля на изменение ключевых слов" включен, то документ будет обновляться при любом изменении поля. Формула входного Перевод на поле Город может удалить выбранные значения, которые больше вариантов.
Первое, что нужно делать в формулу перевода Входной дублировать "Использовать формулу для выбора" код так, чтобы форма получает список допустимых вариантов.
Поиск: = @ DBLookup ("", "", "vwLookupCityState"; государства; 2);
ValidChoices: = @ If (@ IsError (Поиск); ""; поиска);
Затем, чтобы взять текущие значения полей и сохранить только те действительно становятся два шага. На первом этапе, чтобы получить список всех тех, которые не должны быть в поле, а второй шаг, чтобы удалить все те, которые не должны быть там.
InvalidEntries: = @ Trim (@ Replace (@ ThisValue; ValidChoices; ""));
@ Trim (@ Replace (@ ThisValue; InvalidEntries; ""))
То есть для формулы перевода входа. Таким образом, когда пользователь возвращается и выводит государство из списка, документ будет обновляться. Обновление выполняется формула входного перевода. Формула делает поиск, чтобы получить список того, что выбор будет. С точно такой же формуле поиска был использован в качестве ключевого слова в выборы, и потому, что я не использовал "NoCache" вариант, исполнение не будет проблемой. (Кэшированные результаты будут использованы в зависимости от того занимает второе место). От текущих значений в поле Город, все те, которые остаются в силе заменены пустыми строками. Это оставляет список всех недопустимые параметры. Эти недопустимые параметры удаляются от текущих значений, и это новый результат для поля.
Просмотрено 8510 раз 2221 зрителей













