4/16/2008

Diferença entre Option Compare Database e Option Explicit no VBA

Quando criamos um módulo e deixarmos o padrão Option Compare Database, o interpretador do VBA não vai exigir que as variáveis sejam declaradas e vai executar o códico do jeito que estiver, por exemplo:

código 1Option Compare Database
Sub contar()
i = 2
j = 3
Debug.Print i + j
End Sub


Como você pode ver, funciona, mas em um código muito grande pode ser difícil depurar os erros. Agora se declaramos que ele será Option Explicit, o interpretador só vai executar o código se todas as variáveis já estiverem explicitamente declaradas, por exemplo:

código 2Option Explicit
Sub contar()
Dim i
Dim j
i = 2
j = 3
Debug.Print i + j
End Sub


Até a próxima!

Atualização: "Dam You Copy and Cut!" Desculpe pessoal a primeira linha do segundo bloco de código estava errada.

NMHO.