Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Barra de progresso

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
edu_vba
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Ter Out 06, 2020 10:00 pm

Barra de progresso

Mensagem por edu_vba »

Olá pessoal,
Preciso de ajuda no seguinte contexto...
Tenho um arquivo MS Excel que consulta dados através de uma consulta SQL, em um banco de dados MS Access, de uma tabela (muito pesada) de muitos dados.
RecordSet_VBA.png
RecordSet_VBA.png (9.19 KiB) Exibido 1919 vezes
A função DAO RecordSet recebe a consulta SQL, coleta os dados e insere os dados no MS Excel. Toda operação é realizada com sucesso, porém o problema é que demora muito, quando a consulta SQL é realizada em uma tabela pesada.

Gostaria de saber se é possível inserir uma barra de progresso, para que o MS Excel apresente uma barra de progresso ao usuário enquanto a consulta SQL é realizada.
Alguém pode me dar uma dica?

Atenciosamente,

edu_vba


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Barra de progresso

Mensagem por Raygsson »

Você está efetuando várias consultas nessa base grande? Uma consulta apenas não é pra demorar muito, mesmo se a base for gigantesca.
Fazer a barra de progresso é possível se forem várias consultas.


edu_vba
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Ter Out 06, 2020 10:00 pm

Re: Barra de progresso

Mensagem por edu_vba »

Olá Raygsson,
O cenário é o seguinte... um relatório de indicadores MS Excel, no qual o usuário seleciona o segmento e ao clicar no botão de execução, os dados são consultados e coletados do MS Access em rede para o MS Excel.
Ou seja é o usuário que realiza consulta(s) a cada novo clique, de acordo com sua necessidade, sendo efetuada apenas uma consulta por vez.
As tabelas no banco de dados estão divididas em ano, mês, dia e intervalo. Todas as tabelas são de rápida execução com exceção da tabela intervalo, o tempo de execução varia entre 3 à 5 minutos.


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Barra de progresso

Mensagem por Raygsson »

Como a demora é apenas numa consulta desconheço forma de acompanhar o progresso durante o processamento.
Uma alternativa é melhorar o tempo dessa consulta, 3/5 minutos é muito. Com Access nunca mexi com base muito grande mas no SQL Server sim, tabela com mais de 1 milhão de linhas em rede demorava poucos segundos. Alguma especificação no seu código/banco tá deixando a consulta lenta.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder