MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Ajuda! Relatório com execução lenta

    avatar
    pauloc.amaral
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/09/2015

    [Resolvido]Ajuda! Relatório com execução lenta Empty [Resolvido]Ajuda! Relatório com execução lenta

    Mensagem  pauloc.amaral em Qui 09 Fev 2017, 11:13

    Boa tarde pessoal,

    Tenho 2 tabelas com os campos abaixo:

    tblLancamentosContaCorrente

    - idLancamento
    - idContaCorrente
    - idCliente
    - Saldo

    tblContaCorrente

    - idContaCorrente
    - idCliente
    - Cliente
    - Nome

    Os campos idContaCorrente e idCliente são comuns em ambas as tabelas.

    Estou gerando um relatório que me apresenta o campo Nome da tabela tblContaCorrente e o campo Saldo da tabela tblLancamentosContaCorrente através da consulta abaixo:

    Código:

    SELECT tblContaCorrente.Nome, tblLançamentosContaCorrente.Saldo, tblLançamentosContaCorrente.idLançamento, tblLançamentosContaCorrente.idContaCorrente
    FROM tblContaCorrente INNER JOIN tblLançamentosContaCorrente ON tblContaCorrente.[idContaCorrente] = tblLançamentosContaCorrente.[idContaCorrente]
    WHERE (((tblLançamentosContaCorrente.idLançamento)=DLast("idLançamento","tblLançamentosContaCorrente","idContaCorrente = " & [tblLançamentosContaCorrente]![idContaCorrente])))
    ORDER BY tblContaCorrente.Nome;

    Ocorre que a execução da consulta está muito lenta. Existe alguma outra forma de gerar esse relatório apresentando os mesmos dados?

    Grato

    Paulo
    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1276
    Registrado : 21/01/2012

    [Resolvido]Ajuda! Relatório com execução lenta Empty Re: [Resolvido]Ajuda! Relatório com execução lenta

    Mensagem  Cláudio Más em Qui 09 Fev 2017, 13:34

    Boa tarde,

    Certamente a função DLast está causando lentidão, mas pode melhorar retirando a cláusula ORDER BY da instrução Select e adicionando a classificação na estrutura do relatório (Agrupar e Classificar).

    Se isso não for suficiente, deverá mesmo substituir a função DLast por algum outro método para obter o saldo.
    avatar
    pauloc.amaral
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/09/2015

    [Resolvido]Ajuda! Relatório com execução lenta Empty Re: [Resolvido]Ajuda! Relatório com execução lenta

    Mensagem  pauloc.amaral em Sex 10 Fev 2017, 07:05

    Bom dia Claudio,

    Obrigado por responder. Removi a clausula ORDER BY, porém não houve alteração significativa na execução da consulta. Realmente é o comando Dlast que tem ocasionado a lentidão.

    Alguma outra sugestão? Pensei em montar o relatório via vba utilizando recordset, para agilizar a consulta ao BD, porém não tenho noção de como fazê-lo, seria uma possibilidade?

    Grato

    Paulo
    Cláudio Más
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1276
    Registrado : 21/01/2012

    [Resolvido]Ajuda! Relatório com execução lenta Empty Re: [Resolvido]Ajuda! Relatório com execução lenta

    Mensagem  Cláudio Más em Sex 10 Fev 2017, 07:41

    Bom dia Paulo,

    Tente isso:

    Código:
    SELECT tblContaCorrente.Nome, a.Saldo FROM tblContaCorrente INNER JOIN (SELECT idContaCorrente, Last(tblLançamentosContaCorrente.Saldo) AS Saldo
    FROM tblLançamentosContaCorrente GROUP BY idContaCorrente)  AS a ON tblContaCorrente.[idContaCorrente] = a.[idContaCorrente] ORDER BY tblContaCorrente.Nome
    avatar
    pauloc.amaral
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/09/2015

    [Resolvido]Ajuda! Relatório com execução lenta Empty Re: [Resolvido]Ajuda! Relatório com execução lenta

    Mensagem  pauloc.amaral em Sex 10 Fev 2017, 10:51

    Perfeito Claudio, caiu como uma luva, muito obrigado!

    Tópico encerrado.

    Abs

    Paulo

      Data/hora atual: Ter 26 Maio 2020, 17:14