Relatório no iReport

15 respostas
R

Boa tarde.

Estou com o seguinte problema.

Na tabela matricula eu tenho vários alunos cadastrados na turma 1, porem só imprime o 1º aluno os demais não.

O que devo mudar?

Segue a Query que utilizer

select dias_semana, hora_inicio, hora_fim, id_pessoa_f, cref, nome_pessoa, id_turma, cpf from turma, pessoa, turma_aluno, funcionario, aluno where id_turma = $P{iTa}
and aluno.id_pessoa_a = pessoa.id_pessoa

aproveitando meu hora inicio apresenta da seguinte forma
19:00:00.000000 - 03

Como deixo somente 19:00 ?

15 Respostas

dtxk

Olá!

Você precisa dar um loop no relatório tem uma configuração que você faz que quando vocÊ passa uma collection ele entende que tem que colocar mais linhas no relatorio.

enquanto a hora vocÊ configura em Expression no ireport sendo assim basta colocar SimpleDateFormat com isso vocÊ formata a hora.

Abraços!

R

Ih rapaz não consegui fazer nenhum e nem o outro.

Tem como ser mais detalhado de como eu posso fazer esse loop?

Alguem consegue me ajudar?

R

Alguém consegue me ajudar?

michetti

Estou com o mesmo problema.

ErickRAR

Como ta o relacionamento das suas tabelas? Você falou sobre a tabela matricula mas não vi usando em momento algum da query.

R

segue uma imagem de como esta o banco.

mudei minha Query para:

Select * from pessoa, aluno, turma, modalidade, turma_aluno where id_turma_a = $P{iTa}
and turma_aluno.id_aluno_t = aluno.id_aluno
and aluno.id_pessoa_a = pessoa.id_pessoa
and turma_aluno.id_turma_a = turma.id_turma
and turma.id_modalidade = modalidade.id_modalidade

e só imprime o 1º aluno de cada matricula

ErickRAR

Tente só isso no banco de dados mesmo, não pelo ireport:

SELECT t.id_turma, a.nome as nome_aluno FROM turma t ,turma_aluno ta ,aluno a WHERE t.id_turma=[ID DA TURMA] AND t.id_turma= ta.id_turma AND ta.id_aluno=a.id_cliente;

R

No banco retornou esse erro

ERRO: erro de sintaxe em ou próximo a “[”
LINE 3: WHERE t.id_turma = [1]
^

********** Error **********

ERRO: erro de sintaxe em ou próximo a “[”
SQL state: 42601
Character: 114

estou usando os postgres.

Tenho essa turma cadastrada.

O “nome_aluno” vem da tabela pessoa (nome_pessoa), acho que falta a referencia mas num sei fazer isso não.

ErickRAR

Tem que tirar o o colchete, eu coloquei ali pra você trocar por um id e tal.

Para ir para outra tabela,basta adiciona-la no from e colocar mais um where:

AND  a.id_cliente = pessoa.id_pessoa;

Veja se os nomes das colunas estão esses mesmos, se não for, só ajustar.

R

Fiz dessa forma.

SELECT t.id_turma, a.id_pessoa_a as nome_pessoa FROM turma t ,turma_aluno ta ,aluno a , pessoa p WHERE t.id_turma = 1 AND t.id_turma = ta.id_turma_a AND ta.id_aluno_t = a.id_pessoa_a AND a.id_pessoa_a = p.id_pessoa;

e me retornou o valor correto
id_turma; nome_pessoa
1 ; 1
1 ; 3

ErickRAR

Errei, é p.nome as nome_pessoa. De resto tá tudo ok, já está vindo mais registros.

Agora você vai adicionando nos selects as colunas que você quer e pronto.

R

Entendi, porem minha duvida referente ao relatório continua na hora que clico em previe do iReport ele só me retorna o 1º aluno.

No banco esta voltando certo.

Segue a imagem de como retorna.

ErickRAR

Ja abriu o relatorio normal,sem ser o preview?
Não entendo muito de ireport, mas se a query está certa então não tem pq sair errado, eu imagino.

R

ErickRAR:
Ja abriu o relatorio normal,sem ser o preview?
Não entendo muito de ireport, mas se a query está certa então não tem pq sair errado, eu imagino.

aa brow se ta saindo assim ou não, vai assim mesmo, haha

tenho que colocar isso agora dentro do netbeans outro desafio imagino que maior ainda.

Tem algum lugar que posso me espelhar e tentar colocar?

ErickRAR

Cara, ireport deve ser um dos assuntos que mais tem tópicos aqui no GUJ. Só usar o search que tu encontra exemplos.

Criado 25 de agosto de 2014
Ultima resposta 29 de ago. de 2014
Respostas 15
Participantes 4