Modernize Studio
Idioma: Português
Escreva-nos

As suas bases de dados Microsoft Access, reconstruídas como aplicações web

Pegamos na base de dados Access de que a sua empresa depende, com tabelas, consultas, formulários, relatórios e código VBA, e reconstruímo-la como aplicação web assente em SQL Server ou MySQL. Os dados chegam intactos e os ecrãs seguem a forma como a sua equipa já trabalha, para que ninguém tenha de aprender um procedimento novo.

Porquê agora

O suporte da Microsoft ao Access 2021, tal como ao resto do Office 2021, termina a 13/10/2026. O Access 2016 e o Access 2019 estão sem suporte desde 14/10/2025, o mesmo dia do Windows 10. Nessas datas um ficheiro Access não deixa de abrir, mas deixa de receber correções de segurança, e cada nova versão do Windows ou do Microsoft 365 é mais uma oportunidade para uma referência quebrada, um controlo ActiveX que deixa de carregar ou um controlador de 32 bits que falta.

Na maior parte dos casos, o motivo para mudar é prático. O ficheiro está numa unidade partilhada, só uma ou duas pessoas sabem como funciona, não se usa fora do escritório sem um ambiente de trabalho remoto, e está perto do limite de 2 GB de um ficheiro Access.

  1. Windows 10, Access 2016 e Access 2019Fim do suporte da Microsoft
  2. Access 2021 e Office 2021Fim do suporte da Microsoft

O que migramos

Tudo o que faz a base de dados funcionar, não só as tabelas.

  • Tabelas e relações

    Tipos de dados, chaves primárias, índices, relações com integridade referencial, regras de validação e valores predefinidos. Os campos Numeração automática passam a colunas de identidade e mantêm os valores existentes, para que os números de faturas e encomendas não mudem.

  • Consultas

    Consultas de seleção, acréscimo, atualização, eliminação e de referência cruzada, incluindo as que leem valores de formulários abertos. Cada uma é reescrita para a nova base de dados e verificada contra os resultados do original.

  • Formulários e subformulários

    Ecrãs de introdução de dados, formulários contínuos, caixas de combinação com listas dependentes, estruturas principal e detalhe. Passam a páginas web com os mesmos campos pela mesma ordem.

  • Relatórios

    Relatórios agrupados com totais e quebras de página, etiquetas e os documentos que imprime ou envia em PDF, como faturas e guias de remessa.

  • Módulos VBA e macros

    Código dos formulários, módulos padrão, AutoExec e macros incorporadas. As regras de negócio passam para o servidor, onde se aplicam da mesma forma a todos os utilizadores.

  • Tabelas ligadas e dados externos

    Ligações a outros ficheiros Access, folhas de Excel, origens ODBC e listas do SharePoint, e as importações ou exportações que alguém executa todas as semanas.

Como fica a versão web

Exemplo ilustrativo, dados fictícios

Uma folha de obra de oficina como poderia aparecer no Access 97, e o mesmo ecrã como aplicação web.

Arraste o manípulo ou use as setas do teclado.

Para onde vai cada parte

No Access: Tabelas do back-end .accdb ou .mdb
Na aplicação web: Tabelas em SQL Server ou MySQL, com as mesmas chaves e relações
No Access: Consultas guardadas
Na aplicação web: Vistas, procedimentos armazenados ou consultas na aplicação
No Access: Formulários e subformulários
Na aplicação web: Páginas web com os mesmos campos, em qualquer navegador
No Access: Relatórios
Na aplicação web: Páginas para imprimir e ficheiros PDF gerados pelo servidor
No Access: VBA nos eventos dos formulários
Na aplicação web: Verificações e regras executadas no servidor
No Access: Um ficheiro de grupo de trabalho (.mdw), ou nenhuma autenticação
Na aplicação web: Credenciais pessoais com perfis, e registo de quem alterou o quê

