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

Como resolver este problema?


cribeiro

Pergunta

tenho uma tabela de historico de salario com os campos conforme abaixo:

codigo_func data_alteracao cargo valor_salario

1 01/07/2008 10 500,00

1 01/09/2009 15 700,00

1 01/05/2010 20 900,00

preciso desenvolver um relatorio que sera emitido todos os meses onde mostra os funcionarios promovidos do mes, o relatorio deve mostrar o cargo e salario anterior e o cargo e salario atual, seguindo esta tabela modelo, o relatorio traria as duas ultimas alterações. como posso fazer isto no crystal XI?

valeu pessoal.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
cade o Kuroi, salvador dos perdidos no Crystal.....

salvador?? hehe quem é q fica contando essas historias por ai??

então, cribeiro, eu tinha visto seu tópico ontem, e na hora não pensei em nenhuma solucao, e fiquei pensando aqui, mas acabei esquecendo de vir responder, foi mal.

mas se eu entendi... o relatorio tem q mostrar as ultimas alteracoes do funcionario q foi promovido no mes, mesmo se as ultimas alteracoes tenham acontecido antes do comeco do mes??

se for isso, é meio complicado, mas pensei numas gambiarras aqui...

seria o seguinte, você filtra o relatorio pra todos os registros q sejam desse mes ou de datas anteriores.

então, você faz um grupo pra cada funcionario. então entre no menu Report -> Sort Records... e la dentro, ordene pela data, dentro do grupo do funcionario.

então, no details, você insere as linhas q você quer normalmente.

ate aqui, ele vai listar os dados q você quer. entretanto, ele vai listar todas as alteracoes e não so as tres ultimas.

então, o q você faz... la no painel da esquerda onde aparecem os nomes das sections, clique com o botao direito na section do details onde estao os dados. e clique na opcao Format Section. na janela q vai abrir, seleciona a opcao Supress (No Drill-Down). do lado dessa opcao deve ter um botao pra edicao da formula. clique nesse botao.

na janela de formula q vai abrir, la em cima, mude para Basic Syntax. ai coloque essa formula:

If {tabela.data_alteracao} = NthLargest (1, {tabela.data_alteracao}, {tabela.codigo_func}) Or _
    {tabela.data_alteracao} = NthLargest (2, {tabela.data_alteracao}, {tabela.codigo_func}) Or _
    {tabela.data_alteracao} = NthLargest (3, {tabela.data_alteracao}, {tabela.codigo_func}) Then
         Formula = False
Else
    Formula = True
End If[/code] e pronto, ele deve mostrar somente as tres alteracoes mais recentes. so lembra de mudar tabela pelo nome da sua tabela. mas ainda tem um problema. se a ultima alteracao do cara aconteceu antes desse mes, ele vai aparecer tb. se você quer saber so os q foram alterados nesse mes, então, o melhor seria você passar por parametro da data do primero dia do mes. exemplo pra maio de 2010, passe 01/05/2010. então, naquele codigo do Supress, você podia alterar pra isso:
[code]If NthLargest (1, {tabela.data_alteracao}, {tabela.codigo_func}) < {?seu_campo_parametro} Then
    Formula = True
Else
    If {tabela.data_alteracao} = NthLargest (1, {tabela.data_alteracao}, {tabela.codigo_func}) Or _
        {tabela.data_alteracao} = NthLargest (2, {tabela.data_alteracao}, {tabela.codigo_func}) Or _
        {tabela.data_alteracao} = NthLargest (3, {tabela.data_alteracao}, {tabela.codigo_func}) Then
             Formula = False
    Else
        Formula = True
    End If
End If

deve ser mais o menos isso, veja ai.

o problema com essa forma é q você não vai poder fazer contagens, com Summary Fields, etc.

mas veja se isso ajuda, qualquer coisa poste ai.

Link para o comentário
Compartilhar em outros sites

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...