NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
Olá pessoal, estou disposto mostrar a parte do sistema de login utilizando VB 6.0, ASP 3.0, SQL Server e Stored Procedure. As partes anteriores podem ser encontradas nos sites www.aspneti.com e www.juliobattisti.com.br.
A parte III, criei uma function na classe global.bas com o nome AbreConexao.
Antes mesmo de compilar a aplicação VB 6.0, preciso adicionar uma referência para o aplicativo, resumindo, é uma dll responsável para facilitar acesso ao banco de dados, ou seja, um drive de acesso. É chamada de Microsoft ActiveX Data Objects 2.5 Library.
Cliquei no menu Project e em seguida na opção References para adicionar a referência citada anteriormente. Referência (4.1 – Visual Basic 6.0)
Referência: 4.1 – Visual Basic 6.0
A tela (4.2 – Visual Basic 6.0) possui uma relação de várias dlls disponíveis para serem usadas dentro do aplicativo. Escolhi uma chamada Microsoft ActiveX Data Objects 2.5 Library. Referência (4.2 – Visual Basic 6.0)
Referência: 4.2 – Visual Basic 6.0
Marquei a dll necessária para acesso ao banco de dados utilizando o Visual Basic 6.0. Procurei digitando a letra “m” e em seguida marquei a mesma desejada. Para finalizar cliquei no botão OK.
Compilar o Aplicativo
Tudo que foi feito até agora, nenhuma hora foi compilado o aplicativo para verificação de erro. Lembro que o Visual Basic 6.0 não é igual ao novo Visual Studio.NET 2003 ou 2005, isto é, o mesmo só mostra o erro se for compilado. Para compilar e gerar a dll, cliquei no menu File / Make (nome do aplicativo). Dessa forma é gerado a dll. Referência (4.3 – Visual Basic 6.0)
Referência: 4.3 – Visual Basic 6.0
O interessante é que se tiver algum tipo de erro dentro do aplicativo por exemplo: sintaxe ou sem fechar algum “end if”, a dll não será gerada.
Antes de mostrar algum erro de sintaxe ou aplicação, o Visual Basic 6.0 pedirá um caminho para gerar ou gravar a dll. Referência (4.4 – Visual Basic 6.0).
Referência: 4.4 – Visual Basic 6.0
Sem erro, a dll será gerada e pronta para ser usada.
Uma dica é, compile sempre o aplicativo para saber se possui algum erro.
Criar mais functions
Bom, agora que já foi mostrado como compilar um aplicativo, irei mostrar e criar outras functions dentro do global.bas. Com apenas a function AbreConexao, não adianta em nada para ser usada em um aplicativo robusto ou simples. Mais quatro functions serão criadas dentro do global.bas e assim utilizarmos uma página ASP para logar utilizando o aplicativo feito com o Visual Basic 6.0 registrado no COM + (COM PLUS).
Segue uma tabela com a relação de todas as functions com explicação. (Referência 4.5 – Visual Basic 6.0).
Referência: 4.5 – Visual Basic 6.0
Dentro do arquivo .bas, no final do método AbreConexao, dei um ENTER e coloquei as functions relacionadas acima: Cada referência será uma function comentada. (Referência 4.6 – Visual Basic 6.0)
Public Function ExecutaSQLArray(ByVal SQL As String, _
Optional ByVal sMetodoOrigem As String = "") As Variant
Static vRetorno As Variant
Static sMetodo As String
Static bRetorno As Boolean
On Error GoTo error
'Setando Objeto RecordSet
Set RS = CreateObject("ADODB.RECORDSET")
'Fazendo Open no Objeto SQL
RS.Open SQL, CONN
'Criando Array
vRetorno = RS.GetRows
ExecutaSQLArray = vRetorno
'Fechando RS
RS.Close
Set RS = Nothing
error:
If Err.Number <> 0 And Err.Number <> 3021 Then
'Fechando RS
RS.Close
Set RS = Nothing
'Fechando Conexao
ExecutaSQLArray = ""
Else
If Not IsArray(vRetorno) Then
ExecutaSQLArray = "0"
End If
End If
End Function
Referência: 4.6 – Visual Basic 6.0
Explicação:
Analisando a assinatura da function, recebe dois parâmetros, um opcional e outro obrigatório, que no final é retornado um valor do tipo Variant. Esse tipo significa que, será retornado um array de dados. (Referência 4.7 – Visual Basic 6.0)
Public Function ExecutaSQLArray(ByVal SQL As String, _
Optional ByVal sMetodoOrigem As String = "") As Variant
Referência: 4.7 – Visual Basic 6.0
Adicionei algumas variáveis no começo estáticas, cada uma com um tipo. (Referência 4.8 – Visual Basic 6.0)
Static vRetorno As Variant
Static sMetodo As String
Static bRetorno As Boolean
Referência: 4.8 – Visual Basic 6.0
Simples variáveis que serão usadas dentro da function.
On Error GoTo error
'Setando Objeto RecordSet
Set RS = CreateObject("ADODB.RECORDSET")
'Fazendo Open no Objeto SQL
RS.Open SQL, CONN
'Criando Array
vRetorno = RS.GetRows
ExecutaSQLArray = vRetorno
'Fechando RS
RS.Close
Set RS = Nothing
Referência: 4.9 – Visual Basic 6.0
No próximo passo do código, usei o on error goto erro onde posso tratar o erro se acontecer algum. Criei um objeto do tipo RecordSet, abri esse objeto. Crio o array atribuindo para a variável do tipo declarada anteriormente.
O segredo em criar o array com o RecordSet é colocar a function GetRows. Dessa forma, é gerado um array e pode ser atribuída ao tipo variant do Visual Basic 6.0. Atribuo a variável vRetorno ao nome da function ExecutaSQLArray.
Fecho o RecordSet e seto para nothing. É muito importante colocar nothing para o objeto.
error:
If Err.Number <> 0 And Err.Number <> 3021 Then
'Fechando RS
RS.Close
Set RS = Nothing
'Fechando Conexao
ExecutaSQLArray = ""
Else
If Not IsArray(vRetorno) Then
ExecutaSQLArray = "0"
End If
End If
Referência: 4.10 – Visual Basic 6.0
Explicação:
Para finalizar, dentro do laço error, existe uma condição para o código erro.number, se for diferente de zero ou diferente do número 3021, fecho os objetos e atribuo a function o valor vazio. Se não houver erro, criei mais uma condição perguntar se a variável não é array, se for verdadeiro, atribuo a function ao valor zero.
Segue a function total. (Referência 4.11 – Visual Basic 6.0)
Referência: 4.11 – Visual Basic 6.0
Bom, fico por aqui. Nos próximos passos, mostrarei os outros métodos dando a devida explicação. Espero que tenha gostado.
Livros publicados do autor:
Mauricio Junior
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2024 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI