Documentar a estrutura, lógica de negócio e complexidade de cada projeto Access para planejar a modernização.
Se você quer o caminho mais simples para executar este guia:
- Instale o WSL (opcional, útil para terminal Linux)
- Instale Python no Windows
- Rode os comandos
access-vbano PowerShell do Windows (nao no Linux do WSL)
Links oficiais:
- WSL (Microsoft): https://learn.microsoft.com/windows/wsl/install
- Python (Windows): https://www.python.org/downloads/windows/
- vba-edit (ferramenta usada no guia): https://pypi.org/project/vba-edit/
- Abra o menu Iniciar
- Procure por
PowerShell - Clique com botao direito em
Windows PowerShell->Executar como administrador - Rode:
wsl --install- Reinicie o PC quando pedir
- Ao voltar, o Ubuntu abre sozinho e pede:
- Nome de usuario (voce cria)
- Senha (voce cria)
Se quiser checar se deu certo no PowerShell:
wsl --status
wsl -l -vQuando abrir o terminal Ubuntu, rode:
sudo apt update && sudo apt upgrade -y- O Access roda no Windows
- Entao os comandos de extracao do Access neste guia devem ser executados no PowerShell do Windows
- Use WSL para utilitarios (git, grep, organizacao de arquivos), nao para abrir Access
Se tentar rodar tudo no WSL, vai travar na parte do Access/Office.
Abra PowerShell normal (nao precisa admin) e rode:
# Instalar vba-edit (zero-config)
pip install vba-edit
# Verificar instalação
access-vba --helpSe pip nao funcionar, tente:
python -m pip install vba-edit
python -m access_vba --helpmkdir vebrus_research
cd vebrus_researchSe sua base estiver em outro caminho, ajuste os exemplos seguintes para o seu caminho real.
# ControlCheq
access-vba list -f "..\VEBRUS\VEBRUS\ControlCheq.accdb" > 01_controlchek_listagem.txt
# GERENTE+Plus
access-vba list -f "..\VEBRUS\VEBRUS\GERENTE+Plus.accdb" > 02_gerenteplus_listagem.txt
# Database1
access-vba list -f "..\VEBRUS\VEBRUS\Dados\Database1.accdb" > 03_database1_listagem.txtPara cada projeto, preencher:
PROJETO: _____________________
DATA: ________________________
MÓDULOS VBA ENCONTRADOS:
1. ___________________________
2. ___________________________
3. ___________________________
CLASSES VBA ENCONTRADAS:
1. ___________________________
2. ___________________________
FORMULÁRIOS:
1. ___________________________
2. ___________________________
RELATÓRIOS:
1. ___________________________
2. ___________________________
CONSULTAS SQL:
1. ___________________________
2. ___________________________
# ControlCheq
access-vba edit -f "..\VEBRUS\VEBRUS\ControlCheq.accdb" -o controlchek_src
# GERENTE+Plus
access-vba edit -f "..\VEBRUS\VEBRUS\GERENTE+Plus.accdb" -o gerenteplus_src
# Database1
access-vba edit -f "..\VEBRUS\VEBRUS\Dados\Database1.accdb" -o database1_src# Ler todos os módulos de uma vez
access-vba read-all -f "..\VEBRUS\VEBRUS\ControlCheq.accdb" > controlchek_codigo.txt
access-vba read-all -f "..\VEBRUS\VEBRUS\GERENTE+Plus.accdb" > gerenteplus_codigo.txt
access-vba read-all -f "..\VEBRUS\VEBRUS\Dados\Database1.accdb" > database1_codigo.txtPara cada projeto, abrir o Access e documentar:
TABELAS PRINCIPAIS:
┌─────────────────────┬──────────────────────────────────────┐
│ Tabela │ Descrição / Propósito │
├─────────────────────┼──────────────────────────────────────┤
│ tblClientes │ Cadastro de clientes │
│ tblProdutos │ Catálogo de produtos │
│ ... │ │
└─────────────────────┴──────────────────────────────────────┘
RELACIONAMENTOS:
- Cliente (1) ──────< Pedido (N)
- Pedido (1) ──────< ItemPedido (N)
- Produto (1) ──────< ItemPedido (N)
Procurar no código VBA por:
FunctioneSubque implementam lógica- Validações (
If...Then) - Cálculos (
DLookup,DSum) - Mensagens de erro customizadas
| Métrica | Como Obter | Ferramenta |
|---|---|---|
| Nº de tabelas | Exportar schema | Access |
| Nº de formulários | access-vba list |
vba-edit |
| Nº de módulos VBA | access-vba list |
vba-edit |
| Linhas de código VBA | access-vba read-all |
Contar manualmente |
| Nº de consultas SQL | Exportar queries | Access |
COMPLEXIDADE DO PROJETO: _____________________
Nº Tabelas: _____
Nº Formulários: _____
Nº Relatórios: _____
Nº Módulos VBA: _____
Nº Classes VBA: _____
Nº Consultas: _____
Linhas de código VBA: _____
COMPLEXIDADE GERAL (1-5):
[ ] 1 - Simples (poucas tabelas, lógica básica)
[ ] 2 - Moderado (10-20 tabelas, algumas regras)
[ ] 3 - Intermediário (20-30 tabelas, lógica complexa)
[ ] 4 - Complexo (30+ tabelas, muitas integrações)
[ ] 5 - Muito complexo (sistema crítico, múltiplas integrações)
Após exportar os 3 projetos, criar matriz:
CÓDIGO DUPLICADO ENCONTRADO:
┌──────────────────┬──────────────────┬──────────────────┐
│ ControlCheq │ GERENTE+Plus │ Database1 │
├──────────────────┼──────────────────┼──────────────────┤
│ modUtils │ modFuncoes │ │
│ modValidacao │ modValidacao │ modValidacao │
│ (80% igual) │ (80% igual) │ (80% igual) │
└──────────────────┴──────────────────┴──────────────────┘
# Relatório de Pesquisa: [Nome do Projeto]
## 1. Resumo Executivo
[Breve descrição do sistema e propósito]
## 2. Domínio de Negócio
[Área de atuação: estoque, financeira, RH, etc.]
## 3. Estrutura de Dados
### 3.1 Tabelas Principais
[Lista com descrições]
### 3.2 Relacionamentos
[Diagrama ou descrição]
## 4. Código VBA
### 4.1 Módulos Críticos
[Lista priorizada]
### 4.2 Regras de Negócio Identificadas
[Lista de lógicas importantes]
## 5. Análise de Complexidade
[Métricas e评分]
## 6. Oportunidades de Modernização
[O que pode ser melhorado]
## 7. Riscos Identificados
[Dependências, integrações críticas]
## 8. Prioridade de Migração
[1-5,理由]PREPARAÇÃO
☐ Windows com Access instalado
☐ Python com vba-edit instalado
☐ Pasta vebrus_research criada
CONTROLCHEQ
☐ Listagem de módulos
☐ Exportação completa
☐ Código extraído
☐ Tabelas documentadas
☐ Regras de negócio identificadas
☐ Complexidade avaliada
GERENTE+PLUS
☐ Listagem de módulos
☐ Exportação completa
☐ Código extraído
☐ Tabelas documentadas
☐ Regras de negócio identificadas
☐ Complexidade avaliada
DATABASE1
☐ Listagem de módulos
☐ Exportação completa
☐ Código extraído
☐ Tabelas documentadas
☐ Regras de negócio identificadas
☐ Complexidade avaliada
ANÁLISE CRUZADA
☐ Código duplicado identificado
☐ Oportunidades de consolidação
☐ Prioridade de modernização definida
☐ Relatório final escrito
- Enviar código para Gemini → Análise holística
- Usar Claude → Refatoração módulo a módulo
- Planejar migração → Escolher padrão (estrangulador vs completo)