Sampa Crystal report

venerdì 19 ottobre 2007 - 16.29

Mau67 Profilo | Expert

Salve
Sono un principiante premetto, ho la necessità di far stampare dei report costruiti con Crystal Report di Visual Studio 2005 ,

Mi spiego devo stampare il report associato ad un codice fiscale e quindi deve stamparmi solo quel report.

Mi sapete dire come fare se possibile mi scrivete il codice di esempio

Spero di essere stato chiaro grazie in anticipo ciao Mau67

freeteo Profilo | Guru

ciao,
diciamo che quello che puoi fare dipende da come carichi i report e li visualizzi.
Nel senso che potresti passare gia' una sorgente dati filtrata per avere solo i dati di quel codice fiscale (quindi filtri la query direttamente).
Dim tabella As New DataTable() ... imposti qui il filtro ai dati che carichi... mioDataAdapter.Fill(tabella) ... Dim mioreport as new ReportDocument() mioreport.load("c:\..\..\crystalreport1.rpt") mioreport .SetDataSource (tabella) CrystalReportViewer1.ReportSource = mioreport ...


Oppure se i report li visualizzi e basta perche' puntano gia' al database che ti interessa e va bene cosi', puoi impostare il filtro al report usando la "RecordSelectionFormula" con una sintassi di questo tipo:
{campoDelReportCodiceFiscale} = '...'

dove "{campoDelReportCodiceFiscale}" è il campo che hai nel report che ha i dati dei vari codici fiscali dei clienti che visualizzi.
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Mau67 Profilo | Expert

Grazie della risposta,
ma il report che io apro è incluso in un form dove all'interno ho messo un controllo CrystaReportViewer, con il quale dalla freccietta posta in alto a destra io scelgo il report da far caricare.
Il codice per l'apertura del form e la lettura del campo codice fiscale che si trova nella textbox del form chiamante come e dove lo scrivo perchè il tutto funzioni preciso io uso Visual Studio 2005 professional con Crystal report integato grazie
Spero di essere stato chiari ciao

Mau67 Profilo | Expert

Devo farti un altra domanda,
La stessa filtro dei dati con codice fiscale lo dovrei fare con un cystal report che punta alle tabelle di SQL server 2005, il problema è che il report è vuoto in apertura cioè con le tabelle di ACCESS mi legge i dati nelle tabelle di SQ SERVER 2005 no perchè? cosa bisogna fare? se è possibile posso avere il codice completo ribadisco sono un principiante grazie

freeteo Profilo | Guru

ciao,
se hai impostato il reportSource del viewer da design di visual studio, puoi filtrare i dati impostando la selectionFormula, una stringa che sia come ti dicevo prima " {campo} = '1234' " , o qualcosa del genere.



>Devo farti un altra domanda,
>La stessa filtro dei dati con codice fiscale lo dovrei fare con
>un cystal report che punta alle tabelle di SQL server 2005,
>il problema è che il report è vuoto in apertura cioè con le tabelle
>di ACCESS mi legge i dati nelle tabelle di SQ SERVER 2005 no
>perchè?
intendi ancora a design time o parli quando lo mandi in esecuzione?



>cosa bisogna fare? se è possibile posso avere il codice
>completo ribadisco sono un principiante grazie
ti ho allegato un file di esempio, che carica da access (perche' ho fatto uno zip con tutto ovviamente) ma tu basta solo che cambi la connessione se dovesse servirti per andare su sql, ribadisco cmq il fatto di avere la stessa struttura di dati.
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Mau67 Profilo | Expert

grazi per le risposte tempestive ed efficaci al mio problema ti ringrazio, l'esempio è chiaro ma scusa perchè usate sempre esempi in C# io programmo in VB puoi tenerne conto per la prossima volta grazie dovrò modificare il codice spero di non commettere errori.

Per quanto riguarda le tabelle SQL server 2005 voglio trasferire il database ACCESS in SQL server 2005 e quindi creare gli stessi report sempre filtrando con il codice fiscale ma quando mando in esecuzione la stampa mi da un report vuoto credo che dipenda dal fatto che Crystal Report non legga le tabelle di SQL server 2005 ma punta al dataset e non so come fare per fargli leggere i dati in esecuzione grazie

freeteo Profilo | Guru

>grazi per le risposte tempestive ed efficaci al mio problema
>ti ringrazio, l'esempio è chiaro ma scusa perchè usate sempre
>esempi in C# io programmo in VB puoi tenerne conto per la prossima
>volta grazie dovrò modificare il codice spero di non commettere
>errori.
si ti conviene avere conoscenza anche generale di entrambi i linguaggi perche' il passaggio da uno all'altro ti potrebbe capitare spesso in futuro.Cmq sia puoi sempre farti aiutare da tools come questo:
http://www.carlosag.net/Tools/CodeTranslator/Default.aspx



>Per quanto riguarda le tabelle SQL server 2005 voglio trasferire
>il database ACCESS in SQL server 2005 e quindi creare gli stessi
>report sempre filtrando con il codice fiscale ma quando mando
>in esecuzione la stampa mi da un report vuoto credo che dipenda
>dal fatto che Crystal Report non legga le tabelle di SQL server
>2005 ma punta al dataset e non so come fare per fargli leggere
>i dati in esecuzione grazie
se consideriamo il file di esempio che ho allegato prima, ti basta solo cambiare la connessione al database via codice (usare SqlConnection etc...) mentre se parli di un report che fa da solo la connessione etc... ti basta modificare il report andando in "esperto database" facendolo puntare a sql invece di access...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Mau67 Profilo | Expert

Grazie del tuo prezioso aiuto,

Come te la cavi con la somma delle risultanze di intervalli tra date, sicuramente meglio di me.

Ti spiego il programma che stò realizzando mi serve per il calcolo dei periodi di lavoro effetuati nelle varie aziende, e cioè avere la somma degli anni mesi e giorni di lavoro effettuati nelle varie aziende, ti faccio un esempio

La mia tabella ha i seguenti campi:

Azienda
PeriodoDal
PeriodoAl
Anni
Mesi
Girni

adesso mi serve il totale di questi periodi e cioè

Azienda PeriodoDal PeriodoAl Anni Mesi Giorni

aaaaaa 01/01/2000 31/12/2000 1 0 0
bbbbbb 01/01/2001 15/072001 0 6 15
cccccccc 16/07/2001 31/12/2006 5 5 16
Totale 7 0 1

Praticamente Mi serve che il calcolo dei giorni se è >=30 deve togliere i 30 giorni o multipli trasformarli in mesi e sommarli al mese, stessa cosa per i mesi se >=12 e multipli li deve trasformare in anni e sommarli agli anni

P.S. La trasformazione degli anni mesi e giorni da un intervallo di date lo so fare,
quello che non riesco e la somma delle colonne anni mesi e giorni per il totale finale grazie


freeteo Profilo | Guru

ciao,
prova a vedere se riesci a fare qualcosa con i campi "Sommatoria", magari puoi fare un campo fomula che ti faccia il calcolo per una singola riga e poi usi la sommatoria per farlo in tutto il report...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Mau67 Profilo | Expert

Grazie per le dritte che mi hai dato proverò a metterle in pratica ti farò sapere l'esito grazie ancora per la disponibilità
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5