Aprenda a usar Variáveis Temporárias no Access

Reading time: 5 minutes

Usar variáveis temporárias no Access foi uma das grandes novidades que vieram junto com a versão 2007 do Office. Esta técnica permite armazenar valores temporariamente durante a execução de um código VBA (Visual Basic for Applications) no Access. Isso pode ser útil para armazenar resultados intermediários ou valores que precisam ser utilizados posteriormente.

Por este motivo, neste artigo, vamos aprender a usar variáveis temporárias no Access e entender os seus benefícios e conhecer a sua estrutura, tanto em VBA como em Macros do Access.

O que são Variáveis Temporárias

As TempVars como são conhecidas, funcionam como uma Variável Global. Então por que não usar apenas as variáveis globais tradicionais?

As TempVars oferecem diversos benefícios, principalmente:

✔️ Elas são globais por natureza;
✔️ Elas não são afetadas, redefinidas, por erros não tratados de tempo de execução do VBA;
✔️ Elas podem ser usadas diretamente em consultas, formulários e em VBA;
✔️ Elas podem ser criadas/modificadas com as Macros;
✔️ Podem aceitar diferentes tipos de variáveis automaticamente;

Como usar Variáveis Temporárias no Access

Elas são extremamente fáceis de trabalhar e há algumas maneiras de trabalhar, mas vou mostrar-lhes o que eu vejo como uma maneira mais fácil e direta de fazer. Por isso, dividi estes passos em 2 seções principais:

👉 Como usar TempVars no VBA.

A Sintaxe geral é:

TempVars!NomeDaVariável = "ValorDaVariável"

Exemplo da vida real:

TempVars!PrimeiroNome = "Rodrigo"
TempVars!UltimoNome = "Oliveira"
TempVars!Idade = 28
TempVars!Casado = True

Para recuperar uma Variável temporária é simples.

MsgBox "O seu Primeiro Nome é " & TempVars!PrimeiroNome

Para excluir uma variável temporária, também não há maiores transtornos

TempVars.Remove("PrimeiroNome")

E para excluir TODAS as variável temporária, o código também é simples

TempVars.RemoveAll

Às vezes, pode ser útil verificar que tipo de variável está sendo passada, e você também pode fazer isso com TempVars simplesmente usando a função VarType. A sintaxe básica é:

VarType(TempVars!FirstName)
'Retorna  8 -> String

VarType(TempVars!Casado)
'Retorna 11 -> Boolean

Tabela de Valores de retorno

👉Como usar TempVars em Macros

Um dos pontos fortes do Tempvars é sua flexibilidade e o fato de que você pode trabalhar com eles com VBA e Macros. Então, vamos ver como podemos interagir com TempVars usando Macros.

Como você pode ver, definir um TempVars usando uma Macro é muito simples e deve-se simplesmente usar a ação DefinirVariávelTemporária e, em seguida, fornecer um Nome e Valor TempVars (Expressão).

Para recuperar um valor TempVars por meio de uma Macro, na verdade usamos a mesma sintaxe do VBA:

Para excluir/limpar um único TempVars é feito usando a ação RemoverVariávelTemporária onde você só precisa fornecer o nome dos TempVars para excluir.

A exclusão de TODoS os TempVars é feita usando a ação RemoverTodasVariáveisTemporárias

Para testarmos a existência de uma variável temporária em Macros, seguimos o mesmo princípio que usamos no VBA. Então, para verificar se um TempVars existe, precisamos ver se ele é nulo ou não, e para isso usamos a função IsNull(). Assim, usando uma instrução If em conjunto com a função IsNull(), podemos verificar e reagir se um TempVars está definido ou não.

Limitações ao Usar Variáveis Temporárias no Access

Eu me deparei com 2 limtações com TempVars que impactaram minha codificação:

✔️Você não pode passar um objeto para um Tempvars (objetos, matrizes, coleções, dicionários, …) e você receberá um erro em tempo de execução: 32538 – TempVars só pode armazenar dados. Eles não podem armazenar objetos;
✔️ Você não pode passar outro TempVars para um TempVars;
✔️ Você não pode usá-los diretamente em uma consulta e parece precisar usar uma função de conversão neles para que eles apareçam corretamente (mais testes são necessários).

Conclusão

Usar variáveis temporárias no Access além de permiter armazenar valores temporariamente durante a execução, pode trazer outros benefícios, como:

👉 Melhora na legibilidade do código: O uso de variáveis temporárias pode tornar o código mais legível, pois você pode atribuir nomes significativos às variáveis e usar esses nomes ao longo do código, em vez de repetir constantemente os valores.

👉 Facilita a manutenção do código: Com variáveis temporárias, é mais fácil fazer alterações no código, pois você só precisa atualizar o valor da variável em um único lugar, em vez de procurar por todas as ocorrências de um valor específico.

👉 Redução de erros: Ao usar variáveis temporárias, você pode evitar erros causados ​​por repetição de valores ou por confusão de valores em diferentes partes do código.

👉 Melhora no desempenho: O uso de variáveis temporárias pode melhorar o desempenho do código, pois evita a necessidade de acessar constantemente os dados na base de dados.

É importante ressaltar que o uso de variáveis temporárias deve ser feito com cuidado e considerando as boas práticas de programação.

Curso de Access VBA Completo: Do Básico ao Avançado.

Quer aprender a programar no Access? Clique na imagem abaixo:

Se você quiser aprender mais sobre o assunto ou tiver alguma dúvida, não hesite em deixar um comentário abaixo. Estamos aqui para ajudar!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *