Ciao,
devi usare un oggetto "ReportDocument" e lavorare con quello, usando il metodo "PrintToPrinter" per saltare l'anteprima, con un codice di questo tipo:
'--- carico l'oggetto ReportDocument
Dim mioreport as new ReportDocument()
mioreport.load("c:\..\..\crystalreport1.rpt")
'--- accesso al database
Dim logOnInfo As New TableLogOnInfo
logOnInfo = mioreport.Database.Tables.Item("Tabella").LogOnInfo
logOnInfo.ConnectionInfo.ServerName = "SERVER"
logOnInfo.ConnectionInfo.DatabaseName = "miodb"
logOnInfo.ConnectionInfo.UserID = "User"
logOnInfo.ConnectionInfo.Password = "pwd"
logOnInfo.TableName = Tabella"
mioreport.Database.Tables[0].ApplyLogOnInfo(logOnInfo)
'--- stampo direttamente nella stampante
mioreport.PrintOptions.PrinterName = "FinePrint"
mioreport.PrintToPrinter(1, false, 0, 0)
Se vuoi stamparne più di uno di fila, ti basta caricarne vari in maniera ciclica...
* ps: il codice di prima io lo uso anche per l'anteprima, infatti poi lo visualizzo settandolo come "ReportSource" del viewer:
CrystalReportViewer1.ReportSource = mioreport
Il viewer infatti è un oggetto che lo visualizza, ma il report da solo è già quello che serve per elaborare tutto l'ambaradan...
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo