ADO - Usando com Visual Basic , VBScript e VBA


A ADO - ActiveX Data Objects - não tem seu uso restrito ao Visual Basic , ela pode ser usada em muitas linguagens de programação que suportam objetos COM , assim podemos usar ADO com: Visual Basic , VBA , VBScript , Visual C++ , Java , Delphi , Visual J ++ , etc.

Vamos aqui nos ater somente ao Visual Basic , VBScript e VBA . Se você quiser informações de como usar a ADO com outras linguagens consulte a documentação da Microsoft SDK.

1- Usando ADO com Visual Basic

- Para usar a ADO 2.x e as constantes ADO 2.X no seu projeto VB você deve referenciar a biblioteca ADO 2.X . Com isto você pode criar e usar objetos ADO como objetos intrínseco do VB. A referência você faz assim:

  1. Na janela do VB , selecione Project|References no menu principal

  2. Selecione Microsoft ActiveX Data Objects 2.X Library na lista de referências exibidas

  3. Verifique se as seguintes bibliotecas também estão selecionadas: Visual Basic for Applications , Visual Basic objects and procedures , Visual Basic runtime objects and procedures e OLE automation

  1. Clique em OK e feche a janela. Pronto a biblioteca ADO 2.X já esta referenciada no seu projeto VB.

  1. Agora você já pode criar objetos ADO através da instrução Dim ou CreateObject

  2. O dispositivo de Autocompletar estará ativo facilitando na elaboração do código

  3. Você pode usar as constantes ADO para definir o tipo de dados dos campos ou os parâmetros do método de um objeto

Criando um objeto ADO usando a instrução Dim de uma só vez

Para criar um objeto ADO use a instrução Dim e a palavra-chave New, assim:

i) Dim conexao as New ADODB.Connection   

A variável conexao é declarada e uma instância do objeto Connection é criada e armazenada na variável conexao

ii) Dim rst as New ADODB.Recordset

A variável rst declarada contém um objeto Recordset ADO. 

Você pode declarar e criar um objeto ADO em duas etapas distintas. Para isto você usa Dim para declarar e Set para efetivamente criar o objeto, assim:

Dim conexao as ADODB.Connection

Set conexao = New ADODB.Connection

Usando a instrução CreateObject para criar um objeto ADO

A criação de um objeto ADO usando a instrução CreateObject é feita em duas etapas:

1-) Se você fez a referência a biblioteca ADO 2.X no seu projeto , faça assim:

Dim conexao as ADODB.Connection

Set conexao = CreateObject("ADODB.Connection")

Dim rst as ADODB.Recordset

Set rst = CreateObject("ADODB.Recordset")

2-) Se você não fez a referência a biblioteca ADO 2.X no seu projeto , ainda pode criar objetos ADO assim:

Dim conexao as Object

Set conexao = CreateObject("ADODB.Connection")

Dim rst as Object

Set rst = CreateObject("ADODB.Recordset")

A criação de objetos usando a instrução CreateObject é mais lenta do que usar uma instrução Dim com a palavra-chave New.

Usando os objetos ADO no VB

Um objeto ADO fornece propriedades , eventos , métodos e coleções; Assim , depois de ter criado um objeto ADO e armazenado o objeto em uma variável , você pode usar esta variável para acessar as propriedades , executar os métodos ou acessar os elementos das coleções deste objeto. 

Vamos mostrar como fazer isto para um objeto Recordset ADO . Após definir uma variável objeto Recorset ADO temos acesso a suas propriedades , métodos e eventos . Veja na figura abaixo :

A figura ao lado exibe a criação de uma variável objeto recordset ADO e a seguir com a ativação do recurso autocompletar temos a relação das propriedades e métodos da variável objeto recordset ADO.

Apos declarar a variável do objeto e criar o objeto Recordset , a variável rs passa a conter uma instância do objeto Recordset

Podemos atribuir valores as propriedades do Recordset instanciada na variável rs . Por Exemplo:

  • Dim rs As New ADODB.Recordset
    rs.CursorType = adOpenDynamic
    rs.CursorLocation = adUseClient
    rs.LockType = adLockBatchOptimistic

 

 

Podemos também executar um método do objeto recordset . Veja exemplo abaixo:

Execução do método Open do objeto Recordset ADO instanciado na variável rs.

Da mesma forma podemos acessar elementos da coleção do objeto Recordset ADO. Assim:

Neste código temos o elemento coleção Fields com o nome FieldName sendo acessado e sua propriedade Value sendo lida e armazenada na variável nome.

Finalmente para ler um valor da propriedade do objeto Recordset ADO instanciado em uma variável objeto (em  nosso caso a variável rs ) fazemos assim:

Var1 = rs.CursorType

Var2 = rs.CursorLocation

2- Usando a ADO no VBA ( Visual Basic for Applications )

Utilizar a ADO no VBA é idêntico a forma como fizemos no Visual Basic . Vejamos como fazer a referência em seu projeto VBA. Por exemplo vamos referenciar a ADO no Word :

  1. Abra o Microsoft Word e no menu Ferramentas | Macro , selecione a opção Editor do Visual Basic

  1. No menu principal do Editor do Visual Basic , selecione Ferramentas|Referências e a seguir selecione Microsoft ActiveX Data Objects 2.X Library na lista de referências exibidas.

Após fazer a referência você pode criar os objetos ADO usando a instrução Dim ou a instrução CreateObject da mesma forma que no Visual basic.

3- Usando ADO com VBScript

O VBScript utiliza apenas o tipo de dados Variant que pode armazenar dados de todos os tipos e objetos também ; desta forma não podemos usar a instrução Dim para atribuir objetos ADO as variáveis. O VBScript também não suporta a palavra-chave New nas instruções Dim ou Set. Vejamos então como criar um objeto ADO no VBScript:

Dim conexao

Set conexao = CreateObject("ADODB.Connection")

Dim rst

Set rst = CreateObject("ADODB.Recordset")

Tem mais , você não pode fazer uma referência a biblioteca ADO no VBScript, e, para usar as constantes ADO precisa definí-las explicitamente antes de usá-las no seu script.

Podemos usar dois arquivos que contém as definições para todas as constantes ADO segundo as situações a seguir :

  1. Para Script do lado do Servidor ( ASP ) -  Podemos usar o arquivo Adovbs.inc
  2. Para Script do lado do Cliente ( VBScript ) - Podemos usar o arquivo Adocvbs.inc

Para scripts do lado do servidor podemos usar a diretiva INCLUDE para pode usar as constantes no script, assim :  <!--#Include File="Adovbs.inc"-->

Para terminar não esqueça que o VBScript possui ainda as seguintes limitações:

Até o próximo artigo...