Microsoft Access sta mostrando la sua età. La maggior parte delle tecniche (file server, VBA, DAO, Jet Database Engine, etc) la data indietro di 20 anni o più. Microsoft continuerà a supportare VBA per molti anni a venire, ma l’enfasi sta cambiando rapidamente la programmazione per Visual Basic.Net e SQL Server.
In società di gestione dei sistemi, combinando un database VB.Net FrontEnd con SQL Server backend è l’ideale. Visual Basic è orientato regole di business e SQL Server è efficiente e di facile manutenzione.
conversione VB.Net upgrade Ragioni
Motivi per l’aggiornamento a Visual Basic.Net database Microsoft Access e SQL Server sono:
- Una decisione strategica aziendale
- La preoccupazione per il futuro di Visual Basic for Applications (VBA)
- La difficoltà e il costo per sostenere il codice obsoleto e pieno di errori
- La difficoltà e il costo in codice supporto scritto da fan a prescindere dalle norme
- La necessità di sostituire il sistema di gestione inefficiente che solo “cresciuto come Topsy”
- La necessità di sostituire le forme goffe di accesso a un’alternativa più efficiente
- La necessità di registrazione delle transazioni e ripristino per garantire l’integrità dei dati del sistema
- Le molte peculiarità delle forme di accesso mandato
- I problemi di ottimizzazione e di prestazioni costanti
- Il traffico di rete elevato
- Il numero limitato di utenti simultanei
- record della tabella La capacità di memorizzazione limitata
- I requisiti di sicurezza più vecchio
Per queste ragioni, la conversione dei sistemi amministrativi accesso a VB.Net e database SQL Server esistente può diventare un imperativo.
La maggior parte delle nuove applicazioni di gestione oggi sarà progettata dallo sviluppatore professionista usando VB.Net front-end e un database di SQL Server database back-end.
Suggerito strategia di conversione
E ‘quasi impossibile convertire il codice VBA, le forme esistenti e riporta accesso a VB.NET. E ‘molto più redditizio per cercare di estrarre solo la logica delle regole di business esistenti, e ripartire da zero creando nuove forme frontend e utilizzare un database SQL come backend.
passi Questa carta per minimizzare alcuni degli ostacoli incontrati con il processo di conversione, e di ridurre la programmazione sforzo sono strategie dettagliate.
Identificare le regole di business
La maggior parte delle forme di codice VBA logica viene utilizzato per supportare l’interfaccia utente – non ha senso in ambiente VB.Net. Non ci sarà poco o nulla da guadagnare da qualsiasi tentativo di convertire il codice Form correlato. Lo sforzo di convertire VBA per VB.Net dovrebbe concentrarsi sull’individuazione e la conversione di regole di business contenute in moduli di codice VBA.
decisioni strategia di conversione
- Progetto – C’è la possibilità di utilizzare un MDI Forms o formare più schede
- Menu – Un controllo TreeView deve essere adeguata per selezionare Forms MDI
- Forms – Vi è la possibilità di utilizzare forme dipendente o indipendente
- Reports – Crystal Reports o SQL Server Reporting Services (Business Intelligence Development Studio – non è più supportato). Producono rapporti simili a vecchi rapporti di accesso
- Esiste sempre la possibilità di chiamare un database di Access e riferire accesso da VB.Net. Questo può rendere il processo più veloce transizione.
- Tavoli – Questi possono avere per essere ridisegnato a causa della mancanza di standardizzazione o di indicizzazione impropria. L’impostazione predefinita prefix schema ‘dbo_’ utilizzando SQL Server potrebbe essere necessario aggiungere al nome di ogni tabella.
.
.
Standards Development VBA
sforzo di riconversione dipende fortemente gli standard di codifica utilizzati dai programmatori di accesso precedente – e di solito, a seconda programmatori esperienza e l’età in cui il sistema è stato creato per la prima volta, le regole sono molto poveri.
modulo standard di codifica che faciliteranno la conversione deve essere applicato prima nel sistema di accesso. Ci sono diverse modifiche che possono essere fatte per rendere il codice più facile la conversione di seguito:
- sanguinamento coerente
- ha dichiarato che tutte le variabili con un tipo
- Utilizzare un prefisso per dire “m_” o “g_” per il modulo o variabili globali
- Verificare che le variabili globali sono necessari in tutto il mondo
- opzioni impostate in modo esplicito in ciascun modulo di codice
- Aggiungi Variabili utilizzate ma non dichiarata
- aggiungere un tipo di dati per tutte le variabili, sia di dimensioni o parametro
- Aggiungi un tipo di dati di ritorno a tutte le funzioni
- Uso funzioni tali DateAdd ad oggi aritmetica invece di ‘+’ o ‘-‘
- Rimuovere tutte le funzioni di valut
- Evitare, se possibile, la build ‘esplosione’ – Ie forme Clienti CustomerID
Sarebbe utile se i campi di controllo possono essere rinominati con nomi descrittivi, piuttosto che Text1, Text2 o Command1, Command2. Purtroppo la modifica di un nome di campo può causare problemi perché il campo è possibile fare riferimento in altre forme, macro, report, moduli o query. Dopo tale modifica, il sistema di accesso in genere diventa un incubo per eseguire il debug.
Conversione DAO ad ADO o ADO.Net
funzioni DAO come record QueryDefs devono convertire qualsiasi ADO o ADO.Net. ADO.Net ha sostituito ADO, ADO, ma è ancora supportato. Se si ha familiarità con ADO, bastone con esso – è più semplice di quanto e più efficiente ADO.Net
Per i più avventurosi, provate il LINQ to ADO o ADO.Net alternativa .. Ma per il sistema produttivo fine, attendere il più efficace attuazione di LINQ in Visual Studio 2012.
Dopo la conversione iniziale di VB.Net
- Costante bisogno di un tipo di dati.
- Tutte le variabili in funzioni o subroutine, per impostazione predefinita, vengono dichiarate con una parola chiave ByVal. Ovunque un valore deve essere restituito, la parola chiave deve essere modificato in ByRef.
- I parametri opzionali in funzione e Sub routine devono avere un valore predefinito.
- Costanti bisogno tipi di dati espliciti.
- Usare Option Strict per garantire l’efficienza ed evitare errori di tipo di dati.
- Opzione Imposta Infer fuori.
Benvenuti alle gioie di object-oriented di Visual Basic!