Dúvida --gt; Montar SQL e Relatório
24/01/2006
0
Preciso montar um relatório mais ou menos no seguinte layout
----------------------------------------------------------------------- Professor - Dia - Horário - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Aluno------|UltChq----| UltPgto--|Presenças Bla bla bla|----------|06/01/2006|XXXXXXXXXX Ble ble ble|03/02/2006|----------|X X X X X X X Bli bli bli|----------|20/12/2005|X X X Blo blo blo|20/03/2006|----------|XXXXXXXXXXX -----------------------------------------------------------------------
[color=blue:d5106017e1]
Tabelas
Alunos --> Codigo, Nome, ...
Professores --> Codigo, Nome, ...
Turmas --> Codigo, Dia, Horario, ...
TurmasAlunos --> CodTurma, CodAluno
Pagamentos --> Codigo, CodAluno, DtPagamento, ...
Cheques --> Codigo, CodAluno, DtaCredito, ...[/color:d5106017e1]
A ideia do relátorio é a seguinte, a principio uma chamada normal de escola(academia) mesmo, com os itens básicos ali listados. Uma parte do esrosco é que o cliente quer que na coluna ULTCHQ esteja a data do ultimo cheque que aquele aluno deu (DtaCredito(Maior Data)), e na coluna ULTPAGTO esteja a data do ultimo pagamento(DtPagamento(Maior Data)) efetuado pelo aluno(se o aluno trabalha com cheque aparece na coluna do cheque, se o aluno trabalha com pagamento, aparece em pagto ou, se for o caso, nos dois, sempre mostrando o ultimo, ou melhor, com maior data).
Entao as duvidas são, como montar esse SQL, e, menos importante mas, como montar isso no fortes report? Usando um relatorio simples mesmo???
Galera, estou precisando mto, se alguem puder ajudar eu vou agradecer mto...
Abraços
Lucianobarreto
Posts
24/01/2006
Motta
Com Funcions ficaria mais simples criar o rel (não sei se seria rápido)
Outra solução (para db´s sem functions) seria uma tabela temporária e uma rotina para monta-la.
Espero ter ajudo, qualquer coisa fale.
24/01/2006
Lucianobarreto
Estou usando, FB 1.5 e Ibx...
Sobre criar uma tabela temporaria, eu estaria criando ela, inserindo os dados necessarios(primeiro aluno --> add nome, seleciona maior data - add data, ..., segundo aluno, ´mesmo procedimento´, ...)
seria mais ou menos isso?
Vlw
24/01/2006
Motta
create or replace function UltCheque (pcodcli number) returns date
begin
select data from cheques where .....;--busca ultimo cheque
Returns dtultcheque;
end;
mais ou menos isto, veja como criar Functions no FB.
Assim o select fica mais simples
select codcli,nome,UltCheque (codcli) ultcheque
from clientes ....
Este mesmo conceito poderia usar para a ultdata de pagamento e a string de presença (não ficou claro)
Uso muito isto para simplificar (e tornar possíveis) relatórios no Oracle.
24/01/2006
Lucianobarreto
Blz, entendi e vou testar aqui.. nao tenho experiencia com functions se eu entender e fizer funcionar legal, caso contrario gostei da ideia de uma tabela temporaria...
vlw
Clique aqui para fazer login e interagir na Comunidade :)