Modernize Studio
Lingua: IT
Scriveteci

I vostri database Microsoft Access, rifatti come applicazioni web

Prendiamo il database Access da cui dipende la vostra azienda, con tabelle, query, maschere, report e codice VBA, e lo ricostruiamo come applicazione web con SQL Server o MySQL alle spalle. I dati arrivano integri e le schermate seguono il modo in cui il vostro personale lavora già, così nessuno deve imparare un nuovo procedimento.

Perché adesso

Il supporto Microsoft per Access 2021, insieme al resto di Office 2021, termina il 13/10/2026. Access 2016 e Access 2019 sono senza supporto dal 14/10/2025, lo stesso giorno di Windows 10. Da quelle date un file Access non smette di aprirsi, ma non riceve più correzioni di sicurezza, e ogni nuova versione di Windows o di Microsoft 365 è un'occasione in più per un riferimento interrotto, un controllo ActiveX che non si carica o un driver a 32 bit che manca.

Più spesso il motivo per cambiare è pratico. Il file sta su un disco condiviso, una o due persone sanno come funziona, fuori dall'ufficio non si usa senza un desktop remoto, e si avvicina al limite di 2 GB di un file Access.

  1. Windows 10, Access 2016 e Access 2019Fine del supporto Microsoft
  2. Access 2021 e Office 2021Fine del supporto Microsoft

Cosa migriamo

Tutto ciò che fa funzionare il database, non solo le tabelle.

  • Tabelle e relazioni

    Tipi di dati, chiavi primarie, indici, relazioni con integrità referenziale, regole di convalida e valori predefiniti. I campi Numerazione automatica diventano colonne Identity e mantengono i valori esistenti, così i numeri di fatture e ordini non cambiano.

  • Query

    Query di selezione, accodamento, aggiornamento, eliminazione e a campi incrociati, comprese quelle che leggono valori da maschere aperte. Ognuna viene riscritta per il nuovo database e confrontata con i risultati dell'originale.

  • Maschere e sottomaschere

    Schermate di inserimento, maschere continue, caselle combinate con elenchi dipendenti, strutture principale e dettaglio. Diventano pagine web con gli stessi campi nello stesso ordine.

  • Report

    Report raggruppati con totali e interruzioni di pagina, etichette, e i documenti che stampate o inviate in PDF, come fatture e documenti di trasporto.

  • Moduli VBA e macro

    Codice delle maschere, moduli standard, AutoExec e macro incorporate. Le regole di business passano sul server, dove valgono allo stesso modo per tutti gli utenti.

  • Tabelle collegate e dati esterni

    Collegamenti ad altri file Access, fogli Excel, origini ODBC ed elenchi SharePoint, e le importazioni o esportazioni che qualcuno lancia ogni settimana.

Come diventa la versione web

Esempio illustrativo, dati di fantasia

Una scheda di lavoro di un'officina come potrebbe apparire in Access 97, e la stessa schermata come applicazione web.

Trascinate il cursore, oppure usate le frecce della tastiera.

Dove finisce ogni parte

In Access: Tabelle del back-end .accdb o .mdb
Nell'applicazione web: Tabelle in SQL Server o MySQL, con le stesse chiavi e relazioni
In Access: Query salvate
Nell'applicazione web: Viste, stored procedure o query nell'applicazione
In Access: Maschere e sottomaschere
Nell'applicazione web: Pagine web con gli stessi campi, in qualsiasi browser
In Access: Report
Nell'applicazione web: Pagine stampabili e file PDF generati dal server
In Access: VBA negli eventi delle maschere
Nell'applicazione web: Controlli e regole eseguiti sul server
In Access: Un file di gruppo di lavoro (.mdw), o nessun accesso personale
Nell'applicazione web: Credenziali personali con ruoli, e traccia di chi ha modificato cosa

Come si svolge la migrazione

  1. Analisi entro 48 ore

    Ci mandate una copia del file .mdb o .accdb (front-end e back-end, se il database è diviso), con dati di prova al posto di quelli reali se preferite. Entro 48 ore vi rispondiamo con un report scritto: cosa fa oggi il programma, dove sono i rischi, come sarebbe organizzata la versione web, un prezzo fisso per un modulo pilota e una stima per il resto. È gratuita e non vi impegna a nulla.

  2. Modulo pilota

    Realizziamo una parte dell'applicazione su una copia dei vostri dati reali, di solito quella che si usa di più. Il vostro personale la usa nel lavoro di tutti i giorni prima che decidiate sul resto.

  3. Test automatici tra vecchio e nuovo

    Eseguiamo query e report sul nuovo database e confrontiamo numero di record, totali e cifre stampate con gli originali di Access. Per ogni regola che troviamo scriviamo un test automatico che dà gli stessi dati in ingresso al vecchio programma e alla nuova applicazione e controlla che i risultati coincidano. Ricevete i risultati dei test.

  4. 30 giorni in parallelo

    Quando l'applicazione completa è pronta, il database Access resta in uso accanto a essa per 30 giorni. Ogni differenza emerge mentre il vecchio programma c'è ancora, e la correggiamo all'interno del prezzo concordato.

