PREENCHER COLUNA VAZIA COM 0

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

PREENCHER COLUNA VAZIA COM 0

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#493677 - 28/04/2020 22:45:41

DANIELMARCOS17
MACEIO
Cadast. em:Dezembro/2015


Galera boa noite a todos!
Estou fazendo um filtro para somar os resultados gerados em uma listviwer, porm, a coluna do valor a ser somado no est em branco ento da erro.
Como fao para preencher as celulas na coluna que esto vazias?

Uso banco em access.

Public Sub Somar_Manutencoes()
    
     Dim soma As Double
     Dim itens As Long
    
     For itens = 1 To lstFiltroRelatorio.ListItems.Count

     []If lstVencHoje.ListItems.item(itens).SubItems(1) = []ENTRADA[] Then
    
    
     soma = soma + (lstFiltroRelatorio.ListItems(itens).ListSubItems(7)) - porm da erro aqui pq a coluna est vazia.
  

     lblValorParcelas.Caption = soma
    lblValorParcelas.Caption = Format(lblValorParcelas.Caption, []R$ #,##0.00[])
    
       Next itens

    End Sub

Daniel Marcos
Programador VBA

#493681 - 29/04/2020 07:20:22

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Faa uma condio:

If (lstFiltroRelatorio.ListItems(itens).ListSubItems(7)) = vazia Then
soma = soma
Else
soma = soma + (lstFiltroRelatorio.ListItems(itens).ListSubItems(7))


Mais ou menos por a.

____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

#493686 - 29/04/2020 12:42:11

DANIELMARCOS17
MACEIO
Cadast. em:Dezembro/2015


Citação:
:
Faa uma condio:

If (lstFiltroRelatorio.ListItems(itens).ListSubItems(7)) = vazia Then
soma = soma
Else
soma = soma + (lstFiltroRelatorio.ListItems(itens).ListSubItems(7))


Mais ou menos por a.

obrigado pela ajuda meu amigo, porm, d o mesmo erro do NULL.
Ele no consegue somar.

Alguem sabe uma forma de criar uma funo que poderia preencher essa coluna vazia com []ZERO[]?
pq ai eu executaria essa funo e n daria mais erro, pq tudo estaria com R$ 0,00, depois que voc trocando esses R$ 0,00 reais por valores ai somaria normalmente.
Se alguem puder me ajudar.

Daniel Marcos
Programador VBA

Resposta escolhida #493687 - 29/04/2020 12:55:17

LUIS2014
CURITIBA
Cadast. em:Agosto/2014


soma = soma + IIF(ISNULL(lstFiltroRelatorio.ListItems(itens).ListSubItems(7)) ,0,(lstFiltroRelatorio.ListItems(itens).ListSubItems(7)) )



#493688 - 29/04/2020 13:08:35

DANIELMARCOS17
MACEIO
Cadast. em:Dezembro/2015


 Anexos estao visíveis somente para usuários registrados

Citação:
:
soma = soma + IIF(ISNULL(lstFiltroRelatorio.ListItems(itens).ListSubItems(7)) ,0,(lstFiltroRelatorio.ListItems(itens).ListSubItems(7)) )

da o erro reportado na imagem e quando deixo o cursos em cima da varivel soma aparece 0

Daniel Marcos
Programador VBA

#493689 - 29/04/2020 13:46:17

LUIS2014
CURITIBA
Cadast. em:Agosto/2014


O  campo da listviwer retorna vazio ou null?
tente assim:
soma = soma + IIF(lstFiltroRelatorio.ListItems(itens).ListSubItems(7) = [][] , 0, lstFiltroRelatorio.ListItems(itens).ListSubItems(7))



#493690 - 29/04/2020 14:13:50

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Exatamente, vazio uma coisa, nulo outra.

____________________________________________________
No h nessa vida algo que no se possa alcanar, voc s precisa ir buscar.

#493692 - 29/04/2020 15:06:00

DANIELMARCOS17
MACEIO
Cadast. em:Dezembro/2015


Citação:
:
O  campo da listviwer retorna vazio ou null?
tente assim:
soma = soma + IIF(lstFiltroRelatorio.ListItems(itens).ListSubItems(7) = [][] , 0, lstFiltroRelatorio.ListItems(itens).ListSubItems(7))

retorna que o valor da varivel soma igual a 0.
e nesse exemplo que vc me mandou, no mostra erro, porm, ele fica num loop e trava o programa...acredito que por ter mais de 3000 linhas com informaes, e no campo que eu preciso somar esteja vazio, o seu codigo esta colocando 0 em todas as celulas para efetuar o calculo ne isso?

existem alguma forma de eu preencher essa coluna vazia com o valor 0 de uma vez s...
algum SELECT no banco?

Daniel Marcos
Programador VBA

#493693 - 29/04/2020 16:03:31

DANIELMARCOS17
MACEIO
Cadast. em:Dezembro/2015


Citação:
:
O  campo da listviwer retorna vazio ou null?
tente assim:
soma = soma + IIF(lstFiltroRelatorio.ListItems(itens).ListSubItems(7) = [][] , 0, lstFiltroRelatorio.ListItems(itens).ListSubItems(7))

Encontrei qual era o erro:

[]FAZ A CONEXO COM O banco DE DADOS -------------------------------------------------------------------------
    ConnectBD
    []------------------------------------------------------------------------------------------------------------
        []rs.Open []Select *from tabela_cliente where NomeMes like []%[] & valor_pesq & []%[][], db, 3, 3
        rs.Open []select * from tabela_cliente where NomeMes like[]%[] & cmb_rev_mes & []%[][], db, 3, 3
        
      

            Do Until rs.EOF
                Set item = lstFiltroRelatorio.ListItems.Add(, , rs!ID)
                    item.SubItems(1) = [][] & rs!Produtos
                    item.SubItems(2) = [][] & rs!DataCompra
                    item.SubItems(3) = [][] & rs!UltimaManutencao
                    item.SubItems(4) = [][] & rs!ProdutoRefil
                    item.SubItems(5) = [][] & Format(rs!ValorRefil, []currency[])
                    item.SubItems(6) = [][] & rs!Revendedor
                    item.SubItems(7) = [][] & rs!Nome
                    item.SubItems(8) = [][] & rs!Telefone
                    item.SubItems(9) = [][] & rs!Endereco
                    item.SubItems(10) = [][] & rs!Bairro
                    item.SubItems(11) = [][] & rs!Cidade
                    item.SubItems(12) = [][] & rs!UFCidade
                    item.SubItems(13) = [][] & rs!NomeMes
                    item.SubItems(14) = [][] & rs!Ano


                    []Somar_Manutencoes - estava colocando a funo que fazia a soma dentro do loop

                rs.MoveNext
            Loop


essa seu comando funcionou perfeitamente:
soma = soma + IIF(lstFiltroRelatorio.ListItems(itens).ListSubItems(7) = [][] , 0, lstFiltroRelatorio.ListItems(itens).ListSubItems(7))

muito obrigado pela ajuda!!!!
            

Daniel Marcos
Programador VBA

#493694 - 29/04/2020 16:07:47

LUIS2014
CURITIBA
Cadast. em:Agosto/2014


e quando essa coluna no esta vazia, como ele traz o valor? double, integer, string ?




#493695 - 29/04/2020 16:18:47

DANIELMARCOS17
MACEIO
Cadast. em:Dezembro/2015


Citação:
:
e quando essa coluna no esta vazia, como ele traz o valor? double, integer, string ?

Ele traz o valor como double e faz o calculo normalmente, ficou tudo certinho agora.

Daniel Marcos
Programador VBA

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


Tópico encerrado, respostas não sao permitidas
Encerrado por DANIELMARCOS17 em 29/04/2020 16:22:51