• Sorry, I almost forgot about this post. I put together an example of how you would do what I was talking about; attached is the RDL so you can just plug it into BIDS or SSDT and run it.

    Note the screen shot below...

    The report has just one parameter called @TheDate; that's your calendar control.

    There are two datasets: SampleData and DateChecker. SampleData feeds the report (it's just nonsense for demo purposes); DateChecker takes @TheDate as a parameter and returns the text, "too old" if @TheDate is older than 60 days; NULL otherwise. It uses this query:

    SELECT CASE WHEN @TheDate < getdate()-60 THEN 'too old' END AS datestatus

    (note that I prefer SQL to SSRS expressions)...

    The Report Body has two items, a tablix and a textbox with my custom error message :hehe: . The textbox is visable based on this expression:

    =First(Fields!datestatus.Value, "DataChecker") <> "too old"

    The tablix is visable based on

    =First(Fields!datestatus.Value, "DataChecker") = "too old"

    I got them backwards, but you get the point...

    Hopefully that's enough to help you figure out what I'm talking about.

    For the Visibility settings for my Text box

    "I cant stress enough the importance of switching from a sequential files mindset to set-based thinking. After you make the switch, you can spend your time tuning and optimizing your queries instead of maintaining lengthy, poor-performing code."

    -- Itzik Ben-Gan 2001