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


3 participantes

    [Resolvido]Select distinct deixando consulta lenta

    eriberto
    eriberto
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 04/07/2013

    [Resolvido]Select distinct deixando consulta lenta Empty [Resolvido]Select distinct deixando consulta lenta

    Mensagem  eriberto 6/1/2017, 12:31

    Bom dai a todos... desde já muito grato pela atenção. Eu estou a usar  uma consulta para carregar um listBox na inicialização do formulário, logo essa consulta esta fazendo uma busca em uma tabela que já tem um volume grande de dados, consequentemente essa consulta esta muito lenta, creio eu porque estou fazendo uso do distinct para eliminar duplicidade. alguém pode me ajudar a encontra uma forma de usar o distinct de uma forma que torne essa consulta mais rápida... logo preciso de algum forma eliminar as duplicidade de registro na exibição do listBox.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3491
    Registrado : 13/12/2016

    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  Alexandre Fim 6/1/2017, 12:52

    Eriberto bom dia,

    Faz o seguinte:

    1 - Entre no modo estrutura da tabela onde consta o campo que vc está fazendo o distinct.

    2 - Ao clicar no campo, o Access exibe abaixo as Propriedades deste campo e procure a Propriedade "Indexado", que provavelmente deve estar como "Não". Mude para "Sim". Acredito que irá melhorar um pouco o desempenho da sua query.

    Abraços,

    Att,

    Alexandre Fim


    eriberto
    eriberto
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 04/07/2013

    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  eriberto 6/1/2017, 13:49

    Caro amigo Alexandre, fiz as alterações indicada mas a lentidão na consulta ainda permanece... abaixo vu postar o código da consulta que estou a usar para facilitar o entendimento.

    Código:
    SELECT DISTINCT TOP 20 dbo_tblVendaEsp.codCliente, dbo_tblVendaEsp.nomeCliente, Format(dbo_tblVendaEsp.cpf,"000\.000\.000-00") AS cpf
    FROM dbo_tblVendaEsp
    WHERE (((dbo_tblVendaEsp.nomeCliente) Like "*" & Forms!FExcluiPreVenda!txtPesquisa & "*") And ((Format(dbo_tblVendaEsp.cpf,"000\.000\.000-00")) Like "*" & Forms!FExcluiPreVenda!txtPequisaCpf & "*") And ((dbo_tblVendaEsp.statusVenda)="F") And ((dbo_tblVendaEsp.numeroloja) Like "*" & Forms!FExcluiPreVenda!txtLoja & "*"))
    ORDER BY dbo_tblVendaEsp.nomeCliente;
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  Noobezinho 6/1/2017, 17:21

    Eriberto

    Primeiro:Experimente tirar o a formatação do CPF da consulta.

    Acredito que seja o fato de ter que fazer a formatação que faz com que a consulta demore.

    Deixe essa formatação para a caixa de texto.

    Teste sem a formatação, se continuar lenta, vá para a próxima tentativa, mas mantenha sem a formatação.

    Segundo: Faça 2 consulta aninhadas, primeiro uma consulta seleção com esses critérios

    WHERE (((dbo_tblVendaEsp.nomeCliente) Like "*" & Forms!FExcluiPreVenda!txtPesquisa & "*") And ((Format(dbo_tblVendaEsp.cpf,"000\.000\.000-00")) Like "*" & Forms!FExcluiPreVenda!txtPequisaCpf & "*") And ((dbo_tblVendaEsp.statusVenda)="F") And ((dbo_tblVendaEsp.numeroloja) Like "*" & Forms!FExcluiPreVenda!txtLoja & "*"))
    ORDER BY dbo_tblVendaEsp.nomeCliente;



    Novamente, retire a formatação, pois você pode definir a formatação na caixa de texto.

    Teste esse consulta e veja sua velocidade em exibir o resultado.

    Depois utilize essa consulta para retornar o top 20.

    Editando:


    Pode inverter a ordem da coisa:

    Primeiro o top 20, isso vai reduzir os registros tremendamente.

    Depois usando ele como base, outra consulta com os critérios.



    [ ]'ds


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    eriberto
    eriberto
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 04/07/2013

    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  eriberto 6/1/2017, 18:19

    Boa tarde Noobezinho... Realmente a lentidão da consulta esta ligado a formatação do campo cpf, fiz exatamente como você falou, logo a consulta ficou 350% mais rápido. mas como eu uso essa consulta para carregar um listbox, você poderia me da uma luz como faço para fazer essa formatação direto no listbox?
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  Noobezinho 6/1/2017, 19:43

    No listbox não irá conseguir, ele é muito pobre.

    Nunca vi fazer formatação de uma coluna.

    Tem duas opções:

    1- Fazer uma consulta atualização da tabela onde está o campo CPF e colocar a formatação nele. O que acho mais sensato.

    2- Criar um formulário continuo e deixar o mesmo com aparência de um listbox.

    Então poderá exibir o campo formatado.


    [ ]'s






    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    eriberto
    eriberto
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 04/07/2013

    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  eriberto 6/1/2017, 20:01

    Muito obrigado meu grande amigo... deu certinho antedeu perfeitamente... mais uma vez muito grato pela atenção e conhecimento prestado. sucesso pra você.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  Noobezinho 6/1/2017, 20:50

    Que bom que deu certo!

    Valeu o retorno!


    Boa sorte !




    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    eriberto
    eriberto
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 04/07/2013

    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  eriberto 7/1/2017, 11:24

    Tópico resolvido.... muito obrigado ao amigo Noobezinho.

    Conteúdo patrocinado


    [Resolvido]Select distinct deixando consulta lenta Empty Re: [Resolvido]Select distinct deixando consulta lenta

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 22:49