Views

Histats

Vitrine

VBA Access - Documentando queries no MS Excel - Documenting Access Queries in MS Excel



Alguns de nós talvez ache chato manter uma boa documentação do que estamos desenvolvendo, talvez porque essas horas não constem no orçamento que efetuamos, mas lembre-se: Bons desenvolvedores documentam o código e mantém uma documentação detalhada da aplicação ou sistema que está desenvolvendo, inclusive possíveis interações e interfaces com outros sistemas.

Com último recurso para convencê-lo a utilizar o código abaixo, pense que além de manter uma boa documentação, também poderá utilizar isso para manter uma backup das suas consultas do seu banco de dados.

Para incentivá-lo a fazer isso com as queries do MS Access, divulgo o código abaixo que exporta as queries, seus Nomes, Data de Criação e Atualização, bem como o script SQL, para uma planilha do MS Excel.

Com alguma imaginação, conseguirá migrar o mesmo procedimento para os outros objetos do MS Access.

Copie este código em um módulo padrão no MS Access.

Function DocMyQry()
Dim TempTable As DAO.Recordset
Dim QryDef As QueryDef
Dim QryName As String
Dim strSQL As String

'Passo 1: Inicia atualizando a tabela com a lista de queries nela
On Error Resume Next
docmd.
DeleteObject acTable, "QueryList"
CurrentDb.
Execute _
"CREATE TABLE QueryList (QueryName text(100), DateCreated Date, LastUpdated Date, SQL memo)", dbFailOnError
On Error GoTo 0

'Passo 2: Abre a tabela QueryList
Set TempTable = CurrentDb.OpenRecordset("QueryList")

'Passo 3: Efetua um Loop através de todas as queries e preenche a tabela Query Def com informações.
For Each QryDef In CurrentDb.QueryDefs
'Exclude deleted querys
If Left(QryDef.Name1) = "~" Then
GoTo SKIPIT
End If
TempTable.
AddNew
TempTable!QueryName = QryDef.
Name
TempTable!DateCreated = QryDef.
DateCreated
TempTable!LastUpdated = QryDef.
LastUpdated
TempTable!SQL = QryDef.
SQL
TempTable.
Update
SKIPIT:
Next

'Passo 4: Use TransferSpreadsheet para exportar para o MS Excel
docmd.
TransferSpreadsheet acExport, 8"QueryList", _
CurrentProject.
Path & "\BernardesMyQueries.xls"True""

End Function


O resultado da sua exportação será algo similar ao demonstrado abaixo:



Talvez esteja se perguntando: Por que enviar essa informação para o MS Excel ? Pessoalmente acredito que o MS Excel propicia um excelente ambiente para mantermos nossa documentação, permitindo-me particionar a minha documentação em abas diferentes, conectar a minha base de dados a planilha e atualizá-la automaticamente caso haja uma alteração. Por exemplo:

Posso criar uma Abas com todas as Consultas

Outra Aba com todas as Tabelas

Uma Aba com um resumo dos formulários

E ainda mais uma Aba com os módulos, etc...

References: Datapigtechnologies

Tags: VBA, Office, Access, Excel, documenting, queries, query, documentando, SQL, script

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...