MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Calculo por grupo

    avatar
    Luis Carreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8
    Registrado : 13/07/2012

    [Resolvido]Calculo por grupo Empty [Resolvido]Calculo por grupo

    Mensagem  Luis Carreira 13/7/2012, 12:04

    Bons dias,

    tenho um relatório no qual preciso efectuar uns calculos (medias, desvios-padrão) mas preciso que estes sejam efectuados a cada grupo de 15 registos.

    O relatório está baseado numa consulta, e ao abrir, é filtrado segundo critérios de Familia de produtos e de Datas. Após o filtragem, criei um campo de numeração automática no relatorio, e queria usar esse campo para agrupar os resultados em grupos de 15, para poder efectuar esses calculos, mas o campo nao aparece como opção. Ja tentei no editor de expressões, mas ao agrupar da erro e nao cria grupos.

    A ideia é apresentar apenas 15 registos por pagina, com um rodapé onde aparecem os valores de média e DP desses 15.

    Se alguém puder contribuir...

    Cumps!
    Luis
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Avelino Sampaio 13/7/2012, 13:08

    Olá Luiz

    Seja benvindo!

    Assista esta minha vídeo-aula, que valerá cada minuto gasto.

    http://www.usandoaccess.com.br/tutoriais/tuto32.asp?id=1#inicio

    Conseguindo ou não, volte aqui para continuar a ajuda ou concluir o tópico.

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Luis Carreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8
    Registrado : 13/07/2012

    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Luis Carreira 3/3/2014, 17:02

    após uma pausa sabática forçada, estou de volta à luta com a minha BD, e o progresso actual está em ter conseguido fazer o print-preview apresentar os subgrupos de 15 resultados que queria.

    Já lhe pus o calculo da média, usando o codigo seguinte

    Option Compare Database
    Option Explicit

    Dim Linha As Integer

    Private Sub SecçãoDeCabeçalhoDePágina_Print(Cancel As Integer, PrintCount As Integer)
           Linha = 0
           Me.Detalhe.ForceNewPage = 0
           soma = 0
       
    End Sub


    Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
           Linha = Linha + 1
           If Linha = 15 Then Me.Detalhe.ForceNewPage = 2
           Me!soma = Nz(soma, 0) + Fcti
           Me!media = soma / 15
           
    End Sub

    O passo seguinte será calcular o Desvio Padrão desse mesmo subgrupo

    já tentei de varias formas e o mais proximo que cheguei foi tendo qq coisa do genero

    from Linha =1 to 15
    valor=fcti-media (calculada no codigo anterior)
    valor=valor^2
    DPsoma=DPsoma+valor
    next Linha

    DPmed=DPsoma/14
    DP=sqr(DPmed)

    O problema disto é que me vai calcular a média em cada linha, e nao vai devolver o DP correto.

    Como é que ultrapasso este problema? Alguém tem ideias?

    Muito obrigado desde já...
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Avelino Sampaio 9/3/2014, 11:23

    Olá!

    Anexe aqui o seu BD exemplo com este relatório que agente te ajuda.

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Luis Carreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8
    Registrado : 13/07/2012

    [Resolvido]Calculo por grupo Empty BD exemplo

    Mensagem  Luis Carreira 10/3/2014, 13:42

    Então cá vai uma amostra da BD.

    Foi strippada de tudo o que não era relevante para a questão e foram simplificadas as ligações, convertendo a consulta de origem numa tabela, assim como foram também incluídos apenas uma amostra dos dados a tratar.
    Anexos
    [Resolvido]Calculo por grupo AttachmentBD_exemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.4 Mb) Baixado 5 vez(es)
    avatar
    Luis Carreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8
    Registrado : 13/07/2012

    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Luis Carreira 10/3/2014, 13:46

    A ideia é conseguir produzir um relatório semelhante ao que segue em anexo.

    Não tem que ter a mesma aparência, mas tem que incluir os mesmos dados e verificações/cálculos (e mais algumas, mas vamos lá mais tarde... Laughing )
    Anexos
    [Resolvido]Calculo por grupo Attachmentreport_C.pdf
    Você não tem permissão para fazer download dos arquivos anexados.
    (112 Kb) Baixado 4 vez(es)
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Avelino Sampaio 10/3/2014, 14:30

    Olá!

    Baixei o exemplo.

    Informe o valor do DP para a primeira página do relatório.

    Soma = 857,30
    Mádia = 57,20
    DP = ? ' Qual é o valor para eu saber se estou montando correto

    O valor do DP deverá ser por página ?

    No aguardo


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Luis Carreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8
    Registrado : 13/07/2012

    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Luis Carreira 10/3/2014, 14:52

    Para o primeiro conjunto de 15 (Página 1), deve devolver 57,15 de média, com um DP de 2,917.

    O controlo deve repetir estes cálculos a cada conjunto de 15 resultados, partindo sempre do zero, i.e., sempre que começa uma pagina nova (novo conjunto de 15), a media e DP anteriores são desconsiderados.

    As verificações a efectuar nesse grupo serão se a média de fcti é superior a um valor de referência (fck) adicionado de 1,48 vezes o DP, ou seja:

    fcti médio>= fck+1,48*DP

    e se o DP do grupo se encontra dentro do intervalo [0,63S;1,37S], onde S é um valor pré-determinado, ou seja:

    0,63S<=DP<=1,37S.

    Para o caso no exemplo, os valores de fck e S são 45 e 3,7, respectivamente.

    Grato pelo contributo e disponível para mais qualquer esclarecimento.



    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3883
    Registrado : 04/04/2010

    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Avelino Sampaio 10/3/2014, 15:25

    Luís,

    para simplicar vamos aproveitar a função de desvio padrão do Access , que é a DStDev()

    Veja como ficou o código:


    Option Compare Database
    Option Explicit

    Dim linha As Integer
    Dim seq$


    Private Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)
           seq = seq & "," & Me!ID
           linha = linha + 1
           If linha = 15 Then
               Me!DP = DStDev("fcti", "dados", "id in(" & Mid(seq, 2) & ")")
               Me.Detalhe.ForceNewPage = 2
           End If
           Me.soma = me.soma + Me!Fcti
           Me.media = me.soma / 15
    End Sub

    Private Sub SecçãoDeCabeçalhoDePágina_Format(Cancel As Integer, FormatCount As Integer)
           Me.Detalhe.ForceNewPage = 0
           linha = 0
           me.soma = 0
           seq = ""
    End Sub


    Test é veja os resultados das páginas se corresponde a cálculo correto.
    Se o código falhar, acrescente o campo ID na seção detalhes e coloque-o oculto.

    No aguardo


    Última edição por Avelino Sampaio em 10/3/2014, 16:09, editado 1 vez(es)


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Luis Carreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8
    Registrado : 13/07/2012

    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Luis Carreira 10/3/2014, 15:53

    Foi necessário adicionar o campo ID ao relatório, mas o código funciona que é uma beleza! cheers 

    Muito obrigado ao caro Avelino.

    Ainda não consegui perceber bem o que faz o código que adicionou, mas lá que resulta, resulta...  Very Happy 

    Certamente não hesitarei em voltar a perguntar a quem sabe quando me deparar com mais um degrau destes demasiado altos para escalar sozinho.

    Uma vez mais, muito obrigado pela ajuda.

    Conteúdo patrocinado


    [Resolvido]Calculo por grupo Empty Re: [Resolvido]Calculo por grupo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 20/5/2024, 17:17