Newsgroup: it.comp.lang.visual-basic
Titolo: Data report

Nella Section1 di un datareport si possono visualizzare le variabili 
ottenute da un For?????
Mi spiego meglio ... il mio ciclo č questo
code:------------------------------------------------------------------------------
Rs5.Open "SELECT cliente.idcliente, fattura.idfattura From fattura, cliente 
WHERE fattura.idanagrafica = cliente.idcliente AND (fattura.idrata IS NOT 
NULL)", cn, 1
For I = 1 To num
Rs1.Open "SELECT SUM(totaleivato) AS totale, descrizionefattura.idfattura 
From descrizionefattura, fattura WHERE descrizionefattura.idfattura = 
fattura.idfattura AND (fattura.idrata IS NOT NULL) and fattura.idanagrafica 
= " & idcliente & " and fattura.idfattura = " & idfattura & " GROUP BY 
descrizionefattura.idfattura", cn, 1
Rs5.MoveNext
DataReport2.Sections("Section1").Controls("totale").Caption = 
FormatNumber(Rs1.Fields("totale"))
Rs1.Close
Next I
------------------------------------------------------------------------------
La variabile totale assume tre valori diversi (240, 248 136) ma cosě facendo 
visualizzo solo l'ultimo valore che assume il 136
Come posso visualizzare i tre totali????
Grazie 

 Come posso visualizzare i tre totali????
Il mio consiglio č di crearti un recordset non legato a una base dati, cosě 
ci metti dentro i campi e le righe che vuoi, anche precalcolati.
Poi associ questo al datareport.
Ti eviti un mucchio di problemi ed č piů semplice da gestire.
Ciao 

 Mi spiego meglio ... il mio ciclo č questo
Innanzitutto non si capisce una fava, perchč cicli fino a una variabile 
'num' che non si capisce in che modo sia collegata all'apertura di RS5.
Inoltre, non si capisce cosa cambi nelle '3' aperture di RS1, visto che la 
stringa sembra essere sempre la stessa.
Se ci fosse qualche collegamento fra l'apertura di RS5 e 'num', e fra i 
valori ricavati in RS5 e le varie aperture di RS1, direi che la soluzione 
piů rapida sarebbe quella di realizzare tutte le estrazioni in un unico 
Recordset gerarchico, da collegare al datareport aggiungendo un 'gruppo'.
Ma cosě non riesco a capire a sufficienza.
Ciao
Alberto
-- 
E tutto mi sembrava andasse bene... 

 ha scritto nel messaggio 
news:398hmeF...@individual.net...


 Le mie rs sono ....
Porco cane...
Adesso mi ricordo di te...
Tu sei quello che chiede aiuto sulle query, e si rifiuta di postarle in 
formato Sql, ritenendo che i poveri sfigati che vogliono aiutarti si debbano 
mettere lě a sfrugugliare in mezzo a tutte le concatenazioni in VB...
Guarda, sinceramente...
Le tue query sono, per quello che ho capito ad una prima occhiata, delle 
cose molto comuni. Ricavare da quelle query un recordset unico, gerarchico o 
normale, con Cube o Rollup o anche senza niente, č una cosa che avrei potuto 
fare in non piů di 3 minuti.
E ti giuro che l'avrei fatto, come l'ho fatto in passato numerosissime 
volte.
Ma mi č passata la voglia.


 Avevo pensato anch'io a questo ma non riesco a farlo.
No.
Ti crei un Recordset a runtime che NON sia legato alla base dati (e spero di 
essere chiaro quando dico *S*legato dalla base dati).
Ci aggiungi, sempre a runtime, i campi che ti interessa visualizzare.
Lo riempi *a*mano* con i dati e i record che vuoi visualizzare.
Leghi questo recordset al datareport e lui ti mostra ne più ne meno che i 
dati contenuti.
L'importante è, se non fosse chiaro, che il recordset NON arriva da nessuna 
SELECT, cioè che sia creato da te, inizialmente senza campi, senza che sia 
legato alla base dati.
Ma la cosa che vorrei sottolineare è che il recordset non arriva da una 
rs.Open (che lo renderebbe dipendente dalla SELECT utilizzata) ma da un New 
Recordset (cioè in modo SLEGATO dalla base dati).
Non so se il punto importante è stato capito, se vuoi te lo rispiego :)
Ciao 

 Ma mi č passata la voglia.
