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:
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?
Pergunta
wootzor
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):
Carregar 'buffer' com dados actualizados da tabela em "produção" - Consulta (copiarTOrigem):
O código VBA que tenho actualmente é o seguinte:
E produz o seguinte erro quando é executada:
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 wootzorLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.