как использовать подстановочный знак в Crystal Report Selection Expert - PullRequest
0 голосов
/ 09 июня 2011

я нашел это на другом форуме

установить значение по умолчанию 'ALL' для параметра

добавить оператор if для выбора эксперта:

If {?Parameter}='ALL' 
Then {Database.Field} like '*' 
Else {Database.Field} = {?Parameter} and
{fctime_ts} >= {@StartDate} and 
{fctime_ts} < {@EndDate}

, который не работал, по некоторым причинам он не использует ограничения даты. Тогда я попробовал следующее.

{fpartno} = IIF({?PartNbr} = 'All', '*' , {?PartNbr}) 

это прекрасно работает, если я использую фактический номер детали, но когда я использую по умолчанию ВСЕ, это не работает вообще.

это моя полная формула выбора:

fpartno} = IIF({?PartNbr} = 'All', '*' , {?PartNbr}) and 
{fctime_ts} >= {@StartDate} and 
{fctime_ts} < {@EndDate} 

Кто-нибудь знает, как заставить упомянутый ответ на этом форуме работать с датами или как не заставить этот способ работать?

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

У меня была проблема с тем, что вы рекомендовали, но я нашел этот ответ.

Вот как это работает, он проверяет, равен ли PartNbr 'All'. Если это так, то он переходит к ограничениям даты. Пропустив, он, в свою очередь, выберет все части в этом диапазоне дат. если PartNbr не равен «All», он возьмет PartNbr и получит детали с этим номером в диапазоне дат.

Это решение отлично сработало для меня, просто htought id update, если кто-то зашел

({?PartNbr} = 'All'
or
{?PartNbr}= {intran.fpartno}) and
{intran.fctime_ts} >= {@StartDate} and
{intran.fctime_ts} <= {@EndDate}
0 голосов
/ 09 июня 2011

Попробуйте:

(If {?Parameter}='ALL' Then
  {Database.Field} LIKE '*' 
Else
  {Database.Field} = {?Parameter}
)
and {fctime_ts} >= {@StartDate}
and {fctime_ts} < {@EndDate}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...