Jump to content
Fórum Script Brasil
  • 0

Access... relatório com shape e append


castelo

Question

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

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...