-- THIS IS A STUB ARTICLE --
--ESTE ARTIGO É UM RASCUNHO --
Introdução
Em situações críticas, principalmente de pequenas empresas com limitações de hardware e/ou software ou em locais onde o acesso à Internet é limitado, à necessidade de reduzir o conteúdo de tráfego de rede passa ser fundamental para consultar informações de um banco de dados.Uma excelente alternativa(desde que não seja uma informação que exija segurança), é manter os dados na máquina do usuário através de uma interface de usuário (UI) fácil de ser manipulada e conhecida por todos. Este é o caso do MS Excel.
Vamos realizar uma consulta em um banco de dados SQL Server e disponibilizar os dados em uma planilha Excel, utilizando o recurso de paginação para reduzir a quantidade de dados que será apresentada ao usuário e apresentar apenas as informações necessárias para seu uso.
Este artigo faz parte da série Paginação de Dados.
Construindo o ambiente para Teste
Para que possamos reproduzir a utilização da paginação de dados dentro de uma planilha Excel, destacando suas vantagens para todo ambiente onde os dados são trafegados, vamos criar uma planilha Excel e criar um VBA no evento "SelectionChange" do objeto "WorkSheet".Volto a lembrar que o script T-SQL para consultar os dados usando à paginação pode ser encontrado no outro artigo desta série, que complementa este conteúdo.
Requisitos do Ambiente
É importante lembrar que para simular corretamente como efetuar à paginação de dados dentro do MS Excel, como indicado neste artigo é necessário:- Microsoft Excel 2003 ou superior;
- Possuir acesso ao servidor SQL Server onde o seu banco de dados está disponibilizado;
- Possuir o MDAC 2.1 ou superior;
Automatizando através de VBA
É importante lembrar que para simular corretamente como efetuar à paginação de dados dentro do MS Excel, como indicado neste artigo é necessário.Veja o Menu de acesso para selecionar o MDAC no seu projeto VBA

Veja a janela que exibe às Referências do projeto abaixo (clique na imagem para aumentar)

Veja o script VBA com as referências para a planilha Excel abaixo (clique na imagem para aumentar)

Veja este script VBA abaixo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
DimConnAsNewADODB.Connection
DimRSAsNewADODB.Recordset
DimiRowGridAsInteger
If Target.Row <= 2
And Target.Column = 2
Then
IfPlan1.Cells(Target.Row,
Target.Column)=""Then
MsgBox "Digit a number !"
Plan1.Cells(Target.Row,
Target.Column).Select
ExitSub
EndIf
Conn.Open"Provider=SQLNCLI11;Data Source=127.0.0.1\PROD;Initial Catalog=WI_INFRA;User Id=YourSQLUser;Password=YouPws;"
RS.Open"EXEC PR_PAGING "&CStr(Plan1.Cells(1,
2))&
_
","&CStr(Plan1.Cells(2,
2)), Conn,
adOpenForwardOnly, adLockReadOnly
'Start at "row 5" on Excel Spreadsheet
iRowGrid = 5
Do While NotRS.EOF
Plan1.Cells(iRowGrid,
1) = RS("ID_EXAMPLE")
Plan1.Cells(iRowGrid,
2) = RS("NM_EXAMPLE")
Plan1.Cells(iRowGrid,
3) = CStr(RS("DT_CREATE"))
iRowGrid = iRowGrid + 1
RS.MoveNext
Loop
RS.Close
End If
SetRS =
Nothing
SetConn =
Nothing
End Sub
Veja a Planilha Excel consultando a página "1" com "10" linhas/página na imagem abaixo

Veja a Planilha Excel consultando a página "2" com "5" linhas/página na imagem abaixo

Veja o vídeo com a demo destas consultas
(Please visit the site to view this video)
(Please visit the site to view this video)
Conclusão
Possibilitar que seus usuários acessem diversas informações somente para consulta, de forma rápida e através de uma interface conhecida como é o caso do MS Excel, se torna uma enorme vantagem para manter toda uma equipe com dados atualizados e desconectados da Web.Isso permite que seus usuários não estejam dependentes de um link com a web ou dentro de sua intranet para consultar as informações de seu bancos de dados.
Referências
Veja Também
Outros Idiomas
- Automating a Data Paging using VBA on Excel (en-US)