Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
Chiusura sessione Crystal Report
mercoledì 07 luglio 2010 - 12.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Samu
Profilo
| Newbie
1
messaggi | Data Invio:
mer 7 lug 2010 - 12:02
Ciao a tutti,
ho generato un codice che stampa dei dati attraverso il metodo PrintOut. Dopo il suddetto metodo, il database agganciato a CR rimane aperto nonostate abbia impostato tutto a nothing ( praticamente rimane la sessione di crystal report aperta ). Vi posto il codice:
' Dynamically add the CRVIEWER control to the form
Set ctlCRViewer = Controls.Add("CrystalReports.ActiveXReportViewer", "ctlCRViewer", frmFNwdiCOCP)
'Make the Viewer not visible
ctlCRViewer.Visible = False
'Set the report object
Set crxReport = crxApplication.OpenReport(FileReport, 1)
' Modifico la fonte dati del database
' La modifica deve essere fatta su tutte le tabelle utilizzate nel report
For Each tbl In crxReport.Database.Tables
tbl.SetLogOnInfo strPathDbStampa
Next
' Non carica i dati eventualmente salvati con il database
crxReport.DiscardSavedData
' Imposto il driver, il nome e la porta della stampante
crxReport.SelectPrinter Printer_drv, Printer_name, Printer_port
' A seconda dell'orientamento della carta imposto la proprietà relativa
If Printer_orientation = "ORIZZONTALE" Then
crxReport.PaperOrientation = crLandscape
Else
crxReport.PaperOrientation = crPortrait
End If
'Set the report source
ctlCRViewer.ReportSource = crxReport
' Visualizza la colonna dell'albero dei link al report
ctlCRViewer.DisplayGroupTree = False
'Enables the CRViewer's Navigation Controls
ctlCRViewer.EnableNavigationControls = True
'Disables the CRViewer's Search control
ctlCRViewer.EnableSearchControl = False
' Logo della Business Object
ctlCRViewer.EnableAnimationCtrl = False
' Visualizza il pulsante chiudi
ctlCRViewer.EnableCloseButton = True
' Visualizza l'albero dei riferimenti
ctlCRViewer.DisplayGroupTree = False
' Abilita un pulsantino con il punto di domanda
ctlCRViewer.EnableHelpButton = False
' Visualizza il pulsante che consente di fare la stampa
ctlCRViewer.EnablePrintButton = True
' Abilita il pulsantino che consente di ricaricare i dati nel report
ctlCRViewer.EnableRefreshButton = True
' Abilita il cmb con la percentuale di zoom visualizzata
ctlCRViewer.EnableZoomControl = True
' Non visualizza il pulsante che consente di visualizzare il group tree
ctlCRViewer.EnableGroupTree = False
' Se devo stampare su pdf allora imposto le variabili necessarie e lancio l'estrazione dei dati nel file pdf
' altrimenti lancio la stampa senza l'anteprima della stampa
If blnPrintSuPdf = True Then
' Imposta l'estrazione su disco
crxReport.ExportOptions.DestinationType = crEDTDiskFile
' Imposta il nome del file nome.pdf con il relativo path
crxReport.ExportOptions.DiskFileName = strNomeFilePDF
' Imposta il formato di estrazione pdf
crxReport.ExportOptions.FormatType = crEFTPortableDocFormat
' Esporta il file
crxReport.Export False
Else
' Se deve fare l'anteprima lancia il viewReport altrimenti stampa senza
' anteprima e impostando il numero di copie
If blnFareAnteprima Then
' Imposta le variabili di default per effettuare l'anteprima
Call r_SetVarAnteprima
ctlCRViewer.Visible = True
' Set the location and size of the CRViewer
ctlCRViewer.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
' Visualizza l'anteprima
ctlCRViewer.ViewReport
Do While ctlCRViewer.IsBusy
DoEvents
Loop
' Imposta la percentuale di zoom
ctlCRViewer.Zoom (100)
Me.Show vbModal
Else
crxReport.PrintOut False, cmdCopie
End If
' se Garel (archiviazione elettronica, esporta anche in pdf
If GarelDir <> "" Then
' Imposta l'estrazione su disco
crxReport.ExportOptions.DestinationType = crEDTDiskFile
' Imposta il nome del file nome.pdf con il relativo path
crxReport.ExportOptions.DiskFileName = strNomeFilePDF
' Imposta il formato di estrazione pdf
crxReport.ExportOptions.FormatType = crEFTPortableDocFormat
' Esporta il file
crxReport.Export False
End If
End If
Set crxReport = Nothing
Set ctlCRViewer = Nothing
Help...:-(
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
dom 11 lug 2010 - 17:14
Ciao,
se non ho capito male tu stai usando vb6, in quanto usi ancora il componente COM di Crystal.
Ad ogni modo potresti pensare di passare tu i dati al report, senza lasciare che sia lui a fare la connessione al database, come mostrato qui:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=7942
in quel caso fai tutto da codice ADO e quindi apri e chiudi la connessione in maniera controllata da te...
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !