В @iferror добавить Names2.nsf

Тема в разделе "Lotus - Программирование", создана пользователем oleg7, 10 ноя 2009.

Статус темы:
Закрыта.
  1. oleg7

    oleg7 Гость

    Как в
    Код (Text):
    @IfError(@DbLookup("":""; @ServerName:"names.nsf";..........
    добавить еще одну names2.nsf
    пробую @IfError(@DbLookup("":""; @ServerName:"names.nsf":"names2.nsf";.....
    срабатывает только по первой names.nsf
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    @IsError работает только на переменных
    нужно писать иначе
    L1:=@DbLookup("":""; @ServerName:"names.nsf...
    @If(@IsError(L1);...
     
  3. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    т.е. техническая документация нам ни по чем? )))
    во-первых, @IfError рекомендую не использовать вообще, т.к. ее устарели в 7-ке, вот так вот, в 6-ке добавили, а в 7-ке уже отказались... вместо нее следует использовать @If(@IsError(...) ...).
    во-вторых, если одним запросом к двум базам не обратиться, то следует сделать два последовательных, а результат "сложить" (обработать) необходимым образом.


    что за глупости? ;)
     
  4. oleg7

    oleg7 Гость

    то есть надо делать
    Код (Text):
    L1:=@DbLookup("":""; @ServerName:"names.nsf";.......;
    L2:=@DbLookup("":""; @ServerName:"names2.nsf";.......;
    LLL := @IfError(L1:L2; "N/A");
    ???
     
  5. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Так получится нагляднее, только прими во внимание то, что сказал Akupaka насчёт использования
    Код (Text):
    @IfError
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    не уверен, что так.
    я бы рекомендовал попробовать так:
    Код (Text):
    L1 := @DbLookup("":""; @ServerName:"names.nsf";.......; )
    @If(@IsError(L1); L1 = ""; "");
    L2 := @DbLookup("":""; @ServerName:"names2.nsf";.......;)
    @If(@IsError(L2); L2 = ""; "");

    LLL := @Trim(L1 : L2);
    @If(LLL <> ""; "есть хотя бы один ненулевой результат"; "ничего нет")
    еще, возможно, следует использовать параметр [FailSilent] у @DbLookup (см справку)
     
  7. oleg7

    oleg7 Гость

    Большое спасибо за помощь! Получилось!
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей