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


4 participantes

    [Resolvido]Contar valores;

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar valores; Empty Contar valores;

    Mensagem  dteixa 20/11/2012, 19:39

    Boas
    tenho uma duvida fácil para vocês,
    tenho uma caixa de texto [CAIXA1] com os seguintes valores,

    15489654; 02584568; 15487; 2564125;

    é possível em outra caixa de texto [CAIXA2] apresentar o total de valores da [CAIXA1]
    neste caso Total =4
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Contar valores; Empty Re: [Resolvido]Contar valores;

    Mensagem  Alexandre Neves 20/11/2012, 19:53

    Boa noite, dteixa
    Ainda gostava de saber como sabe que é fácil para outros e não sabe como resolver!
    Utilize esta função que lhe criei
    Function ContaCaracter(Texto As String, Caracter As String) As Integer
    ' 'criada por Alexandre Neves www.esnips.com\web\alexandreneves
    ' 'em 2012-11-20
    ' 'para dteixa
    ' 'do fórum MaximoAccess
    ContaCaracter = 0
    Do Until Texto = ""
    If Mid(Texto, 1, 1) = Caracter Then ContaCaracter = ContaCaracter + 1
    Texto = Mid(Texto, 2)
    Loop
    End Function


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar valores; Empty Re: [Resolvido]Contar valores;

    Mensagem  criquio 20/11/2012, 19:57

    No escopo do vba do formulário:

    Código:
    Private Function N() As Integer
        Dim V As Variant
        V = Split(Me.NomeDoCampo, ";")
        N = UBound(V) + 1
    End Function
    Na origem do campo:

    = N()

    Acredito que seja isso que está precisando.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar valores; Empty Re: [Resolvido]Contar valores;

    Mensagem  criquio 20/11/2012, 19:58

    Excusas Alexandre, não vi que tinhas respondido Laughing


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar valores; Empty Re: [Resolvido]Contar valores;

    Mensagem  dteixa 20/11/2012, 21:07

    Agradeço aos dois, Alexandre e Criquio
    resolvi assim de um outro exemplo que tirei aqui do fórum mas não sei quem o autor

    Private Sub Texto19_AfterUpdate()
    Dim I As Integer, N As Integer

    I = 1

    Do While I < Len(Me.CAIXA1)
    If Mid(Me.CAIXA1, I, 1) = ";" Then
    N = N + 1
    End If
    I = I + 1
    Loop

    Me.CAIXA2 = N + 1
    End Sub
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar valores; Empty Re: [Resolvido]Contar valores;

    Mensagem  criquio 20/11/2012, 21:45

    Acredito que esse exemplo tambem foi postado por mim. Ele é praticamente igual ao que o colega Alexandre postou. Agora, não sei se o colega Alexandre irá concordar comigo, mas acho a primeira forma que postei aqui mais rápida, pois essa que você está usando tem que passar caractere por caractere para fazer a contagem, enquanto a primeira, que utiliza o Split, não precisa contar caractere a caractere.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    dteixa
    dteixa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 281
    Registrado : 15/01/2012

    [Resolvido]Contar valores; Empty Re: [Resolvido]Contar valores;

    Mensagem  dteixa 20/11/2012, 22:48

    CRIQUI Obrigado,
    tem dois problemas
    1ºos valores do campo vou introduzir via seleção de uma caixa de listagem.
    2º o resultado, eu quero armazenar na tabela.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Contar valores; Empty Re: [Resolvido]Contar valores;

    Mensagem  criquio 22/11/2012, 19:05

    Para obter os resultados, basta utilizar o índice da função Split. Quando dividimos, as partes são identificadas numericamente, começando do zero. Portanto, se você tem quatro campos e quer jogar cada parte em um, basta utilizar o índice dessas partes:

    Me.NomeCampo1 = N(0)
    Me.NomeCampo2 = N(1)
    Me.NomeCampo3 = N(2)
    Me.NomeCampo4 = N(3)


    O LBound captura a parte cujo número seja o menor. Nesse caso, equivalente ao N(0). Portanto, tanto faz colocar N(0) quanto N(LBound(N)). A mesma coisa acontece com a parte cujo índice seja o de maior valor, nesse caso, utilizando UBound. Quando não sabemos exatamente quantas partes uma determinada matriz contem, utilizamos o UBound para identificar a maior parte. Assim, poderemos obter todas as partes fazendo um Loop pela matriz ou utilizando um For...Next.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Denis Oliveira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 27/09/2016

    [Resolvido]Contar valores; Empty Função Contar itens em sequencia dentro de um campo

    Mensagem  Denis Oliveira 5/11/2016, 14:39

    Colegas,

    achei que podia responder aqui, pois achei este tópico que me foi muito útil e gostaria de tirar algumas dúvidas com vocês.

    No meu bd tenho um campo chamado QUART_CONCL que apresentará sequencias similares a: 12;1;104;10. Neste campo só se aceita ";" e números.
    Em outro campo chamado QUART_CONCL_T necessito contar os itens da sequencia digitada no campo QUART_CONCL.

    Utilizei algumas sugestões de vocês e criei:
    Código:

    Private Sub QUART_CONCL_AfterUpdate()
    Dim I As Integer, N As Integer

    If IsNull(Me.QUART_CONCL) Or Me.QUART_CONCL.Value = 0 Then
        Me.QUART_CONCL_T = "0"
    Else
    I = 1
    Do While I < Len(Me.QUART_CONCL)
    If Mid(Me.QUART_CONCL, I, 1) = ";" Then
    N = N + 1
    End If
    I = I + 1
    Loop

    Me.QUART_CONCL_T = N + 1

    End If

    End Sub

    Entretanto, ao digitar apenas o caracter ;, a funçaõ também o conta como um item sequencial, ou seja, se eu digitar ;;; ela contará três itens. assim também se utilizar o Split.

    Onde posso restringir isto?

    Obrigado!

    Conteúdo patrocinado


    [Resolvido]Contar valores; Empty Re: [Resolvido]Contar valores;

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:21