masz na to kilka sposobow:
zakladam, ze ogolny wyglad raportu jest jednakowy dla wszystkich przypadkow (to znaczy naglowek raportu jest taki sam, a jedynie rozni sie iloscia detaili). Jezeli tak, to mozesz przekazac do zapytania identyfikatory wierszy (po kluczu tabeli), ktore chcesz wydrukowac i budowac zapytanie dynamicznie z poziomu kodu uzywajac klauzuli IN.
Mozesz stworzyc tabele o strukturze takiej jak wiersz i napelnic ja danymi i z niej ciagnac dane (mozesz np napelnic tabele tylko identyfiaktorami wierszy, a po stronie bazy napisac procke, ktora na podstawie klucza uzupelni pozostale dane zeby niepotrzebnie nie przepychac danych serwer-klient-serwer). Jezeli twoja aplikacja jest wielouzytkownikowa - mozesz dodac do tej tabeli identyfikator polaczenia, po ktorym bedziesz sie odwolywal i podawal np jako parametr zapytania obslugujacego raport.
Generalnie sposobow jest kilka, a wszystkie sprowadzaja sie do przekazania do zapytania tylko tych rekordow, ktore wyselekcjonowales.