MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Somar Listbox by JPaulo

    Compartilhe
    avatar
    Marco Sousa
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 947
    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
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9546
    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 ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    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.]
    avatar
    Marco Sousa
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 947
    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
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9546
    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


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    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.]
    avatar
    Marco Sousa
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 947
    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
    avatar
    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: Qui 21 Set 2017, 20:35