•  For reference, cross Posted from http://www.sqlservercentral.com/forums/shwmessage.aspx?forumid=150&messageid=148843

    The key is that you need to associate a data region with a dataset.

    When you associate multiple regions with the same dataset, the navigation is automatic.

    Only when the two regions are getting data from a different datasets do you need to take an extra step to sychronize both regions (e.g. passing a value from one region to the other region's dataset query)

    In your example of two separate parent and child datasets, you have several design options (listed in my preference):

    1. Flatten the two datasets into one denormalized dataset (btw this is also Jason Carlson's and Brian Welker's preference)

    2. Associate each dataset to separate regions and use a "key" value from the parent dataset within the child datasets query to synchronize the values displayed in the region bound to the child dataset.

    3. Create a subreport and pass parameter from main report to subreport (not the best but very Crystal Reports style)

     

    Associating the data region to a dataset is done in one of two ways:

    1. By using properties

     In Layout view, right-click the data region and then click Properties.

     On the General tab, for Dataset name, select a dataset.

    2. By using fields

     In Layout view, click the data region to select it.

     In the Fields window, select a dataset from the list at the top of the window, and then drag a field to the data region.

    The following points regarding subreport usage were emphasized by Brian Welker and Chris Hayes in their "Report Design: Best Practices and Guidelines" document.

    (http://www.microsoft.com/technet/prodtechnol/sql/2005/rsdesign.mspx)

    Subreports

    A subreport is a report item that points to another report. Any report can be used as a subreport, and you can set up the parent report to pass parameters to the subreport.

    You should take care when using subreports for the following reasons:

    Subreports do not share data with the parent report.

    The Report Server processes each instance of a subreport as a separate report and this can affect performance. 

    The headers and footers for the subreport are ignored.

    Subreports are useful in the following situations:

    When you need to nest groups of data from different data sources within a single data region.

    When the report has multiple one-to-many relationship sections.

    When you need to reuse a subreport in multiple parent reports.

    When you want to display a standard, stand-alone report within another report.

    Data regions, such as tables, matrices, lists, and charts, provide much the same functionality as subreports. However, they often provide better performance, particularly if the reports share data. Data regions also work better than subreports in side-by-side layouts.