Ciao,
non ho capito esattamente dove sta il tuo problema, ti posto cmq un esempio in vb.net per stampare qualsiasi cosa (in questo caso è sempre la stessa stringa, ma è giusto per farti capire come approcciare questa cosa):
come vedi ti basta lavorare con la classe "PrintDocument", l'evento "PrintPage" e la proprietà "HasMorePages" del parametro che ti viene passato.
Ti basta adattarlo al tuo caso, usando il tuo recordset e stampando quello che ti serve in ogni pagina.
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo