-- 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)
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)