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]Contar Itens em ListBox Não Vinculada

    Compartilhe

    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 15/06/2013

    [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Eloirp em Ter 12 Ago 2014, 00:02

    Preciso contar os itens da coluna Produto em uma ListBox não vinculada e pelas pesquisas que fiz no fórum cheguei ao rs.RecordCount, mas como podem ver na tela em anexo em exitem repetições devido ao Produto ser aplicado em diferentes modelos, então não consegui resolver e preciso de uma ajudinha básica...
    Preciso contar os produtos sem considerar se repete linha ou não!

    Kaynan
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2267
    Registrado : 09/04/2012

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Kaynan em Ter 12 Ago 2014, 00:45

    Tente assim =[sua listbox].[ListCount]

    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 15/06/2013

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Eloirp em Ter 12 Ago 2014, 00:54

    Olá Kaynan,
    Mas neste caso conta os produtos repetidos, por exemplo se tiver duas linhas com o produto 80 114 vai contar duas vezes e precisa contar apenas uma vez porque é o mesmo produto!

    Kaynan
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2267
    Registrado : 09/04/2012

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Kaynan em Ter 12 Ago 2014, 19:13

    Envia pra nós dar uma olhada amigo.

    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 15/06/2013

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Eloirp em Ter 12 Ago 2014, 21:37

    Como trabalho com banco MySQL on-line eu teria que criar uma cópia para poder enviar a base e aí fica um pouco complicado! Mas é um ListBox normal que carrego assim:


    Sub Load_ListBox()

       If Not IsNull(Me.BuscarProd) Or Not IsNull(Me.Montadora) Or Not IsNull(Me.Modelo) Or Not IsNull(Me.CR.Value) Or Not IsNull(Me.ModeloReduz.Value) Or Not IsNull(Me.Comercial2.Value) Then
       
           Me.Lista.RowSource = ""
           Me.Refresh
           
           strRS = "SELECT tbl_Aplicacao.Codigo, tbl_Aplicacao.AplApl, tbl_ProdutoGrupo.Grupo, tbl_ProdutoTipo.Tipo, tbl_Montadora.Montadora, tbl_ModeloRed.ModeloReduz, tbl_Produto.Comercial2 " & _
                   "FROM (tbl_Produto INNER JOIN (tbl_ModeloRed INNER JOIN (tbl_Modelo INNER JOIN (tbl_Montadora INNER JOIN (tbl_ProdutoTipo INNER JOIN (tbl_ProdutoGrupo INNER JOIN tbl_Aplicacao ON tbl_ProdutoGrupo.Codigo = tbl_Aplicacao.Grupo) ON tbl_ProdutoTipo.Codigo = tbl_Aplicacao.TipoProduto) ON tbl_Montadora.Codigo = tbl_Aplicacao.AplMont) ON tbl_Modelo.Codigo = tbl_Aplicacao.AplMod) ON tbl_ModeloRed.Codigo = tbl_Aplicacao.ModeloReduz) ON tbl_Produto.Produto = tbl_Aplicacao.AplApl) INNER JOIN tbl_CrossReference ON tbl_Aplicacao.AplApl = tbl_CrossReference.Produto  " & _
                   "WHERE (((tbl_Aplicacao.AplApl) Like '%" & Me.BuscarProd & "%') AND ((tbl_Aplicacao.Grupo)=" & Me.GrupoProd & ") AND ((tbl_Aplicacao.TipoProduto)=" & Me.TipoProduto & ") AND ((tbl_Montadora.Montadora) Like '%" & Me.Montadora & "%') AND ((tbl_ModeloRed.ModeloReduz) Like '%" & Me.ModeloReduz & "%') AND ((tbl_Modelo.Modelo) Like '%" & Me.Modelo & "%') AND ((tbl_Produto.Comercial2) Like '%" & Me.Comercial2 & "%') AND ((tbl_CrossReference.CrossReference) Like '%" & Me.CR & "%') AND ((tbl_Produto.Status)='Ativo'))  " & _
                   "GROUP BY tbl_Aplicacao.AplApl, tbl_ProdutoGrupo.Grupo, tbl_ProdutoTipo.Tipo, tbl_Montadora.Montadora, tbl_ModeloRed.ModeloReduz, tbl_Produto.Comercial2 " & _
                   "ORDER BY tbl_Aplicacao.AplApl, tbl_Montadora.Montadora, tbl_ModeloRed.ModeloReduz"
           
           Call Cnn_Open
           Set rs = New ADODB.Recordset
           With rs
               Set .ActiveConnection = Cnn
               .Source = strRS
               .LockType = adLockOptimistic
               .CursorType = adOpenKeyset
               .Open
           End With
           
           If Not rs.BOF Then
           
               Do While Not rs.EOF
                   Me.Lista.RowSourceType = "Value List"
                   Me.Lista.AddItem rs!Codigo & ";" & rs!AplApl & ";" & rs!Tipo & ";" & rs!Montadora & ";" & rs!ModeloReduz & ";" & rs!Comercial2
                   rs.MoveNext
               Loop
           Else
               MsgBox "   Nenhum resultado para a consulta!   ", vbOKOnly, "Sistema Interno ELPER"
           End If
           
           Set rs = Nothing: Close
           Set Cnn = Nothing: Close
           
           'Call ContarItensListBox
       Else
           MsgBox "   Favor inserir ao menos um dos critérios de consulta!   ", vbInformation + vbOKOnly, "Sistema Interno ELPER"
       End If

    End Sub

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2507
    Registrado : 29/06/2012

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Noobezinho em Qua 13 Ago 2014, 01:56

    Eloir

    Olá

    Trabalhei bem pouco com mySQL, mas acredito não ser um bicho de sete cabeças.  Razz 

    Vejo que a tua consulta tem uma serie de INNER JOIN, mostrando que tem algumas tabela agregadas.
    Então minha sugestão:

    Criar uma única tabela temporária para gravar os dados dessa consulta.
    *Na realidade ela poder ser fixa, sendo limpa ao final da contagem dos registros.

    E então uma consulta pra retornar os valores únicos dessa tabela
    SELECT DISTINCT OU SELECT DISTINCTROW ..... Não lembro qual é a instrução SQL exata.

    Então poderá fazer o Dcount()

    Espero ter ajudado.

    Abraços

    Noob




    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  formiga10x em Qua 13 Ago 2014, 04:44

    Pelo que entendi você quer que em uma caixa de texto seja somado a quantidade de registro ignorando os duplicados isso?

    Veja:

    Código:

            Me.lstProduto.RowSource = "Select * From tblProduto"
            
            Me.txtSomaQtd = DCount("codCat", "C_CodCount")
    Anexos
    lista.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (34 Kb) Baixado 26 vez(es)


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes

    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 15/06/2013

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Eloirp em Qua 13 Ago 2014, 12:53

    Agradeço aos colegas pela ajuda...
    Acabei revolvendo de uma forma simples (vermelho) e ficou assim:

    Private strConProd
    Private strProdChk As String

    Sub Load_ListBox()

       If Not IsNull(Me.BuscarProd) Or Not IsNull(Me.Montadora) Or Not IsNull(Me.Modelo) Or Not IsNull(Me.CR.Value) Or Not IsNull(Me.ModeloReduz.Value) Or Not IsNull(Me.Comercial2.Value) Then
       
           Me.Lista.RowSource = ""
           strConProd = 0
           strProdChk = ""

           Me.Refresh
           
           strRS = "SELECT tbl_Aplicacao.AplApl......
           
           Call Cnn_Open
           Set rs = New ADODB.Recordset
           With rs
               Set .ActiveConnection = Cnn
               .Source = strRS
               .LockType = adLockOptimistic
               .CursorType = adOpenKeyset
               .Open
           End With
           
           If Not rs.BOF Then
           
               Do While Not rs.EOF
                   Me.Lista.RowSourceType = "Value List"
                   Me.Lista.AddItem rs!Codigo & ";" & rs!AplApl & ";" & rs!Tipo & ";" & rs!Montadora & ";" & rs!ModeloReduz & ";" & rs!Comercial2
                   
                   ' conta produtos sem repetir
                   If strProdChk <> (rs!AplApl) Then
                       strProdChk = rs!AplApl
                       strConProd = strConProd + 1
                       Me.txt_Contar = strConProd
                       Me.Refresh
                   End If

                   
                   rs.MoveNext
               Loop
           Else
               MsgBox "   Nenhum resultado para a consulta!   ", vbOKOnly, "Sistema Interno ELPER"
           End If
           
           Set rs = Nothing: Close
           Set Cnn = Nothing: Close
           

       Else
           MsgBox "   Favor inserir ao menos um dos critérios de consulta!   ", vbInformation + vbOKOnly, "Sistema Interno ELPER"
       End If

    End Sub


    Última edição por Eloirp em Qua 13 Ago 2014, 12:55, editado 1 vez(es)

    Eloirp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 15/06/2013

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Eloirp em Qua 13 Ago 2014, 12:55

    Apenas para colocar o status de resolvido que havia esquecido...

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2507
    Registrado : 29/06/2012

    Re: [Resolvido]Contar Itens em ListBox Não Vinculada

    Mensagem  Noobezinho em Qua 13 Ago 2014, 18:13

    Eloir

    Parabéns por ter resolvido!!

    E valeu pelo retorno

    Boa sorte


    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

      Data/hora atual: Sex 09 Dez 2016, 07:42