DEIXAR SOMENTE NúMEROS NUMA STRING E SOMAR TODOS

 Tópico anterior Próximo tópico Novo tópico

DEIXAR SOMENTE NúMEROS NUMA STRING E SOMAR TODOS

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#496627 - 02/04/2021 18:39:35

AMELINHACODE
SAO PAULO
Cadast. em:Junho/2019


Boa Noite Pessoal,

Estou fazendo um sistema de bloqueio de meus clientes q usam meu sistema e dar aquela cansei para pagar...

Na parte da senha de desbloquear o cliente bloqueado vou pegar varias informações, uma delas é o cnpj do cliente.

Preciso pegar o cnpj dele, que está armazenado assim: '22.426.959/0001-98' e deixar sem ponto e nem barra, tipo assim: '22426959000198'

Depois preciso somar numero por numero, tipo assim: '2+2+4+2+6+9+5+9+0+0+0+1+9+8' que daria o resultado 57

Comecei assim:
sSQL = 'SELECT cnpj FROM empresa'
Set r = dbData.OpenRecordset(sSQL)

Dim vCnpj As String
If Not r.BOF Then
    vCnpj = r('cnpj')
End If

MsgBox vCnpj
MsgBox Val(vCnpj)


Tentei o val e o isnumeric e nao deu certo...
obs: campo CNPJ é nvarchar



#496628 - 02/04/2021 21:34:58

EPISCOPAL
VARZEA GRANDE
Cadast. em:Maio/2009


cnpj = '22.426.959/0001-98'

Ja tentou o comando replace onde vc substituiria o './-' por vbnullstring

____________________________________________________________________
Episcopal Studios


Resposta escolhida #496632 - 03/04/2021 03:42:32

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 03/04/2021 03:47:35 por JABA

    public function SomarDigitos(cnpj as string) as integer
            dim s as integer
            dim i as integer
            For i = 1 To Len(cnpj)
              if IsNumeric(Mid(cnpj, i, 1)) then
                s = s + Mid(cnpj, i, 1)  
              end if
            Next
            SomarDigitos = s
    end function


'PARA USAR
Msgbox SomarDigitos('22.426.959/0001-98')



_______________________________________________________________________________________________

Se a alma ou esprito so imateriais, como eles fazem para se localizar quando o corpo est em movimento?



#496638 - 04/04/2021 14:42:11

AMELINHACODE
SAO PAULO
Cadast. em:Junho/2019


Citação:
:
    public function SomarDigitos(cnpj as string) as integer
            dim s as integer
            dim i as integer
            For i = 1 To Len(cnpj)
              if IsNumeric(Mid(cnpj, i, 1)) then
                s = s + Mid(cnpj, i, 1)  
              end if
            Next
            SomarDigitos = s
    end function


'PARA USAR
Msgbox SomarDigitos('22.426.959/0001-98')



Obg meu amigo... serviu perfeitamente




 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por AMELINHACODE em 04/04/2021 14:42:20