Gli intoppi tipici, e come li gestiamo

  1. L'SQL di Jet e ACE non è SQL standard

    Access usa * e ? come caratteri jolly in LIKE, dove SQL Server e MySQL usano % e _, scrive le date tra due # e memorizza True come -1. Funzioni come IIf, Nz, Format e DateSerial non hanno un equivalente diretto. Copiare il testo SQL così com'è produce query che falliscono o, peggio, che restituiscono righe diverse. Traduciamo ogni query e ne confrontiamo i risultati con l'originale.

  2. Funzioni di dominio in cicli e query

    DLookup, DCount e DSum sono comode, ma ogni chiamata esegue una query separata. In una maschera continua o dentro un'altra query possono girare migliaia di volte per una sola schermata. Nella versione web diventano join e raggruppamenti che il server del database risolve in un solo passaggio.

  3. Query che leggono da maschere aperte

    Un criterio come [Forms]![frmOrdini]![txtIDCliente] funziona solo finché quella maschera è aperta, su quel PC. Trasformiamo questi riferimenti in parametri, così la stessa query serve a qualsiasi pagina o report.

  4. Campi Sì/No, Valuta e Data/ora

    Access memorizza Sì/No come 0 e -1, la Valuta con quattro decimali e le date come numeri che possono contenere anche un'ora. Spostati senza attenzione, i totali slittano di qualche centesimo o un filtro sul 31/03 non restituisce nulla. Mappiamo ogni tipo di campo in modo esplicito e confrontiamo i totali dopo ogni trasferimento.

  5. Campi allegato, multivalore e di ricerca

    Questi tipi di campo esistono solo nel formato .accdb e nascondono tabelle aggiuntive. Li trasformiamo in normali tabelle collegate, e gli allegati in file archiviati e richiamati dal database.

  6. Un front-end copiato su ogni PC

    Molti database si reggono su una copia del front-end su ogni scrivania, a volte in versioni diverse, con percorsi verso il back-end su un'unità di rete mappata. Durante l'analisi stabiliamo quale copia è quella buona e quali percorsi, stampanti e componenti aggiuntivi il codice dà per scontati.

Prezzo e pagamento

Analisi

Gratuita

scritta, entro 48 ore

Modulo pilota

1.000–1.500 €

di solito, 50% all'inizio e 50% all'approvazione

L'analisi è gratuita. Se decidete di non andare avanti, il report resta a voi e non dovete nulla.

I prezzi sono fissi e concordati per iscritto prima di iniziare. Se il perimetro cambia, vi mandiamo un nuovo preventivo scritto e aspettiamo la vostra approvazione prima di fare il lavoro in più.

Per una migrazione completa puntiamo a stare dal 40 al 60% sotto il preventivo tipico di un'agenzia. Possiamo farlo perché siamo uno studio piccolo, senza uffici da pagare né rete commerciale.

Prezzi IVA esclusa.

Provate il calcolatore di prezzo

Una migrazione vera, verificata dai test

Northwind è il database di esempio che Microsoft distribuiva con Access, non un nostro cliente. Ne abbiamo migrato una copia pubblica in SQLite e PostgreSQL, confrontato ogni tabella e ogni query con l'originale tramite test automatici e costruito sul risultato un'applicazione web funzionante. Il caso di studio riporta i numeri, il report di equivalenza elenca ogni controllo.

Report di equivalenza (in inglese) · Anteprima cliccabile e analisi di esempio (demo)

Domande frequenti

Possiamo continuare a usare Access mentre si costruisce la versione web?

Sì. Continuate a lavorare nel database come sempre. Prima dell'avvio trasferiamo di nuovo i dati dall'ultima copia, e il database resta in uso per 30 giorni accanto alla nuova applicazione.

Potremmo tenere le maschere di Access e spostare solo i dati su SQL Server?

Sì, e per alcune aziende è il primo passo giusto: le tabelle passano su SQL Server e il front-end Access si collega a esse. Così si risolvono i problemi di dimensione e di stabilità, ma non l'accesso da remoto né la dipendenza da Office. L'analisi indica quale strada fa al caso vostro.

Il nostro database è un .mdb di Access 97 o 2003. È un problema?

No. Lavoriamo sia con file .mdb sia con file .accdb. Se in un vecchio .mdb è stata impostata la protezione a livello utente, ci servirà anche il file di gruppo di lavoro (.mdw), e ve lo diciamo prima che ci mandiate qualcosa.

Che fine fanno i nostri report?

Ogni report viene ricostruito come pagina da stampare o salvare in PDF, con gli stessi raggruppamenti e gli stessi totali. I test di confronto verificano le cifre dei nuovi report rispetto a quelle di Access.

Quante persone possono usare la versione web contemporaneamente?

Dipende dal server del database più che dall'applicazione, e SQL Server o MySQL reggono molti più utenti contemporanei di un file Access condiviso. L'analisi consiglia un hosting adatto al vostro numero di utenti.

Dove girerà l'applicazione?

Su un server o un servizio cloud di vostra scelta, oppure su un hosting che predisponiamo noi. Usiamo tecnologie diffuse, C# con ASP.NET Core o PHP con MySQL, così il vostro fornitore informatico può occuparsi della gestione quotidiana.

Contatti

Via email:

riccardo@modernizestudio.com
Scriveteci un'email

Mandateci una copia del database, con dati di prova se preferite, oppure una breve descrizione di cosa fa. Vi rispondiamo entro un giorno lavorativo.

Lavoriamo dall'Italia.

Scriveteci