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


2 participantes

    Consulta SQL lenta na rede

    avatar
    mtsistemas
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 18/02/2012

    Consulta SQL lenta na rede Empty Consulta SQL lenta na rede

    Mensagem  mtsistemas 26/11/2024, 13:04

    Colegas peguei um desafio para melhorar o desempenho do Ms - access em rede, a tabela de venda consta com 1 de 299777 registros
    o antigo programador tem o habito de puxar todos os dados direto na FONTE DE REGISTROS, o qual faz todo sentido na abertura dos formulários ficar lento.

    No momento estou aplicando no sistema abertura de vendas por criterio de entre datas, e mesmo assim fica muito lento.
    passei abrir formulários em tempo de execução no qual ganhei desempenho em muitos formulários.

    usando o código abaixo para puxar somente as vendas do dia, ainda tem uma demora.
    lembrando que o assunto é nos computadores da rede, no servidor fica muito bom o desempenho.



    'Historico de Vendas por Período
    Public Function AbrirVendasPorPeriodo(pDataIni As String, pDataFim As String) As DAO.Recordset


    On Error GoTo error

    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("Select Código, CodCliente, Nome, DataVenda, TotalVendaBruto, TotalVendaLiquido, SitVenda, TipaPagamento From Tab_Venda where DataVenda BETWEEN #" & pDataIni & "# AND #" & pDataFim & "# ORDER BY DataVenda", dbOpenDynaset)

    Set AbrirVendasPorPeriodo = rs

    Set db = Nothing
    Set rs = Nothing

    Exit Function
    error:
    MsgBox "ERRO AO OBTER VENDAS POR PERÍODO, MVC CAMADA VENDA DAO" & Err.Description, vbCritical, "Error"

    End Function


    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8512
    Registrado : 05/11/2009

    Consulta SQL lenta na rede Empty Re: Consulta SQL lenta na rede

    Mensagem  Alexandre Neves 26/11/2024, 19:03

    Boa noite
    Nunca usei bd em rede mas, pela leitura do código, aconselho-o a
    - crie uma variável para armazenar o recordset pretendido
    - a rotina de carregamento não deve ficar como função porque ela vai carregar o recordset em cada chamada da função
    - com essa separação, executa uma vez a rotina e carrega o recordset, nas vezes seguintes tem o recordset na variável já carregada


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    mtsistemas
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 18/02/2012

    Consulta SQL lenta na rede Empty Re: Consulta SQL lenta na rede

    Mensagem  mtsistemas 27/11/2024, 13:11

    Obrigado pelo feedback, teria como você escrever o código, para ver se eu consigo compreender, ainda estou me adaptando ao vba, e infelizmente não
    consigui decifrar sua lógica.

    avatar
    mtsistemas
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 18/02/2012

    Consulta SQL lenta na rede Empty Re: Consulta SQL lenta na rede

    Mensagem  mtsistemas 27/11/2024, 13:44

    Olha só que mistério quando debug o código na rede, dando um select Between ele tem uma demora ao executar o código.
    mas quando debug o select * FROM ele no insntante executa o código trazendo todos os registros da tabela rapidamente, vai entender.
    avatar
    mtsistemas
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 18/02/2012

    Consulta SQL lenta na rede Empty Re: Consulta SQL lenta na rede

    Mensagem  mtsistemas 27/11/2024, 15:07

    Colega como vi que os select * from foi muito rapido na rede. então vou ver uma maneira eficiente de trabalhar com tabela temporia.
    vou dar por encerrado esse assunto, obrigado até mas.



    Tópico encerrado
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8512
    Registrado : 05/11/2009

    Consulta SQL lenta na rede Empty Re: Consulta SQL lenta na rede

    Mensagem  Alexandre Neves 27/11/2024, 19:26

    Boa noite
    Para dar por encerrado, marque o botão "Resolvido" que se encontra na zona inferior direita do fórum


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    Consulta SQL lenta na rede Empty Re: Consulta SQL lenta na rede

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/12/2024, 16:13