VB 2010 - creare il primo reoprt

martedì 03 maggio 2011 - 12.06

pedro8a Profilo | Junior Member

Ciao a tutti,
vorrei creare il primo reoprt.
Allora ho messo un cristalreoprtviewer sul form.

Poi ho creato un report ma senza il wizard (oppure è meglio utilizzare il wizard?), vuoto. Ora come faccio ad aggiungerci i campi e poi passargli la query o meglio il dataset?

Grazie

sansi Profilo | Newbie

>Ciao a tutti,

Ciao

>vorrei creare il primo reoprt.
>Allora ho messo un cristalreoprtviewer sul form.
>
>Poi ho creato un report ma senza il wizard (oppure è meglio utilizzare
>il wizard?), vuoto. Ora come faccio ad aggiungerci i campi e
>poi passargli la query o meglio il dataset?
>

Se non lo hai fatto durante la creazione del report devi impostare la connessione dati per collegare il database e scegliere le tabelle da inserire nel report

click dx sul report-->database-->imposta origine o connessione dati (a memoria, potrebbe essere leggermente diverso)

quando hai scelto le tabelle da collegare al report trovi nella finestra Explorer campo la voce campi database con tutti i campi delle tabelle che hai collegato. A questo punto basta trascinarli all'interno del report nella posizione più corretta (intestazione di pagina o di report oppure nei dettagli, ecc.)

Penso, però, che come primo report possa essere utile utilizzare il wizard anche solo per vedere quali sono i passaggi da fare.

>Grazie

Prego,
Massimo

pedro8a Profilo | Junior Member

grazie della risposta.
Ho provato a collegare il report al db. Ma c'è il primo problema in quanto il db è fatto in access 2007 e CR mi ritorna errore.

Quindi pensavo di fare come in vb6 e datareport. Costruisco il report e poi gli assegno una sorgente dati in questo caso un dataset.

Si può fare o torno a access 2003?

sansi Profilo | Newbie

>grazie della risposta.
>Ho provato a collegare il report al db. Ma c'è il primo problema
>in quanto il db è fatto in access 2007 e CR mi ritorna errore.
>
>Quindi pensavo di fare come in vb6 e datareport. Costruisco il
>report e poi gli assegno una sorgente dati in questo caso un
>dataset.
>
>Si può fare o torno a access 2003?

Sinceramente non lo so perché ho sempre usato un database come appoggio. Che errore ti dà con Access 2007?

pedro8a Profilo | Junior Member

mi dice formato non riconosciuto.
Ma da codice non posso passargli un dataset?

Anche perchè poi come faccio i filtri?

Ad esempio voglio stampare la fattura n.1?

sansi Profilo | Newbie

>
>Anche perchè poi come faccio i filtri?
>
>Ad esempio voglio stampare la fattura n.1?

Per fare i filtri gli passi da codice il parametro SelectionFormula che contiene la formula da utilizzare per il filtro

<nome del viewer>.SelectionFormula = "{NumFattura}=1"

Penso che tu gli possa passare anche un dataset ma sinceramente non so come si faccia. Speriamo che ti risponda anche qualcuno più esperto di me.

pedro8a Profilo | Junior Member

scusa ancora
ma come si apre il report?

crviewer.?

ho messo un componente crystalreportdocument

Ho costruito il report con il wizard e funziona.

Ma ora come lo apro?

io ho scritto:

repClienti.FileName = PercorsoRepClienti

repClienti.PrintToPrinter(1, True, 1, 1)

funziona ma solo in stampa, come faccio l'anteprima?

sansi Profilo | Newbie

>scusa ancora
>ma come si apre il report?
>
>crviewer.?
>
>ho messo un componente crystalreportdocument
>
>Ho costruito il report con il wizard e funziona.
>
>Ma ora come lo apro?
>
>io ho scritto:
>
>repClienti.FileName = PercorsoRepClienti
>
> repClienti.PrintToPrinter(1, True, 1, 1)
>
>funziona ma solo in stampa, come faccio l'anteprima?

Scusa il ritardo ma ho avuto il computer fuori uso per un paio di giorni.

Per visualizzare il report inserisci il controllo CrystalReportViewer in un form. Il controllo in questione non è tra quelli standard pertanto devi aggiungerlo facendo click destro sulla casella degli strumenti e scegliere Scegli elementi. Il controllo lo trovi nel tab Componenti WPF.

A questo punto, ipotizzando che il controllo lo chiami crViewer nell'evento load del form scrivi, ad esempio:

Dim report As ReportDocument = New ReportDocument report.Load("nomereport.rpt") report.SetDatabaseLogon(nomeutente, password) report.RecordSelectionFormula = "{nome campo da filtrare} = '" & valore filtro Me.crViewer.ReportSource = report

ricordando di inserire all'inizio

Imports CrystalDecisions.CrystalReports.Engine

Spero di esserti stato di aiuto.

Massimo

pedro8a Profilo | Junior Member

Chisrissimo e ti ringrazio.
Avevo già aggiunto al form il controllo CrystalReportViewer e fatta l'anteprima.
Però:
devo creare un form ad-hoc con CrystalReportViewer, mi spiego:

Io ho il form con un datagridviewre con tutti i clienti, imopsto i filtri, ad esempio tutti i clienti Italiani.

Poi clicco su un pulsante che mi apre il form dove si trova CrystalReportViewer e gli passo i filtri?

Tu come fai?

sansi Profilo | Newbie

>Chisrissimo e ti ringrazio.
>Avevo già aggiunto al form il controllo CrystalReportViewer e
>fatta l'anteprima.
>Però:
>devo creare un form ad-hoc con CrystalReportViewer, mi spiego:
>
>Io ho il form con un datagridviewre con tutti i clienti, imopsto
>i filtri, ad esempio tutti i clienti Italiani.
>
>Poi clicco su un pulsante che mi apre il form dove si trova CrystalReportViewer
>e gli passo i filtri?
>
>Tu come fai?

Faccio proprio come hai detto. Gli passo i filtri attraverso una stringa creata dinamicamente

dim filtro as string filtro = "{nome campo da filtrare} = '" & valore filtro & " AND ....." <nome form che contiene il reportviewer>.<variabile public string> = filtro

Attenzione alla sintassi che prevede le parentesi graffe

All'interno del form di anteprima assegni questa stringa alla proprietà RecordSelectionFormula

report.RecordSelectionFormula = <variabile public string>

Ciao,
Massimo

pedro8a Profilo | Junior Member

grazie,
non vedo l'ora di provare.... e ti faccio sapere.

Per costruire report tipo fattura non dovrei avere particolari problemi vero?
Posso raggruppare come per access?

sansi Profilo | Newbie

>grazie,
>non vedo l'ora di provare.... e ti faccio sapere.
>
>Per costruire report tipo fattura non dovrei avere particolari
>problemi vero?
>Posso raggruppare come per access?

Si, non dovresti avere problemi. Puoi raggruppare, aggiungere subtotali, ecc. con l'esperto gruppo (click dx sul report)
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5