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

(Resolvido) Executar consulta no evento Form_Load


wootzor

Pergunta

Olá a todos,

Sou novo no fórum e também novo na utilização de VB, pelo que estou com problemas na criação de um procedimento.

O que tenho é o seguinte:

Um formulário (frmMenu) que tem hiperligações para os diversos formulários da aplicação. Essa parte é pacífica e funciona correctamente. Acontece que tenho a necessidade de copiar uma tabela que está a ser usada em "produção" devido ao facto de estar ainda numa fase de teste e não querer correr riscos com os dados originais.

O que pretendo é que quando o referido frmMenu for aberto, executar duas instruções SQL (neste momento em forma de consulta) para apagar o conteúdo de uma tabela temporária (tBuffer) e voltar a preenchê-la com os dados actuais da tabela original:

Consulta 1 (LimparTBuffer):

DELETE *
FROM tBuffer;


Carregar 'buffer' com dados actualizados da tabela em "produção" - Consulta (copiarTOrigem):

INSERT INTO tBuffer
SELECT *
FROM tOrigem;

O código VBA que tenho actualmente é o seguinte:

Private Sub Form_Open(Cancel As Integer)
    'Disabilitar temporariamente os avisos e caixas de mensagem
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    DoCmd.SetWarnings False
    'Executar queries
    CurrentDb.Execute LimparTBuffer
    CurrentDb.Execute CopiarTOrigem
    'Activar novamente os avisos
    DoCmd.SetWarnings True
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub

E produz o seguinte erro quando é executada:

vDqic.jpg

Não consigo perceber onde está o problema. Já agora, existirá forma mais optimizada de atingir o mesmo objectivo no que ao código VBA diz respeito?

Obrigado desde já.

Editado por wootzor
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Já está resolvido.

Recrei o formulário e ficou a funcionar. Fiquei foi sem saber a origem do erro.

Entretanto tenho outro problema:

Como saber o número de linhas devolvidas por uma consulta presente num sub-formulário?

O que tenho é o seguinte:

Me.subfrmOrigem.Form.Requery
If Me.subfrmOrigem.Form.Count > 0 Then
  Me.subfrmOrigem.Visible = True
End If

No entanto, o sub-formulário está a passar a visível mesmo quando não há dados para mostrar.

Edit:

Aparentemente ficou resolvido substituindo a segunda linha por:

If DCount("*", "Consulta1") > 0 Then (...)
Editado por wootzor
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...