Posts tagged ‘VBA’

07/09/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. Veja a tabela abaixo:

Essa 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 vermelho 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).

Abaixo um exemplo de uma aplicação desenvolvida e que foi tomada como exemplo nesse tópico:

Boa atividade a todos!

04/09/2011

Excel como Business Intelligence

Hoje em dia a necessidade de uma rápida resposta para as tomadas de decisão dos gestores é algo impressidível para as organizações.

Business Intelligence retrata bem essa necessidade e vem com poderosas soluções que prometem entregar respostas para as mais diversas perguntas que são feitas dentro das empresas, tais como: “Pra quem estou vendendo mais?”, “Qual é meu lucro do semestre?”, “Qual cliente é mais rentável?”.

As soluções de BI estão chegando cada vez mais fortes no mercado e por conta disso várias indústrias de software optam por disponibilizar em seus ERP’s essas soluções imbutidas.

Porém esse nicho de mercado é altamente explorado por indústrias de software específicas para esse assunto. Indústrias fortes, com excelentes produtos e que podem criar uma análise fantástica de resultados.

O problema, para muitas empresas, é que paga-se bem por produtos desse elevado nível de qualidade e capacidade dos softwares de BI.

Para resolver o problema do custo de aquisição de um software de BI uma solução é criar essas análises via Excel, ferramenta a qual muitas empresas já possuem e que não precisarão mais despenter de investimentos.

Então como trabalhar com BI utilizando o Excel?

Para nos benecificarmos dessa poderosa utilidade do Excel devemos seguir alguns passos:

1) Criar uma conexão ODBC com o Banco de Dados;
2) Desenvolver instruções SQL dentro do ambiente Microsoft Query (esse ambiente é iniciado ao ser feita a conexão com o Banco de Dados);
3) Enviar as informações do MS query para a planilha;
4) Utilizar as funcionalidades avançadas do Excel, como tabelas e gráficos dinâmicos, fórmulas e macros.

Para o sucesso desse trabalho é necessária uma boa equipe de TI com conhecimentos em Excel, Banco de Dados e Análise de Negócio. Juntando todos esses quesitos com certeza a empresa poderá se beneficiar de uma poderosa solução com baixos custos.

Sucesso a todos!