Como decorre a migração

  1. Análise em 48 horas

    Envia-nos uma cópia do ficheiro .mdb ou .accdb (front-end e back-end, se a base de dados estiver dividida), com dados de teste em vez dos registos reais, se preferir. Em 48 horas respondemos com um relatório escrito: o que o programa faz hoje, onde estão os riscos, como se organizaria a versão web, um preço fixo para um módulo-piloto e uma estimativa para o resto. É gratuito e não o compromete a nada.

  2. Módulo-piloto

    Construímos uma parte da aplicação sobre uma cópia dos seus dados reais, normalmente a parte mais usada. Os seus colaboradores trabalham com ela no dia a dia antes de decidir o resto.

  3. Os mesmos dados, os mesmos resultados

    Executamos as consultas e os relatórios na nova base de dados e comparamos o número de registos, os totais e os valores impressos com os originais do Access. Cada regra de negócio que encontramos passa também a um teste automático, repetido antes de cada nova versão. Recebe um relatório com o resultado de cada verificação.

  4. 30 dias em paralelo

    Quando a aplicação completa estiver pronta, a base de dados Access continua em uso ao lado dela durante 30 dias. Qualquer diferença aparece enquanto o programa antigo ainda lá está, e corrigimo-la dentro do preço acordado.

Armadilhas típicas, e como as tratamos

  1. O SQL do Jet e do ACE não é SQL standard

    O Access usa * e ? como caracteres universais em LIKE, onde o SQL Server e o MySQL usam % e _, escreve as datas entre # e guarda True como -1. Funções como IIf, Nz, Format e DateSerial não têm equivalente direto. Copiar o texto SQL tal como está dá consultas que falham ou, pior, que devolvem linhas diferentes. Traduzimos cada consulta e comparamos os resultados com os do original.

  2. Funções de domínio em ciclos e consultas

    DLookup, DCount e DSum são práticas, mas cada chamada executa uma consulta separada. Num formulário contínuo ou dentro de outra consulta, podem correr milhares de vezes para um único ecrã. Na versão web passam a junções e agrupamentos que o servidor da base de dados resolve de uma só vez.

  3. Consultas que leem de formulários abertos

    Um critério como [Forms]![frmEncomendas]![txtIDCliente] só funciona enquanto esse formulário estiver aberto, nesse PC. Transformamos estas referências em parâmetros, para que a mesma consulta sirva qualquer página ou relatório.

  4. Campos Sim/Não, Moeda e Data/Hora

    O Access guarda Sim/Não como 0 e -1, a Moeda com quatro casas decimais e as datas como números que também podem incluir uma hora. Transferidos sem cuidado, os totais desviam-se alguns cêntimos ou um filtro em 31/03 não devolve nada. Mapeamos cada tipo de campo de forma explícita e comparamos os totais depois de cada transferência.

  5. Campos de anexo, multivalor e de pesquisa

    Estes tipos de campo só existem no formato .accdb e escondem tabelas adicionais. Transformamo-los em tabelas relacionadas normais, e os anexos em ficheiros guardados e referenciados a partir da base de dados.

  6. Um front-end copiado para cada PC

    Muitas bases de dados dependem de uma cópia do front-end em cada secretária, por vezes em versões diferentes, com caminhos para o back-end numa unidade de rede mapeada. Durante a análise determinamos qual é a cópia em vigor e que caminhos, impressoras e suplementos o código pressupõe.

Preço e pagamento

Análise

Gratuita

por escrito, em 48 horas

Módulo-piloto

1000–1500 €

normalmente; 50% no início, 50% na aceitação

Condições de pagamento

Pedimos 50% no arranque e 50% na aceitação. A segunda metade é paga antes da entrada em produção e da entrega do código-fonte. Nos projetos maiores, os pagamentos acompanham as fases acordadas.

A análise é gratuita. Se decidir não avançar, fica com o relatório e não deve nada.

Os preços são fixos e acordados por escrito antes de começarmos. Se o trabalho mudar, enviamos um novo orçamento escrito e só avançamos com a sua aprovação.

