Ir para conteúdo
Fórum Script Brasil
  • 0

sistema muito pesado


Humm

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

Na verdade o dlookup é uma função que simplifica a expressão sql:

select * from suaTabela where isso=aquilo

voce poderia de tempos em tempos fazer bkps do q tem nas tabelas e retirar isso ou então tentar usar reparer e compactar do menu ferramentas.

ok!

Link para o comentário
Compartilhar em outros sites

  • 0

compactar e reparar já usei..

sinto que o problema esta na quantidade de dlookups.. e já li em algum lugar que o uso de dlookup deixa lento.. me parece que se possivel, é de preferencia fazer em sql

eu tentei aqui mas não consegui..

exemplo:

Me.VALORUNITÁRIO = DLookup("[PREÇO]", "CONS_PRECOATUAL", "[COD_FILHO]=" & Me.[REFERENCIA])
tentei assim:
Me.VALORUNITÁRIO = "SELECT CONS_PRECOATUAL.PREÇO FROM CONS_PRECOATUAL WHERE (((COD_FILHO) = [Formulários]![CUPOM_2]![SUBFORM_CUPOM_2].[Form]![REFERENCIA])) GROUP BY PREÇO"

dá erro.. detalhe que copiei o sql da consulta que crie.. o que pode estar dando errado?

Link para o comentário
Compartilhar em outros sites

  • 0

velho.. to me baseando por isso aqui..

http://www.jrfaq.com/default.asp?http%3A//...ergunta_Id%3D25

Problemas que podem causar lentidão num banco de dados

Fazendo uma pesquisa na Microsoft Knowledge Base por Optimize, encontrei dezenas de artigos que tratam de situações que podem causar lentidão na performance de um banco de dados (versão Access 2000):

arquivo mdb corrompido;

arquivo mdb com nome estendido na rede local (é melhor usar nomes no formato 8.3);

design pobre do banco de dados (não segue as regras de normalização);

estações da rede local rodando Windows 2000 e XP sem atualizações;

falta de atualização do Access / motor Jet;

HD precisando de desfragmentação;

propriedade AutoCorreção de nomes (Access 2000 em diante) habilitada;

subformulários não otimizados;

Configuração do antivirus instalado na estação de trabalho;

etc.

No caso de tabelas vinculadas, na versão 2000, pode ocorrer lentidão se a propriedade Subdatasheet Name das tabelas estiver ajustada para "Auto". O artigo BUG: Slower performance on linked tables in Access 2000 dá mais detalhes e ensina um "workaround" para lidar com o problema. Entretanto, não pense que o mal é causado por tabelas vinculadas, pois, a princípio, o fato de haver um vínculo com tabelas na rede, por si só, não gera sobrecarga no tráfego de dados. Geralmente, o problema é causado por consultas, formulários e relatórios mal projetados.

Também o uso de funções agregadas de domínio (DLookup, DCount, DSum, etc.) pode reduzir bastante o desempenho de consultas que envolvam tabelas vinculadas.

Tendo em vista que a otimização de um banco de dados é um assunto complexo, sugiro o estudo do artigo Como otimizar o desempenho do banco de dados?

Boa sorte.

João Rodrigues (JR)

sei que o dlookup é pratico, mas é a tal da função agregada.. como diz ali, reduz o desempenho de consultas.. e eu tenho alguns forms com muitas dlookups pra retornar diversos resultados calculados de outras tabelas relacionadas saca?

abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...