SEJA BEM-VINDO

ESTE É UM ESPAÇO DE DISCUSSÃO PARA DESENVOLVIMENTO PESSOAL E PROFISSIONAL

sexta-feira, 16 de setembro de 2011

Integrando Excel a Bancos de Dados



Que o Excel é uma poderosa ferramenta todos já sabemos. Mas que podemos fazer dele uma aplicação e utilizarmos de apoio bancos de dados é algo ainda inexplorado.
Lógico, não é algo que se faça em simples cliques ou formatações. É necessário conhecimentos em Bancos de Dados e também em programação VBA. Mas a complexidade desse trabalho compensa em muito quando o resultado obtido é uma aplicação final totalmente parametrizada para o seu negócio.
Vamos a algumas etapas da construção dessa integração utilizando bancos de dados Access e Oracle:
Access
Uma vez criado o banco de dados devemos analisar as tabelas que serão integradas. Vamos usar um exemplo de uma tabela contém apenas dois campos: COD_ALUNO e NOME_ALUNO.A integração que será feita no Excel servirá para inserir dados nessa tabela atualizando esses dois campos.

Vamos agora ao Excel.
Vamos criar duas colunas conforme as tabelas do Banco de Dados e com um registro.
Criada a interface vamos agora ao Visual Basic criar o código fonte para a integração:
Sub cadastrarAluno()
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\CadastroDeAlunos.mdb"
cn.Open
Set rs = New ADODB.Recordset
rs.Open "ALUNOS", cn, adOpenKeyset, adLockPessimistic
rs.AddNew ' prepara para adicionar um novo item
rs!COD_ALUNO = Sheets("Plan1).Range("A2").Value
rs!NOME_ALUNO = Sheets("Plan1").Range("B2").Value
rs.Update
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
resposta = MsgBox("Aluno cadastrado com sucesso!", vbExclamation)
End Sub
Observações: alterar o caminho do DataSource para o local onde está o banco de dados.
Antes de rodar esse código devemos habilitar o Microsoft ActiveX Data Objects 2.6 Library no Editor do Visual Basic:
Acesse Ferramentas >> Referências e localize a opção na lista:
Agora o código está pronto para ser rodado. Basta inserir um botão no Excel a associar a macro a esse botão.
Oracle
Para realizar a integração a um Banco de Dados Oracle é necessário criar uma conexão ODBC (clique aqui para ver como).
Vamos usar o mesmo exemplo anterior.
No ambiente VBA insira o código a seguir:
Sub inserirBanco()
Dim strConnection As String
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String
strConnection = "DRIVER={Oracle em OraClient10g_home1};SERVER=SERVIDOR;UID=userId;PWD=Senha;DBQ=SERVIDOR;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO"
conn.Open strConnection
strSQL = "INSERT INTO ALUNOS (COD_ALUNO, NOME_ALUNO) VALUES (" & Range("A2") & "," & Range("B2") & ")"
rs.Open strSQL, conn, 3, 3
'rs.Close
'conn.Close
End Sub
Observação: as fontes em negrito são credenciais próprias dos bancos de dados e devem ser substituídas.
Pronto. Basta agora associar essa macro a um botão no Excel.
As informações acima são o conteúdo básico para termos noção de como proceder na integração. Cabe agora utilizarmos da nossa criatividade para criarmos uma aplicação fantástica que utiliza-se de um banco de dados deixando o Excel para somente executar cálculos e extrair informações (como um produto de BI dentro do Excel).


Fonte: http://elemarluiz.blog.uol.com.br.

Nenhum comentário:

Postar um comentário