allora.. sono riuscita a fare il report, ma incompleto.
praticamente quando popolo il report, mi mette i voti di un solo studente... ovvero quello che seleziono da una listbox.
per popolare il report ho utilizzato il seguente codice
ho utilizzatocodice:Public Sub Report_Open(Cancel As Integer) Dim idmat As Integer Dim idcla As Integer Dim i As Integer Dim tot As Integer Dim mat() As Integer Dim vot() As Integer idcla = RicavaID.Ricava_IDclasse(Form_Scrutinio.CmbClasse.Value) tot = Form_Scrutinio.ElnMaterie.ListCount - 1 ReDim mat(tot) As Integer ReDim vot(tot) As Integer For i = 1 To tot idmat = RicavaID.Ricava_IDmateria(Form_Scrutinio.ElnMaterie.ItemData(i)) mat(i) = idmat vot(i) = Form_Scrutinio.ElnMaterie.Column(1, i) Next i Me.RecordSource = "SELECT Studente.Cognome, Studente.Nome, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(1) & "," & vot(1) & ",0)) AS Ec_Aziendale, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(2) & "," & vot(2) & ",0)) AS Ed_Fisica, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(3) & "," & vot(3) & ",0)) AS Francese, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(4) & "," & vot(4) & ",0)) AS Geografia, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(5) & "," & vot(5) & ",0)) AS Inglese, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(6) & "," & vot(6) & ",0)) AS Italiano, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(7) & "," & vot(7) & ",0)) AS Matematica, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(8) & "," & vot(8) & ",0)) AS Religione, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(9) & "," & vot(9) & ",0)) AS Storia_Arte, Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(8) & "," & vot(8) & ",0)) AS TeorieRA, " & vbLf & _ "Sum(IIf(Valutazione_scrutinio.IdMateria = " & mat(8) & "," & vot(8) & ",0)) AS Tec_Comun FROM Studente INNER JOIN (Materia INNER JOIN Valutazione_scrutinio ON Materia.IdMateria=Valutazione_scrutinio.IdMateria) ON Studente.Matricola=Valutazione_scrutinio.Matricola GROUP BY Studente.Cognome, Studente.Nome;" End Sub
Me.RecordSource = "SELECT ...."
ma non riesco a fare la WHERE dove dico che la matricola deve essere uguale agli studenti della classe a cui appartegono.
esiste un altro comando al posto di RecordSource che mi faccia inserire i dati uno alla volta, magari con un ciclo?
aiuto

Rispondi quotando