Getallentriesbykey, не находит все Entry

wowa

Well-known member
01.02.2007
845
0
#1
Есть вью. Вней 5 столбцов. Четвертый не отсортирован
Мне нужно получить все ентри, зная значение первого и пятого столбца.

Делаю так:

Код:
Dim vKey_2(3) As Variant

vKey_2(0) = "WWWW"
vKey_2(1) = ""
vKey_2(2) = ""
vKey_2(3) = "LLLLLL"

Set dc = view.GetAllEntriesByKey(vKey_2,False)
В коллекции всегда только один Энтри. В чем может быть проблема?
 

nvyush

Lotus team
22.04.2009
2 317
0
#2
GetAllEntriesByKey method
...
The method returns all entries whose column values match each key in the array - может в этом проблема?
 

hosm

* so what *
18.05.2009
2 442
6
#3
в хелпе есть и такое:
The use of partial matches with multiple keys may result in missed entries. If the first key is partial and the second column does not sort the same with the partial key as with the exact key, entries that fall out of sequence are missed.
 

wowa

Well-known member
01.02.2007
845
0
#4
nvy , да я думал об этом, но насколько я помню, раше с "" работало. Да и если так, то в этом случае ничего не должно было найти
 

hosm

* so what *
18.05.2009
2 442
6
#5
кстати, категоризацию в представлении не вводили, доступ на чтение к документам категории не менялся?
 

wowa

Well-known member
01.02.2007
845
0
#6
OKEN , что это может значить?

Можно ли найти нужные мне документы или Энтри другим способом?
например FTSearch?

Код:
ststring = {FIELD Country = "} & stKey_1 & {" FIELD Sponsor = "} & stKey_2 & {"}
mm = viewSponsor.FTSearch( ststring , 0 )
правда что-то моя строка не правильная

Добавлено: OKEN , кстати, в первом столбики есть категория....
 

hosm

* so what *
18.05.2009
2 442
6
#7
с категориями глючит. Может, пройтись через навигатор, перепроектировать представление или добавить отдельное для поиска...
в фт-поиске оператор AND забыли.
 

wowa

Well-known member
01.02.2007
845
0
#8
OKEN , спасибо, буду пробывать FTSearch. Т.к. более подходящих вью нет. А FTSearch вроде правильно нашел.
+1
 

TIA

:-)
Lotus team
15.05.2009
790
3
#10
Можно ли найти нужные мне документы или Энтри другим способом?

Например,
1) получаете все entry по первому ключу "WWWW", а потом скриптом отфильтровываете только те, у которых в .ColumnValues(3) = "LLLLLL"
2) получаете через getFirstDocument и ключу "WWWW" первый документ во вьюшке. Потом view.getNextDocument пока в .ColumnValues(0) = "WWWW". Обрабатываете только те, у которых в .ColumnValues(3) = "LLLLLL".
3) db.Search надёжнее FTSearch
 

hosm

* so what *
18.05.2009
2 442
6
#11
TIA
Тут еще непонятно, полный ли ключ WWWW или нужны все документы по шаблонам WWWW* и LLLLLL*.
Т.е., если есть категории WWWW1, WWWW12 и WWWW2, то может не сработать получение всех нужных документов (или ентри), надо внимательней.
не помню точно, что глючило, давно было.
Но все равно лучше серча.
 

TIA

:-)
Lotus team
15.05.2009
790
3
#12
Тут еще непонятно, полный ли ключ WWWW или нужны все документы по шаблонам WWWW* и LLLLLL*.
Не суть. Ищите с False. Скриптом отфильтровываете как надо.

Но все равно лучше серча.
Не всегда. Когда большая вероятность получить почти все документы БД, сёрч всё же лучше.
 

lmike

нет, пердело совершенство
Премиум
27.08.2008
6 567
263
#13
нек. расширение задачи :discard:
может задача позволяет сделать ключём (колонкой во вью) "сумму" двух колонок?
это раз
второе - мультивалюйные ("синхронные) поля... и важны их начения
тогда нужно дополнительно "подключить" к процессу нафигатор (общий для вью) и использовать преобразование первого ентриса из энтрисколлекшн к нафигаторовскому и "бежать" по счетчику, но уже по нафигатору

Добавлено:
Не суть. Ищите с False. Скриптом отфильтровываете как надо.


Не всегда. Когда большая вероятность получить почти все документы БД, сёрч всё же лучше.
да, серч может быть лучше, но в нём мы теряем возможность не получать значения из дока, а брать из энтриса (и ещё раз "теряем" в скорости)