Вопрос по Db.serch

  • Автор темы allex
  • Дата начала
A

allex

#1
Есть формула
Код:
SELECT ((form="sp_main" & year ="2010" & type_jilfond="текст") | (form="sp_main_sub" & year ="2010" & type_jilfond="текст") | (form="sp_main_sub_itog" & year ="2010" & type_jilfond="текст"))
По ней выдается результат как положено - 21 док

Делаю скриптом

Код:
sf={((Form = "sp_main" & year ="}+ sel_y + {" & type_jilfond="}+Cstr(c)+{") | (Form = "sp_main_sub" & year =" } + sel_y + {" & type_jilfond="}+Cstr(c)+{") | (Form = "sp_main_sub_itog" & year = "}+ sel_y +{" & type_jilfond="}+Cstr(c)+{"))}
Set collection = sprdb.Search(sf, Nothing,0)
Результат - 6 документов

Закономерность в том, что 6 - это число главных документов (без респонсов)
Респонсы отбираются по форме sp_main_sub

Где копать ?
 
A

amigolinx

#2
в формуле используется "|" (OR), а в скрипте в запросе использован "&" (AND) :whoareyou?:
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
Может так надо:
sf={((Form = "sp_main" & year ="}+ sel_y + {" & type_jilfond="}+Cstr©+{") | (Form = "sp_main_sub" & year ="} + sel_y + {" & type_jilfond="}+Cstr©+{") | (Form = "sp_main_sub_itog" & year = "}+ sel_y +{" & type_jilfond="}+Cstr©+{"))}
По крайней мере в выделенных местах видны несоответствия в формулах

З.Ы. не видно, где выделял. Похоже жирный с курсивом смешивать здесь нельзя. С "И" и "ИЛИ" разобрались, здесь year =" } + sel_y + {" либшний пробел
 
A

amigolinx

#5
вот в этом куске (Form = "sp_main_sub" & year =" } лишний пробел вставляется перед годом