Ir para conteúdo
Fórum Script Brasil
  • 0

Access... relatório com shape e append


castelo

Pergunta

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 para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...