COMO DESABILITAR MENSAGEM DE INFORMACAO VBA-ACCESS

RICK 29/07/2009 17:41:26
#318259
Boa tarde.

Tenho um sistema em VBA-ACCESS para cálculos diversos. Esse sistema chama uma DLL que efetua os cálculos e retorna os resultados. As vezes a execução é interrompida por um erro de acesso á DLL. Eu identifico o erro e faço tratamento para dar continuidade na execução, mas isso só ocorre quando o usuário clica em [ô]OK[ô] na mensagem de informação do erro.
Eu gostaria de saber como faço para desabilitar as mensagens de informação para que essa mensagem não exploda na tela. Eu já consigo desabilitar as mensagens de ação, mas não as de informação.

Se alguém souber , agradeço a ajuda.

RICK
ARES 29/07/2009 17:47:29
#318261
rick

quando eu quero [Ô]burlar um erro[Ô] uso duas formas:

on error resume next
ou

on error goto trataerro

no final do código:

with err
if .number <>0 then
.number = 0
end if
end with

verifique se isso se aplica as suas necessidades.
RICK 30/07/2009 15:09:24
#318370
Então ARES, esse tratamento eu já faço, mas o que ocorre é que a execução do tratamento de erros só é executada após o usuário clicar em [ô]OK[ô] na mensagem de informação de erro. Eu gostaria de desabilitar essa mensagem de informação, pois assim ele continuaria o fluxo indo direto para o tratamento de erros.

O meu problema é que esse sistema fica dias executando e vira noites sem um usuário monitorando para efetuar o [Ô]bendito[Ô] clique.

Se conhecer algum código que desabilite as mensagens, fico grato.


RICK
JSFF77 30/07/2009 15:29:08
#318373
Resposta escolhida
Boa tarde.

Eis o código de que precisa:

Application.DisplayAlerts = False

Até mais.


José Freitas

RICK 30/07/2009 15:42:25
#318375
JSFF77, boa tarde.

Fiz um teste na minha aplicação e a opção .DisplayAlerts não aparece. é necessário adicionar alguma referência específica?

Grato.



RICK
JSFF77 30/07/2009 16:17:06
#318380
Ops! Desculpe-me!

Bom, vamos lá!

- Para aplicações em Excel, utilize o código:

Application.DisplayAlerts = False [ô]Desabilita o sistema padrão de mensagens de alerta
Application.DisplayAlerts = True [ô]Habilita o sistema padrão de mensagens de alerta

- Para aplicações em Access, utilize o código:

Application.DoCmd.SetWarnings False [ô]Desabilita o sistema padrão de mensagens de alerta
Application.DoCmd.SetWarnings True [ô]Habilita o sistema padrão de mensagens de alerta

IMPORTANTE:

Se você desativar a exibição de mensagens do sistema no Visual Basic, você precisará reativá-la, ou ela permanecerá desativada, mesmo que o usuário pressione CTRL+BREAK ou o Visual Basic encontre um ponto de interrupção.

é isso!

Até mais.


José Freitas



RICK 30/07/2009 16:28:37
#318381
Freitas

Então, no caso eu já utilizo o código Application.DoCmd.SetWarnings False, mas isso só desabilita as mensagens de ação e não as de informações de erros.

Eu até poderia utilizar um comando SendKeys para simular o Enter, mas a aplicação não fica executando em 1° plano.


Grato.


RICK
JSFF77 30/07/2009 16:39:11
#318383
Certo...

Não vejo outra saída senão utilizando On Error GoTo 0 no local onde faz as chamadas às funções da DLL, vale tentar.

Até breve.


José Freitas
MASTER2020 30/07/2009 21:04:42
#318400
pessoal muito bom este topico, euq perguntar como declaro este codigo no vba do access
RICK 31/07/2009 11:29:18
#318444
Freitas

Encontrei no próprio Help a sintaxe Err.LastDllError.

Acredito que isso funcionará. Mas pela carga de processos só vou conseguir rodar no próximo mês.

Grato.

RICK.
RICK 31/07/2009 11:39:32
#318447
PATOLOCO

Basta digitar Application. que aparecerá as opções desejadas.

No caso do SendKeys: SendKeys (Enter) [ô] Simula o pressionamento da tecla Enter.

Se quiser mais exemplos selecione SendKeys e pressione F1 que o Help lhe mostrará várias opções.


Att.

Rick
Tópico encerrado , respostas não são mais permitidas