MaximoAccess

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

Obrigado

Administração do MaximoAccess


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.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Soma de elementos de um Array

    avatar
    werlycorvo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 13/07/2011

    [Resolvido]Soma de elementos de um Array Empty [Resolvido]Soma de elementos de um Array

    Mensagem  werlycorvo em Ter 23 Jul 2019, 09:21

    Saudações a todos os Mestres e Colegas do Forum.

    Ontem me deparei com uma situação um pouco estranha.
    Um cliente me pediu para auditar um banco de dados inativo de + ou - uns 15 anos, porém
    o banco é em .DBF com tabelas vinculadas. Até aqui tudo bem, mas quando acessei os códigos dos formulários
    em uma versão antiga do Access notei que o programador usou uma quantidade enorme de Arrays para usar como Totais Periódicos.

    Exemplo:
    Dim Totais(20) as Double

    Totais(0) = 15000,00
    Totais(1) = 23000,00
    Totais(2) = 17000,00
    Totais(3) = 18000,00
    e sucessivamente.

    Para auditar o banco tenho que somar os elementos destes arrays. Consigo faze-lo usando o seguinte código:

    Dim dblSomaArray as Double

    dblSomaArray = 0
    For I = 0 To 20
    dblSomaArray = dblSomaArray + Totais(I)
    Next

    Eis a questão, deve ter uns 20 anos que não trabalho com Arrays estou muito enferrujado.

    Alguém saberia uma forma mais simples de fazer estas somatórias?

    Desde Já Agradeço a atenção de todos.

    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3251
    Registrado : 21/04/2011

    [Resolvido]Soma de elementos de um Array Empty Re: [Resolvido]Soma de elementos de um Array

    Mensagem  Marcelo David em Ter 23 Jul 2019, 11:41

    Boa tarde, essa já é a maneira mais simples de se fazer isso. Para facilitar, poderia usar uma função genérica que some qualquer Array.
    Para isso, em um módulo:
    Código:
    'Autor: Marcelo R. David
    'Data: 23/07/2019
    'Para solução do tópico MaximoAccess: http://www.maximoaccess.com/t36349-soma-de-elementos-de-um-array
    Public Function fncSomaArrays(varArray) As Double
       Dim i
       Dim ic As Integer
       Dim i2 As Double
        
       For Each i In varArray
             i2 = i2 + varArray(ic)
             ic = ic + 1
       Next

       fncSomaArrays = i2

    End Function

    Para calcular em uma MsgBox por exemplo:

    Código:
    MsgBox fncSomaArrays(Totais)



    .................................................................................
    Marcelo David | [Resolvido]Soma de elementos de um Array LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    avatar
    werlycorvo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 13/07/2011

    [Resolvido]Soma de elementos de um Array Empty Soma de elementos de um Array

    Mensagem  werlycorvo em Ter 23 Jul 2019, 17:08

    Boa Tarde a Todos.

    Marcelo esta função realmente não quebra só um galho, quebra uma mata inteira.

    Obrigado pela atenção e fiquem bem.

    Sendo assim dou o tópico por Resolvido. Porem caso tenham outras soluções reabram o tópico


    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3251
    Registrado : 21/04/2011

    [Resolvido]Soma de elementos de um Array Empty Re: [Resolvido]Soma de elementos de um Array

    Mensagem  Marcelo David em Ter 23 Jul 2019, 18:52

    Maravilha. O fórum agradece o retorno.


    .................................................................................
    Marcelo David | [Resolvido]Soma de elementos de um Array LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev

      Data/hora atual: Qua 27 Jan 2021, 14:55