Newsgroup: it.comp.lang.visual-basic
Titolo: (2)data report qualcuno lo conosce bene?

salve a tutti
ho postato poco fa ma purtoppo non è servito a nulla quindi rinnovo il mio
problema...
ho collegato un datareport ad una select che varia a seconda della matricola
selezionata.
Ovviamente se seleziono più matricole lui deve stamparmele una alla volta.
il problema è che la select va bene ma il report mi stampa sempre la prima
matricola selezionata
esempio....
ho un listview con due matricole (9501200 e 980289)
voglio stampare la 9501200...tutto ok
poi torno indietro, deseleziono questa matricola e seleziono la 980289....in
questo caso mi stampa sempre la 9501200
nel caso le seleziono tutte e 2 mi stampa sempre la 9501200......XCHEEEEE'?
Se la prima volta anzichè stampare la 9501200 stampavo la 980289 lui mi poi
mi stampa sempre quella
questo è il codice...
For iIndex = 1 To LstvPresenze.ListItems.Count
        If LstvPresenze.ListItems(iIndex).Checked Then
            Screen.MousePointer = vbHourglass
            DataEnvironment1.Commands("ecm").CommandText = " "
            DataEnvironment1.Commands("ecm").CommandText = "" & _
                "SELECT  Pers_CorsiVal.Corso, Pers_CorsiVal.Matricola,  " &
_
                        "Pers_CorsiVal.ECM, Personale.Cognome,
Personale.Nome, Corsi.DescrizioneCor, " & _
                        "RIGHT(InizioCorso, 2) + '/' +
SUBSTRING(InizioCorso, 5, 2) + '/' + LEFT(InizioCorso, 4) as iniziocorso, "
& _
                        " RIGHT(FineCorso, 2) + '/' + SUBSTRING(FineCorso,
5, 2) +'/'+ left(FineCorso, 4) as finecorso, Corsi.OreEffettive " & _
                " FROM    Pers_CorsiVal " & _
                        "INNER JOIN Personale ON Pers_CorsiVal.Matricola =
Personale.Matricola " & _
                        "INNER JOIN Corsi ON Pers_CorsiVal.Corso =
Corsi.CodCor  " & _
                        "INNER JOIN PianificazioneCorsi ON Corsi.CodCor =
PianificazioneCorsi.CodiceCorso " & _
                "WHERE  Pers_CorsiVal.ECM = Corsi.CreditoECM " & _
                "AND    Pers_CorsiVal.Matricola = " &
LstvPresenze.ListItems(iIndex).Key & ""
            Screen.MousePointer = vbDefault
            RptECM.DataMember = "ecm"
'            RptECM.DataSource = DataEnvironment1--------->qui oltretutto mi
dice impossibile trovare il metodo o il membro dei dati!!!!
            RptECM.Refresh
            RptECM.Show 1
        End If
    Next
grazie a chiunque mi aiuti


Fammi sapere.
Alex

...un'ultima cosa: l'errore che ti genera č semplice....
Non puoi dire datareport1.datasource=dataenvironment.....xche' ci manca un
pezzo!!!
Devi mettere datareport1.datasource=dataenvironment.recordset (ovviamente
devi aver creato un command che generi, tramite una connection, un
recordset...)
Ciao
Alex

 recordset...)
ho inserito
Set RptECM.DataSource = DataEnvironment1.rsECM
e quando vado a fare il refresh di rptecm mi dice che l'operazione non è
consentita se l'oggetto è chiuso
ma se cmq non mi fa assegnare la query al recordset ??!!
dunque alla fine il codice è:
DataEnvironment1.Commands("ecm").CommandText = StrSql--->qui c'è la query
ovviamente
            For iJindex = 0 To 10000
                DoEvents
            Next
            Set RptECM.DataSource=DataEnvironment1.rsECM
            RptECM.Refresh    -->se metto la riga sopra qui mi dà
"l'operazione non è consentità se l'oggetto è chiuso
            RptECM.Show 1

 problema...
Prima di ogni report.show o report.print Aggiungi
Unload report
unload dataenvironment
load dataenvironment
ORA PUOI APRIRE IL REPORT
Io lo faccio sempre e non ho mai avuto problemi
Ciao


Hai provato a "distruggere" l'RS della query prima di lanciare la nuova
(rsMiaQuery.Close)?
Ironman

grazie 100000 a tutti
mi avete risolto un problemone!