Numa migração completa, o nosso objetivo é ficar 40 a 60% abaixo do orçamento habitual de uma agência. É possível porque somos um estúdio pequeno, sem escritórios para pagar nem equipa comercial.

Preços sem IVA.

Estimar o preço

Uma migração real, verificada por testes

A Northwind é a base de dados de exemplo que a Microsoft distribuía com o Access, não um cliente nosso. Migrámos uma cópia pública para SQLite e PostgreSQL, comparámos cada tabela e cada consulta com o original através de testes automáticos e construímos sobre o resultado uma aplicação web funcional. O caso de estudo apresenta os números, e o relatório de equivalência enumera cada verificação.

Relatório de equivalência (em inglês) · Pré-visualização clicável e análise de exemplo (demonstração)

Perguntas frequentes

Podemos continuar a usar o Access enquanto se constrói a versão web?

Sim. Continua a trabalhar na base de dados como sempre. Pouco antes do arranque voltamos a transferir os dados a partir da cópia mais recente, e a base de dados continua em uso durante 30 dias ao lado da nova aplicação.

Podíamos manter os formulários do Access e passar só os dados para o SQL Server?

Sim, e para algumas empresas é o primeiro passo certo: as tabelas passam para o SQL Server e o front-end Access liga-se a elas. Resolve os problemas de dimensão e de estabilidade, mas não o acesso remoto nem a dependência do Office. A análise indica a opção que mais lhe convém.

A nossa base de dados é um .mdb do Access 97 ou 2003. É um problema?

Não. Trabalhamos com ficheiros .mdb e .accdb. Se num .mdb antigo tiver sido configurada segurança ao nível do utilizador, precisaremos também do ficheiro de grupo de trabalho (.mdw), e dizemos-lho antes de nos enviar o que quer que seja.

O que acontece aos nossos relatórios?

Cada relatório é reconstruído como página para imprimir ou guardar em PDF, com os mesmos agrupamentos e os mesmos totais. Depois pomos o Access e a nova aplicação a trabalhar com os mesmos dados e verificamos que cada valor dos relatórios coincide.

Quantas pessoas podem usar a versão web ao mesmo tempo?

Depende mais do servidor da base de dados do que da aplicação, e o SQL Server ou o MySQL aguentam muito mais utilizadores em simultâneo do que um ficheiro Access partilhado. A análise recomenda um alojamento adequado ao seu número de utilizadores.

Onde vai correr a aplicação?

Num servidor ou serviço de cloud à sua escolha, ou num alojamento que nós preparamos. Usamos tecnologias muito difundidas, C# com ASP.NET Core ou PHP com MySQL, para que o seu fornecedor de informática possa tratar da gestão diária.

Contacto

Escolha o canal que mais lhe convier. Respondemos por e‑mail, em português, no prazo de um dia útil.

Por e‑mail

riccardo@modernizestudio.com
Escrever um e‑mail

Envie-nos uma cópia da base de dados, se preferir com dados de teste, ou uma breve descrição do que faz. Respondemos no prazo de um dia útil.

Envie-nos o seu ficheiro

Se o programa for em Access, Excel, VB6, Delphi ou numa versão antiga de .NET, recebe uma análise escrita gratuita no prazo de 48 horas após o envio do ficheiro.

  1. Faça uma cópia do ficheiro, se preferir com dados de teste.
  2. Anexe-a ao formulário ou a um e‑mail, de preferência num arquivo protegido por palavra-passe, enviando a palavra-passe à parte. Se o pedir, assinamos antes um acordo de confidencialidade.
  3. Em 48 horas: a análise e um preço fixo para um módulo piloto.

Trabalhamos a partir de Itália.

Enviar uma mensagem

Opcional. Uma base de dados, um livro do Excel, capturas de ecrã ou um caderno de encargos, até 10 MB. Para ficheiros maiores, indique na mensagem uma ligação para os descarregar.

Escreva-nos

O botão abre o seu programa de e‑mail com a mensagem já preparada. Nada é enviado até carregar em «Enviar» nesse programa.

Escreva-nos