DATAREPORT COM COR

RICARDO.RAPA 18/10/2010 16:15:34
#355388
Pessoal, tenho que fazer um boletim utilizando o datareport, quando a nota for menor que 7 tem que aparecer em vermelho. e as demais em preto.

estou utilizando o modo não vinculado para inseção de dados.

If CDbl(notas(4)) < 7 Then
.Sections([Ô]section1[Ô]).Controls([Ô]nota4[Ô]).ForeColor = &HFF&
Else
.Sections([Ô]section1[Ô]).Controls([Ô]nota4[Ô]).ForeColor = &H0&
End If

fiz esse procedimento mais ela apenas muda a linha como um todo não apenas aquele dado criado.

alguem já fez isso para pode me dar uma idéia?

grato!
RICARDO.RAPA 18/10/2010 16:19:19
#355389
SEGUE O CÓDIGO QUE ESTOU UTILZANDO:

Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim topico
Dim notas(5) As String
Dim disciplinas(5) As String
Dim situacao As Boolean
Dim i
Set rs = New ADODB.Recordset
i = 1
rs.Fields.Append [Ô]nome[Ô], adVarChar, 255
rs.Fields.Append [Ô]nota1[Ô], adVarChar, 255
rs.Fields.Append [Ô]nota2[Ô], adVarChar, 255
rs.Fields.Append [Ô]nota3[Ô], adVarChar, 255
rs.Fields.Append [Ô]nota4[Ô], adVarChar, 255
rs.Fields.Append [Ô]nota5[Ô], adVarChar, 255
rs.Fields.Append [Ô]situacao[Ô], adVarChar, 255
rs.Open


Data1.Recordset.MoveFirst
Do Until Data1.Recordset.EOF

situacao = False

Data2.RecordSource = ([Ô]Select * from C_Turma_Prog_Notas where codalunoturma = [ô][Ô] & Data1.Recordset.Fields([Ô]codalunoturma[Ô]) & [Ô][ô] ORDER BY NOME[Ô])
Data2.Refresh

Data2.Recordset.MoveFirst
Do Until Data2.Recordset.EOF
notas(i) = Data2.Recordset.Fields([Ô]n1[Ô])
disciplinas(i) = Data2.Recordset.Fields([Ô]nome[Ô])
i = i + 1
Data2.Recordset.MoveNext
Loop

rs.AddNew
rs.Fields([Ô]nome[Ô]) = [Ô] [Ô] & MaiusculaMinuscula(Data1.Recordset.Fields([Ô]nome[Ô]))
rs.Fields([Ô]nota1[Ô]) = notas(1)
rs.Fields([Ô]nota2[Ô]) = notas(2)
rs.Fields([Ô]nota3[Ô]) = notas(3)
rs.Fields([Ô]nota4[Ô]) = notas(4)
rs.Fields([Ô]situacao[Ô]) = [Ô]-[Ô]
rs.Update

With quadro

If CDbl(notas(1)) < 7 Then
.Sections([Ô]section1[Ô]).Controls([Ô]nota1[Ô]).ForeColor = &HFF&
Else
.Sections([Ô]section1[Ô]).Controls([Ô]nota1[Ô]).ForeColor = &H0&
End If

If CDbl(notas(2)) < 7 Then
.Sections([Ô]section1[Ô]).Controls([Ô]nota2[Ô]).ForeColor = &HFF&
Else
.Sections([Ô]section1[Ô]).Controls([Ô]nota2[Ô]).ForeColor = &H0&
End If

If CDbl(notas(3)) < 7 Then
.Sections([Ô]section1[Ô]).Controls([Ô]nota3[Ô]).ForeColor = &HFF&
Else
.Sections([Ô]section1[Ô]).Controls([Ô]nota3[Ô]).ForeColor = &H0&
End If

If CDbl(notas(4)) < 7 Then
.Sections([Ô]section1[Ô]).Controls([Ô]nota4[Ô]).ForeColor = &HFF&
Else
.Sections([Ô]section1[Ô]).Controls([Ô]nota4[Ô]).ForeColor = &H0&
End If

.Sections([Ô]section4[Ô]).Controls([Ô]D1[Ô]).Caption = disciplinas(1)
.Sections([Ô]section4[Ô]).Controls([Ô]D2[Ô]).Caption = disciplinas(2)
.Sections([Ô]section4[Ô]).Controls([Ô]D3[Ô]).Caption = disciplinas(3)
.Sections([Ô]section4[Ô]).Controls([Ô]D4[Ô]).Caption = disciplinas(4)

End With

i = 1
Data1.Recordset.MoveNext
Loop

quadro.Orientation = rptOrientLandscape [ô]rptOrientPortrait

With quadro

.Sections([Ô]section4[Ô]).Controls([Ô]turma[Ô]).Caption = [Ô]TURMA: [Ô] & cod.Caption
.Sections([Ô]section4[Ô]).Controls([Ô]periodo[Ô]).Caption = [Ô]PERÍODO: [Ô] & periodo.Caption
.Sections([Ô]section4[Ô]).Controls([Ô]curso[Ô]).Caption = [Ô]CURSO: [Ô] & curso.Caption

Set .DataSource = rs
.Show
End With

ALGUEM TEM ALGUMA IDEIA?
Tópico encerrado , respostas não são mais permitidas