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

  • Автор темы oleg7
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

oleg7

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

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
@IsError работает только на переменных
нужно писать иначе
L1:=@DbLookup("":""; @ServerName:"names.nsf...
@If(@IsError(L1);...
 
A

Akupaka

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


@IsError работает только на переменных
что за глупости? ;)
 
O

oleg7

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

Akupaka

то есть надо делать
не уверен, что так.
я бы рекомендовал попробовать так:
Код:
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 (см справку)
 
O

oleg7

Большое спасибо за помощь! Получилось!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!