Выбор В Pickliststrings

k85

Well-known member
11.10.2011
158
0
#1
помогите
есть база, в которой необходима кнопка, которая будет давать возможность выбирать данные, зависимо от года
Делаю так, например, есть база Словарь, в виде 2 колонки:
1-я данные (отсортированная), 2-я колонка год
в основной базе кнопка
Код:
	Set Col= w.PickListStrings( _
PICKLIST_CUSTOM, _
True, _
DB.Server, _
DB.FilePath, _
"нужный вид", _
"Выбор", _
"Выберите ", _
2,_
"2012" )
если убрать последние 2012, тогда открывается выбор, но там все года, если оставить 2012, то пустая открывается.
Вообще необходимо получить возможность выбора из двух годов 2012 и 2009
 

doka

Well-known member
18.02.2010
118
0
#2
Открывается пустая, потому что во вьюхе нет категории 2012. Колонка с годом должна быть категорией и первой
 

k85

Well-known member
11.10.2011
158
0
#3
Открывается пустая, потому что во вьюхе нет категории 2012. Колонка с годом должна быть категорией и первой
в таком случае да отбирает, например все 2012 года, но мне надо еще, после того как открылся PickList, то в нем можно было найти по первым буквам или цифрам слово, которое в колонке Данных
 

doka

Well-known member
18.02.2010
118
0
#4
как открылся пиклист, набери текст - откроется окно поиска

Не пойдет?
 

k85

Well-known member
11.10.2011
158
0
#5
и еще сразу спрошу , а как сделать отбор по 2-м годам, например 2012 и 2009
Код:
	"Выбор", _ 
"Выберите",_
"2012" Or "2010")
выдает:
incorrect argument type to variable: string expected



Добавлено:
как открылся пиклист, набери текст - откроется окно поиска

Не пойдет?
так и надо. Но набрав текст данных (точно есть в списке), но ничего не находит
 

doka

Well-known member
18.02.2010
118
0
#6
Мне кажется пиклист позволяет выводить только одну категорию (см. хэлп)

Самое простое (но не очень умное) - создать отдельное представление для 2 годов.

Можно заморочиться и сделать отдельную форму со встроенной вьюхой и выводить все это через DialogBox.

Можно так, как описано тут http://codeby.net/forum/threads/46612.html
 

nvyush

Lotus team
22.04.2009
2 317
0
#7
По двум годам — никак. Или по одному, или по всем. Поиск, емнип, тоже не работает. Посмотрите
тут, может что полезное найдёте.
 

VladSh

начинающий
Lotus team
11.12.2009
1 260
5
#8
А поиск не работает потому, что он работает по первой отсортированной колонке вида. А первая отсортированная колонка вида у вас - категория с годом; когда ставишь у неё свойства "категоризированная", то флаг сортировки выставляется автоматически, и если его снять, то пропадает и свойство категоризации.
Уже сколько раз предлагали, чтобы сделать в виде или на определённой колонке галку, чтобы явно устанавливать, по какой колонке искать, но менять это положение вещей IBM не собирается, т.к. этот тупизм в Лотусе идёт с первых версий, а они берегут своё достояние.
 

susinmn

Well-known member
16.10.2007
529
3
#9
сортировки выставляется автоматически, и если его снять, то пропадает и свойство категоризации.
и если сортировку программно снять у категоризованного столбца, будет ли поиск работать по след. за категорией сортированной колонке?) нужно проверить.
 

Kizarek86

Lotus team
20.07.2007
864
4
#10
и еще сразу спрошу , а как сделать отбор по 2-м годам, например 2012 и 2009
Код:
	"Выбор", _ 
"Выберите",_
"2012" Or "2010")
выдает:
incorrect argument type to variable: string expected
Можно сделать категорию в представлении 2012#2010 и искать отображать её.
 

nvyush

Lotus team
22.04.2009
2 317
0
#11
Можно сделать категорию в представлении 2012#2010 и искать отображать её.
Можно. Только нужно вспомнить комбинаторику и сделать все возможные сочитания, а то кому-нибудь понадобится 2011#2009, кому-нибудь 2012#2011#2008 и т.д.
 

nvyush

Lotus team
22.04.2009
2 317
0
#13
что-то не могу понять о чем вы? как сделать категорию 2012#2010?
Например, так:
@If(FieldYear = 2012; "2012#2010" : "2012"; Year = 2010; "2012#2010" : "2010"; @Text(FieldYear))
при этом документы разбредутся по нескольким категориям. Я бы так не делал.
и еще в Embedded View нельзя отобрать документы по полю год?
Сделайте первую категоризованную колонку @Text(FieldYear) (если используется числовое поле года) или @Text(@Year(FieldDate)) (если используется поле типа дата)