Newsgroup: it.comp.lang.visual-basic
Titolo: [?CR] DataFiles(0) .... io non l'ho

Ho provato a spostare il prog e il report non va +.
Uso l'ActiveX di Cr 6.
Ho collegato la tabella dei clienti al report e quando devo stampare vuoto e
riempio la tabella con i dati che voglio.
Ho letto che per impostare il path del Cr database si deve impostare
CR1.DataFiles(0)=dbPath, ma io non l'ho !!.
Ho CR1.Database.SetDataSource e se faccio CR1.Database.SetDataSource dbPath
non funzia.
C'č qualcuno che mi puņ aiutare, ho passato tutto il giorno a ravanare a
destra e a manca ma non ho trovato un tubo oltre al datafiles
--
VB6 Sp5
Grazie, Alcau


Datafiles(0) è il primo degli x datafiles usati dal report.
Si usa (o meglio lo usavo) con i dbf.
Se lavori con Ado, usa le api di crystal.
Vedi il (solito) esempio che avevo postato al sc: crysvr.
ciao
ugo
-----------------------------------
Links:
Sito Comune: 
www.it-lang-vb.net
MSDN: 
msdn.microsoft.com

> Vedi il (solito) esempio che avevo postato al sc: crysvr.
L'avevo già guardato ma non sono riuscito a capire come si usa e a cosa
serve.
Scusa.

 ha scritto nel messaggio
news:x7Cm8.56515$1S3.1...@twister1.libero.it...

De che?   :-)
Scusa tu: evidentemente non sono stato chiaro.
Si tratta di un progetto che (negli intenti)
voleva essere un esempio di forse un po' troppe cose...
- uso della CrpeAuto (api di crystal report)
- uso della System Tray
- uso delle classi Connector
- creazione di Activex exe
- uso degli Activex exe...
...effettivamente, troppa carne al fuoco...
cmq, l'unica cosa che ti occorre è la classe PrintSys che gestisce
le api di Crystal report.
Inserisci la classe in un vbp.
Poi in un form o in un bas (vado a spanne velocemente con qualche
copia-incolla):
dim objCrystal as new printsys
Dim rs As New ADODB.Recordset
Dim aRecordsets() As Variant
    ' Creo il MIO recordset e lo assegno all'array da passare alla classe
    rs.Open "SELECT * FROM AUTHORS WHERE LEFT (AUTHORS.AUTHOR,1)='" &
Combo1.Text & "'", conAdo, adOpenStatic, adLockReadOnly
ReDim aRecordsets(0)
Set aRecordsets(0) = rs
With objCrystal
        .ReportName = App.Path & "\report1.rpt"
        .Destination = gprWindow
        .WindowTitle = "Prova Stampa 1"
        .GroupTree = True
        .PrintCopies = 1
        .PrintFileFormat = gprWord2
        .PrintFileName = "c:\prova1.doc"
        .DataRecordset = aRecordsets
        .ConnectionString = MyConString
        .ExecPrint
End With
(btw, riaprendo il client di crysvr per fare copy-paste, ho notato
di aver dimenticato una dichiarazione "inutile" rimasta dalla prima stesura:
"Dim PrintSys As CrySvr.PrintSys"
nella sezione dichiarazioni del form1 non serve...)


Ok.... adesso provo a smanettarci, ma una cosa che ho notato è che si fa
rifermento ad un report .rpt che io non ho dal momento che il report lo
costruisco dall'ide di vb e quindi non creo il report rpt.
Appesantisco l'applicazione se faccio così ?
E' meglio se gestisco dei report creati con designer ?
Scusa le domande ma ho una gran confusione sull'argomento, + leggo + mi
incasino.
A.


Mah, come al solito va a gusti.
Personalmente preferisco lasciare i report esterni all'applicativo:
exe meno ciclopici e personalizzazioni piů semplici.
ciao
ugo