Ola Amigos. Estou lutando para fazer um relatório no DataReport do VB6 funcionar como quero, porém não vai... o código é o seguinte: Set connSIGA2 = New Connection
With connSIGA2
.CursorLocation = adUseClient
.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db\escola.mdb" & ";"
End With
Set rsSIGA = New Recordset
Dim strSQL As String
'define o comando SHAPE
' TESTE
strSQL = "SHAPE { "
strSQL = strSQL & "SELECT tb_matricula.*, "
strSQL = strSQL & " tb_matricula.numero as NumeroAluno,"
strSQL = strSQL & " tb_aluno.nome_aluno as NomeAluno,"
strSQL = strSQL & " tb_turma.turma as NomeTurma, "
strSQL = strSQL & " tb_turma.turno as TurmaTurno, "
strSQL = strSQL & " tb_serie.serie as NomeSerie, "
strSQL = strSQL & " tb_graus.descricao as NomeGrau "
strSQL = strSQL & " FROM"
strSQL = strSQL & " ((((tb_matricula INNER JOIN tb_aluno ON tb_matricula.id_aluno = tb_aluno.id_aluno)"
strSQL = strSQL & " INNER JOIN tb_turma ON tb_matricula.id_turma = tb_turma.id_turma)"
strSQL = strSQL & " INNER JOIN tb_serie ON tb_turma.serie = tb_serie.id_serie) "
strSQL = strSQL & " INNER JOIN tb_graus ON tb_serie.grau = tb_graus.id_grau) "
strSQL = strSQL & " WHERE tb_matricula.id_turma = " & turma.ItemData(turma.ListIndex)
strSQL = strSQL & " ORDER BY tb_turma.turma asc, tb_matricula.numero asc "
strSQL = strSQL & "} AS Turmas "
strSQL = strSQL & "APPEND ({ "
strSQL = strSQL & "SELECT tb_notas.*, tb_disciplina.* From (tb_notas "
strSQL = strSQL & "INNER JOIN tb_disciplina ON tb_notas.id_disciplina = tb_disciplina.id_disciplina) "
'' strSQL = strSQL & "SELECT tb_disciplina.*, tb_notas.* From (tb_notas "
'' strSQL = strSQL & "right JOIN tb_disciplina ON tb_notas.id_disciplina = tb_disciplina.id_disciplina) "
'' 'strSQL = strSQL & "INNER JOIN tb_aluno ON tb_notas.id_aluno = tb_aluno.id_aluno) "
strSQL = strSQL & "} AS Alunos "
'' strSQL = strSQL & "RELATE 'id_serie' TO 'serie' "
strSQL = strSQL & "RELATE 'id_aluno' TO 'id_aluno' "
strSQL = strSQL & ") AS Alunos "
'strSQL = strSQL & ")"
rsSIGA.Open strSQL, connSIGA2, adOpenForwardOnly
Set boletimG.DataSource = rsSIGA
boletimG.Show vbModal É um boletim escolar. O comando PAI seleciona os dados que montam o cabeçalho do relatório, o comando FILHO recupera as notas lançadas na tabela tb_notas. O relacionamento entre os dois comando pode variar... de SERIE para ID_ALUNO mas em menhum dos casos deu certo. Se eu coloco por série o relacionamento, ele recupera todas as disciplinas que preciso listar... mas não relaciona as notas ao ALUNO do boletim. Se coloco por ID_ALUNO ele só carrega as disciplinas que tem notas lançadas, até seria o que eu preciso... mas quero que ele lista até mesmo aquelas que não tem nota... Alguma idéia!? Posso enviar um exemplo por email... aguardo. email: castelo.jelb@hotmail.com