Non rispondere perchč il forum č aperto a  tutti .... quando faccio qualche 
domanda non la rivolgo a te direttamente..
Se sai e vuoi aiutare scrivi altrimenti non rispondere.
Ciao


 spero di essere chiaro quando dico *S*legato dalla base dati).
Da quel poco che si capisce di quella roba che l'OP ha postato, sembrerebbe 
che volesse fare dei totali parziali, i cosiddetti subtotali.
In questo caso, il recordset, connesso o disconnesso che sia, viene stampato 
dal datareport come clonazione di section1, mentre qua e là devono esserci 
delle righe di totalizzazione.
Una prima soluzione sarebbe la solita, ossia quella di popolare le .Caption 
della RptLabel, ma rimane la sfiga che le RptLabel non si possono generare a 
runtime, e quindi occorre piazzarne a designtime una quantità sufficiente.
La soluzione più pulita e semplice rimane quella del recordset gerarchico. 
Con una unica query si estraggono sia i dettagli che i subtotali, poi si 
popolano Section1 con i dettagli e le sezioni di gruppo con i subtotali.


 la query giusta.
Se avessi avuto la tua query originale, lo avrei fatto.
Ne faccio decine tutti i giorni, di complessità anche molto maggiore, non 
avrei avuto problemi.
Ma se, nonostante ti sia già stato detto, ti ostini a postare il codice VB e 
non la query Sql, mi serve più tempo per ripulire e indentare la query che 
per modificarla.


 ha scritto nel messaggio 
news:398l70F...@individual.net...

Ti viene difficile farmi un esempio di record gerarchico?????
Non so come si fa (scusa la mia ignoiranza)
Grazie


 Non so come si fa (scusa la mia ignoiranza)
L'ignoranza si scusa sempre.
Maleducazione (e da come quoti, direi che di netiquette e manifesto te ne 
sbatti un filo), e mancanza di spirito collaborativo (insisti a non postare 
le query in maniera leggibile) sono meno tollerabili.
Ma forse è solo una mia opinione.


 gerarchici
Che errore ti dà col recordset gerarchico?
Hai provato con le RptLabel popolate a runtime?


 ha scritto nel messaggio 
news:CaEXd.3440$Tm5....@twister2.libero.it...


 Che errore ti dà col recordset gerarchico?
Non sono riuscita a creare un recordset gerarchico


 Altrimenti non avrei ripostato ....
Guarda, non voglio offenderti.
Perň, per escludere di averti suggerito qualcosa di sbagliato, ho aperto 
google, ho digitato "+Matpascal +datareport" (mica micio micio bau bau), e 
ho premuto 'cerca'. Il *primo* (su due risultati, mica centinaia) risultato 
č un post di MatPascal con tutto ciň che serve per fare esattamente ciň che 
ti serve.
Se in giorni e giorni che posti 'aiuto!!!', con tutti le volte che ti 
abbiamo ripetuto di andarti a cercare esattamente questo, non sei stato in 
grado di trovarlo, forse il problema non č soltanto vb...
Ciao


 Ciao
Ho capito che si trova su google  ....
Grazie comunque
Riproverò


 Non sono riuscita a creare un recordset gerarchico
Ma l'esempio di MatPascal l'hai provato?
Lo chiedo, perchè quel post è un qualcosa di molto copiaincollabile...
Oppure, in alternativa, hai provato con le RptLabel popolate a run-time?
Volendo sintetizzare: i due metodi che ti ripetiamo da giorni sono gli unici 
due con cui puoi ottenere ciò che vuoi.
Puoi postare finchè vuoi, disperarti e impermalosirti.
Ma alla fine *dovrai* metterne in pratica uno.
Per cui, anzichè postare e ripostare, ti suggerisco di sceglierne uno 
(secondo me è più semplice col recordset gerarchico, ma è una mia opinione), 
arrotolare le maniche, prendere gli indizi che ti abbiamo dato, trovarti il 
codice che si trova già pronto su google, e provare.
Ciao
Alberto
