Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

How to create a dropdown list in which one choice will have the two possible values? Expand / Collapse
Author
Message
Posted Thursday, November 28, 2013 9:36 AM


SSC Rookie

SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

Group: General Forum Members
Last Login: Tuesday, December 9, 2014 12:12 PM
Points: 29, Visits: 180
Dear sqlservercentral members,

Hello and a pleasant day.

I would like to ask how to create a dropdown list in which one choice will have the two possible values? In the report I am creating for a certain customer, they need to choose between USA and EUROPE, and BOTH of them…the customer who requested the report wants a <BOTH>, USA, EUROPE should appear on the dropdown choice. In my first work, I declare a parameter (the name is @Country) that allows multiple values, so the output of the dropdown is:

(Select All)
USA
EUROPE

But like what I'd said, the customer wants a dropdown like:

<BOTH>
USA
EUROPE

So if the customer selects <BOTH>, it will be both USA and EUROPE.

By the way, here is the query I used:


SELECT * FROM tblInvoice WHERE COUNTRY IN (@Country)


Thank you for any advice that you may give.

Respectfully Yours,
MarkSquall


________________________________
"Listen to advice and accept instruction, and in the end you will be wise." -Proverbs 19:20
Post #1518380
Posted Thursday, November 28, 2013 6:03 PM


SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Yesterday @ 4:45 PM
Points: 1,816, Visits: 5,915
Some choices, which one is best for you will depend on your setup.

First though, Country in (@Country) is misleading as @Country is one value, not a list by the time SQL gets to see it, so changing your WHERE clause to Country = @Country would achieve the same result but make it clear you understand that @Country is a single value...

1. add OR @Country='BOTH' to the query (and use "BOTH" as the value for the "BOTH" label in your dropdown list...
2. change to using Country = ISNULL(NULLIF(@Country,'BOTH'),Country)
3. change your query to use an IF
IF @Country = 'BOTH'
SELECT col1 ,col2, col3 FROM tblInvoice
ELSE
SELECT col1 ,col2, col3 FROM tblInvoice WHERE Country = @Country
4. Filter the data in the report and set the value of the label "BOTH" to USA,EUROPE in the dropdown

I am sure there are other ways also, these are just a few.

I would personally prefer options 3 or 4 but it all depends on your exact situation.



MM


  • MMGrid Addin
  • MMNose Addin


  • Forum Etiquette: How to post Reporting Services problems
  • Forum Etiquette: How to post data/code on a forum to get the best help - by Jeff Moden
  • How to Post Performance Problems - by Gail Shaw

  • Post #1518425
    Posted Friday, December 6, 2013 9:54 AM


    SSC Rookie

    SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

    Group: General Forum Members
    Last Login: Tuesday, December 9, 2014 12:12 PM
    Points: 29, Visits: 180
    Dear mister.magoo,

    Hello to you. Thanks for the advise, I already got it.

    Aside from your tip, I learned something new (still on comprehending but I will get there...just more and more practice I guess) about functions that returns a table and I used this to split the data into a certain delimiter (in this case, the delimiter is a comma).

    Thank you and more power.


    Respectfully Yours,

    MarkSquall


    ________________________________
    "Listen to advice and accept instruction, and in the end you will be wise." -Proverbs 19:20
    Post #1520654
    « Prev Topic | Next Topic »

    Add to briefcase

    Permissions Expand / Collapse