/ / Procedimento armazenado em execução em segundo plano? - excel, vba, excel-vba

Procedimento armazenado em execução em segundo plano? - excel, vba, excel-vba

Eu corro um procedimento armazenado para recuperar dados de umservidor que leva cerca de 10 a 15 minutos para ser concluído. Ao executar o procedimento armazenado, minha pasta de trabalho do Excel congela até que todos os dados tenham sido retornados. Eu poderia ter uma opção para executar este procedimento armazenado em segundo plano, permitindo que a pasta de trabalho do Excel seja viável. A idéia é dar ao usuário a possibilidade de trabalhar na pasta de trabalho durante a recuperação de dados, em vez de esperar de 10 a 15 minutos apenas olhando para a planilha.

Minha pergunta: Eu nunca vi essa idéia antes em qualquer outro aplicativo. Eu não sei se isso significa um padrão de boas práticas. Ter o banco de dados carregado durante o trabalho na mesma pasta de trabalho e quando os dados acabam de alertar o usuário de que todos os dados foram recebidos.

O que é que vocês acham? Você acredita que isso poderia complicar outra coisa?

Eu realmente não gosto da idéia, mas pelo menos o usuário não perderia 10-15 minutos.

Obrigado a todos :)

Respostas:

0 para resposta № 1

Você precisa criar uma instância do Excelaplicação e execute o seu procedimento stpred lá. Nesse caso, seu aplicativo do Excel ainda estará disponível para o usuário, mas espero que seja lento. Você precisa modificar seu código VBA para executar em uma nova instância do aplicativo Excel:

dim xlApp as Excel.Application
set xlApp=New Excel.Application

Então, aqui depois de fazer suas coisas, você deve mencionar o aplicativo também, já que você tem mais de um aplicativo ativo. Por exemplo, para criar uma nova pasta de trabalho, você faria:

xlApp.Workbooks.Add

Eu acho que você provavelmente pode abrir uma nova instância deExcel manualmente, abra sua pasta de trabalho que contém seu código VBA usando OPEN da guia FILE e, em seguida, execute seu código; nesse caso, o aplicativo Excel padrão estará disponível para o usuário trabalhar. Para abrir uma nova instância do Excel mantenha a tecla SHIFT pressionada e clique no ícone do seu aplicativo do Excel (no seu menu Iniciar ou na área de trabalho, etc., se você não souber onde encontrá-lo, vá para o menu Iniciar do Windows e procure pelo EXCEL)

Espero que isto ajude!