Newsgroup: it.comp.lang.visual-basic
Titolo: [3?] Data report per un neofita

Non ho ben capito di questo "oggetto" se posso, associare ad esso una
connessione, un recordset ed i relativi campi via codice a runtime o se
sono obbligato a gestire tutto in fase di disegno del report, ed in tal
caso quali oggetti devo portarmi appresso ...
Se ci fosse qualche anima pia che mi desse tre dritte e magari qualche
supplemento di documentazione ..
P.S.      ... tra l'altro mi sembra che su questo tema molti siano un
po' in difficoltà
Grazie !

Premetto che non sono espertissimo del DataReport però forse ti posso
aiutare.
Quando a Design-Time progetti l'aspetto che deve avere il tuo Report devi
per forza di cose essere legato al DataEnvironment (almeno così ho sempre
fatto io, non so se c'è un modo alternativo), perchè devi associare alle
varie RptTextBox il campo che vuoi venga visualizzato sul report.
Supponiamo che....
Ho impostato un Dataenvironment, una Connection e ho definito un Comand che
ho chiamato Esempio
A ) Il Command che si chiama Esempio che mi restituisce un determinato
numero di Campi (tra cui il campo Nome,Cognome,Indirizzo,ecc ) ottenuti da
una query oppure da una tabella (dipende da cosa devi metterea report).
B) Ho aggiunto al progetto un DataReport che si chiama RepEsempio, sul
RepEsempio voglio visualizzare i dati contenuti nei campi Nome, Cognome,
Indirizzo.. per cui ho inserito sul report (nella posizione da me
desiderata...di solito sotto una section di Gruppo) delle RptTextBox
chiamandole txtCognome, txtNome, txtIndirizzo in cui saranno visualizzati i
contenuti dei campi che Cognome,Nome,Indirizzo. Per far questo devo
impostare per ogni RptTextBox alcune proprietà:
per la txtNome imposto:
DataMember = Esempio (nella combo box che si apre troverai già i nomi dei
Command disponibili)
DataField=Nome (nella combo box che si apre troverai già i nomi dei Campi
restituiti dal command impostato in DataMember)
....ripeti le stesse cose per txtCognome e via così per tutti le RptTextBox
che hai impostato
A Run-Time, per svincolarmi dalle impostazioni del DataEnvironment io mi
apro una connessione tramite codice e apro il comando del Dataenv. passando
una stringa SQL e una connessione da me configurata e aperta a run time e in
questo modo posso modificare il recordset che passo al Report senza che
questo sia vincolato al Dataenv. che praticamente sfrutto solo a
Design-Time, ovviamente se cambio la query del command Esempio devo sempre
fare in modo che i campi restituiti con la nuova query siano quelli che
visualizzo nel report altrimenti genero errore.
Esempio:
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
...
...  parametri della connection
...
cn.open
' Stringa SQL per la selezione dei record
strSql = "SELECT  * ......  "
' apro il Command del Dataenv. passando una query che ho definito io a
run-time
' (naturalmente i campi che mi restituisce la query creata a run time devono
essere
' almeno tutti quelli che nel report sono collegati alle varie RptTextBox
' se non voglio che in esecuzione mi dia errore)
de.rsEsempio.Open strSql, cn
If de.rsRepEsempio.EOF Then
      MsgBox "Nessun dato da visualizzare"
Else
    ....
    .... ' imposto proprietà del Report quali  Width, Height, Top...ecc
    ....
    RepEsempio.Show vbModal
End If
de.rsRepEsempio.Close
cn.close
set cn=nothing
non so se è questo di cui avevi bisogno, spero di averti aiutato in qualche
modo. Buon lavoro








 wrote in message
news:89dg20$a4a$1...@fe1.cs.interbusiness.it...



Si nel DataReport il DataMember ha come riferimento il command del DE.