Marcelo David 14/8/2019, 13:47
Grande Assis, bom dia!
A lentidão é causada porque você está tratando mal nosso amigo Access (risos)...
Vamos por parte:
O vilão é este aqui no evento
Ao carregar do formulário
ExtratoForm:DoCmd.GoToRecord , , acLastCom isso, você está dizendo assim para o Access:
Amigo, percorra todos os registros da tabela (mais de 4000) e posicione o focu no último...
Daí não há como ser rápido mesmo...
Minha primeira sugestão (caso use esse formulário para adição/alteração de registros) duas opções:Pense comigo: qual usuário consegui ler 4000 registros? Não faz sentido carregar um grid com tantas informações
que serão inúteis para o usuário, pois ele não irá percorrer tantos registros assim.
- Abra o formulário sem registros e dê opções de filtragem para o próprio usuário escolher os registros que gostaria de ver (mais indicada).
- Faça uma filtragem na abertura apenas com os registros que os usuários precisam ver e possam ver..
Uns 100 registros é o suficiente.
Minha segunda sugestão (caso não use esse formulário para adição/alteração de registros) uma opção:
- Ao invés de usar um formulário contínuo, use uma listbox, pois é muito mais leve que os formulários. Assim o carregamento dos mais de 4000 mil registros (mesmo sendo desnecessário) seria imediato.
.................................................................................
Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo]
Access e VBA - Formulário Desacoplado - [Passo a passo]
Conheça meu canal no Youtube e se inscreva.