DUVIDAS COM SHAPE E APPEND
Ola Amigos do VBMANIA.
Estou com dificulades gerar um relatório tipo boletim escolar, estou usando o comando SHAPE APPEND que aprendi pelo site do marcoratti.
Abaixo o código que estou usando
na primeira parte COMANDO PAI capturo os dados dos alunos, turma, série pela tabela matricula, onde existe uma campo ID_ALUNO e campo SERIE para ser usado no COMANDO FILHO.
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) [Ô]
Aqui seleciono se será impresso por TURMA, SéRIE ou INDIVIDUALMENTE
If Option1.Value = True Then strSQL = strSQL & [Ô] WHERE tb_matricula.id_turma = [Ô] & turma.ItemData(turma.ListIndex)
If Option2.Value = True Then strSQL = strSQL & [Ô] WHERE tb_matricula.id_serie = [Ô] & serie2.ItemData(serie2.ListIndex)
If Option4.Value = True Then strSQL = strSQL & [Ô] WHERE tb_matricula.id_aluno = [Ô] & codigoaluno.Text
strSQL = strSQL & [Ô] ORDER BY tb_turma.turma asc, tb_matricula.numero asc [Ô]
strSQL = strSQL & [Ô]} AS Turmas [Ô]
strSQL = strSQL & [Ô]APPEND ({ [Ô]
aqui começa a dificuldade, testei duas formas,
1 - Lista todas as disciplinas relacionadas a SéRIE porém ao ler as notas repete a mesma nota para todas as disciplinas:
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 & [Ô]) AS Alunos [Ô]
2 - Lista somente a disciplina que possui nota lançada no banco.
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 & [Ô]} AS Alunos [Ô]
strSQL = strSQL & [Ô]RELATE [ô]id_aluno[ô] TO [ô]id_aluno[ô] [Ô]
strSQL = strSQL & [Ô]) AS Alunos [Ô]
Preciso listar todas as disciplinas e suas respectivas notas... porém... nem todas elas tem notas LANÇADAS ainda...
Alguma ajuda... dica... LUZ ?
Aguardo.
Estou com dificulades gerar um relatório tipo boletim escolar, estou usando o comando SHAPE APPEND que aprendi pelo site do marcoratti.
Abaixo o código que estou usando
na primeira parte COMANDO PAI capturo os dados dos alunos, turma, série pela tabela matricula, onde existe uma campo ID_ALUNO e campo SERIE para ser usado no COMANDO FILHO.
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) [Ô]
Aqui seleciono se será impresso por TURMA, SéRIE ou INDIVIDUALMENTE
If Option1.Value = True Then strSQL = strSQL & [Ô] WHERE tb_matricula.id_turma = [Ô] & turma.ItemData(turma.ListIndex)
If Option2.Value = True Then strSQL = strSQL & [Ô] WHERE tb_matricula.id_serie = [Ô] & serie2.ItemData(serie2.ListIndex)
If Option4.Value = True Then strSQL = strSQL & [Ô] WHERE tb_matricula.id_aluno = [Ô] & codigoaluno.Text
strSQL = strSQL & [Ô] ORDER BY tb_turma.turma asc, tb_matricula.numero asc [Ô]
strSQL = strSQL & [Ô]} AS Turmas [Ô]
strSQL = strSQL & [Ô]APPEND ({ [Ô]
aqui começa a dificuldade, testei duas formas,
1 - Lista todas as disciplinas relacionadas a SéRIE porém ao ler as notas repete a mesma nota para todas as disciplinas:
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 & [Ô]) AS Alunos [Ô]
2 - Lista somente a disciplina que possui nota lançada no banco.
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 & [Ô]} AS Alunos [Ô]
strSQL = strSQL & [Ô]RELATE [ô]id_aluno[ô] TO [ô]id_aluno[ô] [Ô]
strSQL = strSQL & [Ô]) AS Alunos [Ô]
Preciso listar todas as disciplinas e suas respectivas notas... porém... nem todas elas tem notas LANÇADAS ainda...
Alguma ajuda... dica... LUZ ?
Aguardo.
Você tem uma base de exemplo (imagino que seja ACCESS) com alguns poucos registros?
Se sim, poste no tópico.
Se sim, poste no tópico.
Ola Tecla
Em anexo o projeto que gera o boletim...
O que preciso é listar todas as disciplinas e recuperar a nota que tá lançada para cada uma delas.
O banco de Dados é access.
Aguardo ajuda de vocês galera.
Abraços
Em anexo o projeto que gera o boletim...
O que preciso é listar todas as disciplinas e recuperar a nota que tá lançada para cada uma delas.
O banco de Dados é access.
Aguardo ajuda de vocês galera.
Abraços
Alguém... alguma ajuda ? rsrsr
Alguém que manja de SQL ae ?
rapazeada... nem uma alma sequer!?
Tópico encerrado , respostas não são mais permitidas