MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Somar Listbox by JPaulo

    Compartilhe

    Marco Sousa
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 780
    Registrado : 06/01/2011

    [Resolvido]Somar Listbox by JPaulo

    Mensagem  Marco Sousa em Qua 05 Ago 2015, 12:32

    Olá . . .
    Segui este tópico do Mestre JPaulo

    Function fncSomaListBox(lst As Access.ListBox, intColuna As Integer) As Double
    'By JPaulo ® Maximo Access Outubro/2013
    'Função soma listbox numa caixa de texto no seu formulário
    Dim intLinha As Long
    Dim intTotal As Double
    'Inicia soma com valor zero
    intTotal = 0
    'Percorre linha a linha na sua lista
    With lst
    For intLinha = Abs(.ColumnHeads) To (.ListCount - 1)
    intTotal = intTotal + Val(.Column(intColuna, intLinha))
    Next intLinha
    End With
    'Insere a soma total na função
    fncSomaListBox = intTotal
    End Function


    Chamar a função por VBA;

    '3 é numero da coluna na sua lista, onde se encontra o valor a somar
    'As listas iniciam pela coluna zero (0)

    Me.SuaCaixaTexto.Value = fncSomaListBox(Me.SuaListBox, 3)

    'Se for na origem da SuaCaixaTexto
    = fncSomaListBox(SuaListBox; 3)

    ...

    Sendo que a questão é que ao clicar no botão para efectuar a soma da o seguinte erro :
    Compile error:
    Expected variable or procedure, not module

    Sendo que o Modulo existe ???


    .................................................................................
    --
    Marco Sousa

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Somar Listbox by JPaulo

    Mensagem  JPaulo em Qua 05 Ago 2015, 12:38

    Essa função tem de estar dentro do VBA do formulario, não num modulo à parte.

    E mostre aqui, como está o código do botão ?


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Marco Sousa
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 780
    Registrado : 06/01/2011

    Re: [Resolvido]Somar Listbox by JPaulo

    Mensagem  Marco Sousa em Qua 05 Ago 2015, 12:45

    ui... coloquei em Modulo. O botão :
    Me.SomaBX.Value = fncSomaListBox(ListaBxFuncionarios, Cool


    .................................................................................
    --
    Marco Sousa

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Somar Listbox by JPaulo

    Mensagem  JPaulo em Qua 05 Ago 2015, 14:15

    Então ?

    Tem de ser no form, qualquer coisa assim;

    Código:
    Private Sub SeuBotão_Click()
        Me.SomaBX.Value = fncSomaListBox(Me!ListaBxFuncionarios, 8)
    End Sub

    Function fncSomaListBox(lst As Access.ListBox, intColuna As Integer) As Double
    'By JPaulo ® Maximo Access Outubro/2013
    'Função soma listbox numa caixa de texto no seu formulário
    Dim intLinha As Long
    Dim intTotal As Double
    'Inicia soma com valor zero
    intTotal = 0
    'Percorre linha a linha na sua lista
        With lst
            For intLinha = Abs(.ColumnHeads) To (.ListCount - 1)
            intTotal = intTotal + Val(.Column(intColuna, intLinha))
            Next intLinha
        End With
    'Insere a soma total na função
    fncSomaListBox = intTotal
    End Function


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Marco Sousa
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 780
    Registrado : 06/01/2011

    Re: [Resolvido]Somar Listbox by JPaulo

    Mensagem  Marco Sousa em Qui 06 Ago 2015, 20:09

    Resolvido. Obrigado JP


    .................................................................................
    --
    Marco Sousa

    Caio
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 301
    Registrado : 27/04/2015

    Re: [Resolvido]Somar Listbox by JPaulo

    Mensagem  Caio em Sex 02 Out 2015, 14:35

    Explica como posso fazer uma soma de horas de uma coluna da caixa de listagem?
    Obs: horas passam de 24, porém já tenho uma função que faz isso.

      Data/hora atual: Sab 10 Dez 2016, 06:54