Em muitos casos no dia a dia, precisamos buscar informações que estão inseridas em base de dados, e exibi-las de uma forma mais atraente para o usuário.
Para isto normalmente precisaríamos utilizar dois objetos. Um para a conexão a base de dados e outro para a recuperação dos dados, normalmente com um recordset.
Com as funções a seguir não há mais a necessidade de criação dos dois objetos, somente o recordset é necessário. Veja como.
Crie a seguinte função num módulo qualquer.
IMPORTANTE
É necessário que seja feita a referência a biblioteca (Ferramentas/Referências no ambiente VBA) Microsoft Activex Data Object (aponte para a versão mais atual)
Function Abrecn(abre As Boolean) As ADODB.Connection 'Desenvolvida por Bruno Leite 'bruno_silva_leite@yahoo.com.br If abre Then Set Abrecn = New ADODB.Connection ' Altere o Data Source para o caminho de sua base de dados, neste caso a base esta na mesma pasta da planilha ativa, na pasta system Abrecn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & ThisWorkbook.Path & "\System\Dados.mdb" Abrecn.Open Else Set Abrecn = Nothing End If End Function
DICA
Para descobrir a string de conexão necessária para a sua base de dados Access, existem duas formas práticas.
1 – Em seu arquivo Access vá ao editor VBA (ALT+F11) e na janela de inspeção de variáveis (CTRL+G) digite ?currentproject.connection.connectionstring e pressione enter
2 – Acesse www.connectionstrings.com
Esta rotina recebe como parametro uma variável booleana , portanto use true para abrir a conexão, e false para fechá-la
Agora a rotina para a recuperação de dados.
Sub BuscaDados() 'Desenvolvida por Bruno Leite 'bruno_silva_leite@yahoo.com.br Dim rs As ADODB.Recordset Set rs = Abrecn(True).Execute("Select * From dados") Sheets(1).[A1].CopyFromRecordset rs Abrecn (False) End Sub
Com esta Sub BuscaDados, apenas criamos o objeto Recordset, e executamos rapidamente a busca dos dados.
Bom é isto ai
Até uma próxima, quando o tempo permitir..rs
0 comentários:
Postar um comentário