Дизайнер отчетов Visual Studio 2008 передал несколько значений для одного параметра метки - PullRequest
0 голосов
/ 23 августа 2011

В свойствах параметров есть способ передать несколько значений одной меткой? У меня есть выпадающий список с 7 вариантами выбора: какой отдел нужен, у некоторых отделов только один код учетной записи, а у других несколько. Я пытался ('123', '321'), это было бы эквивалентно необходимому синтаксису запроса. Код, который я сейчас использую для параметра в синтаксисе: (table.column IN (@parameter)), должен ли он быть написан по-другому?

Спасибо за любые предложения.

    FROM gl_master,   
     gl_master_comp_v,   
     budget_off_mstr  
    WHERE ( gl_master.acct_cde = gl_master_comp_v.acct_cde ) and  
     ( gl_master.budget_officer = budget_off_mstr.budget_officer ) and  
     ( ( gl_master_comp_v.acct_comp1 = '01' ) AND  
     ( budget_off_mstr.budget_officer in (@BudgetOfficer) ) ) 

1 Ответ

1 голос
/ 24 августа 2011

Я решил это. Тем не менее, я уверен, что есть более простой / чистый способ сделать это.

Я поместил значения параметров в качестве имен учетных записей. Коды счета были определены в запросе, а значение параметра было включено в AND. В основном воссоздаем все WHERE для каждого имени учетной записи, разделенного ИЛИ. Код ниже:

 WHERE ( g.acct_cde = l.acct_cde ) and  
     ( g.budget_officer = b.budget_officer ) and  
     ( ( l.acct_comp1 = '01' ) ) AND  
     ( b.budget_officer IN ('48564') ) AND 
 (@BudgetOfficer = 'AM') 
OR   
     ( g.acct_cde = l.acct_cde ) and  
     ( g.budget_officer = b.budget_officer ) and  
     ( ( l.acct_comp1 = '01' ) ) AND  
     ( b.budget_officer IN     
('3543', '3523', '06588', '58568', '48656','58544', '48648') ) AND 
(@BudgetOfficer = 'Dean_AA')
      OR

и так далее ...

...