Executar Consulta Usando VBA Access

Para executar uma consulta através do VBA do Access você deve fazer o seguinte:

Suponha que você tenha uma tabela chamada "Employees" e deseje deletar todos os dados dessa tabela. O SQL para executar tal procedimento seria: "DELETE * FROM Employees". Para inserir esse SQL no VBA use o "Docmd.RunSQL" (sem as aspas).

Para o nosso exemplo, um resultado válido seria:

Public Sub deletaEmployees()
DoCmd.RunSQL "Delete * from Employees"
End Sub

Nesse caso, foi a função foi usada dentro de um módulo, mas também poderia ter sido usada em um formulário, botão, relatório, enfim...

Para deixar mais claro, uma consulta para inserir o funcionário "Caio" na tabela "Employees" seria desse jeito no VBA:

Public Sub insereEmployee()
DoCmd.RunSQL "INSERT INTO Employees ( Nome ) SELECT 'Caio' AS NovoEmployee FROM Employees;"
End Sub

Esse código VBA insere um novo funcionário na tabela, como qualquer consulta Acréscimo faria.

O resto é criatividade.

3 comentários:

  1. Cara, esse código seu não esta funcionando corretamente, esta faltando argumentos nas sua função.

    ResponderExcluir
  2. Bem, eu verifiquei o código baseado no exemplo que fiz e Sim, o código está funcionando.

    Vale salientar que esse código funciona para esse exemplo, em outros casos, a usualidade será diferente, o que é lógico.

    Mas se ainda assim você continua achando que está errado, recomendo que você faça o exemplo exatamente como está escrito. Porém se ainda persistir o erro, pergunte aí que tentamos ajudar da melhor maneira possível.

    ResponderExcluir