180 likes | 278 Views
National Park Service U.S. Department of the Interior I&M Program >> Alaska Region >> Arctic Network. Natural Resource Monitoring Database Development Using SQL Server A Comparison Between Visual Basic/ADO .Net and Microsoft Access Data Projects. Scott Miller Arctic Network Data Manager.
E N D
National Park Service U.S. Department of the Interior I&M Program >> Alaska Region >> Arctic Network Natural Resource Monitoring Database Development Using SQL ServerA Comparison Between Visual Basic/ADO .Net and Microsoft Access Data Projects Scott Miller Arctic Network Data Manager E X P E R I E N C E Y O U R A M E R I C A
So there I was... Using Access and SQL Server and spending a lot of time writing tons of code to do complex things unsatisfactorily and starting to wonder if there was a better way to build a front end... This was about the time Visual Studio Express Editions came out I tried it out My journey and experiences... E X P E R I E N C E Y O U R A M E R I C A
SQL Server back-end/Multiple front-end application development SQL Server Access Custom application Web E X P E R I E N C E Y O U R A M E R I C A GIS
A quick app development demo Visual Basic and ADO .Net Built in Visual Studio 2010 Professional E X P E R I E N C E Y O U R A M E R I C A
Drag and Drop E X P E R I E N C E Y O U R A M E R I C A
Build and run the software • Up to this point • We’ve written no code • Easy as Access • More robust interface • Here, however is where the hard work begins... E X P E R I E N C E Y O U R A M E R I C A
This is where you realize how much Access does for you • You’ve got to write code to • Save Dataset • Handle concurrency conflicts • Handle connectivity • Handle lots of other things Access usually handles for you E X P E R I E N C E Y O U R A M E R I C A
IntelliSense is your friend • IntelliSense works by accessing an automatically generated in-memory database of classes, variable names and other constructs defined in or referenced by the application being edited. • It speeds up software development by reducing the amount of name memorization needed. • It also allows for less reference to external documentation E X P E R I E N C E Y O U R A M E R I C A
Adaptable form controls • No longer wedded to a target screen size • Example: same application, two screen sizes • 1600 x 1200 • VGA 640,480 • Accomodate desktop/field computers E X P E R I E N C E Y O U R A M E R I C A
More better tools and controls • My favorites: • SplitPanel • ToolStrips/ToolStripContainers • Context Menus • Example E X P E R I E N C E Y O U R A M E R I C A
Strength/Weakness ComparisonAccess\VBA vs. Visual Studio\VB\ADO .Net E X P E R I E N C E Y O U R A M E R I C A
Access • Strengths • Rapid Application Development • Major application functions require no programming • Loading data • Saving data • Weaknesses • Not adaptable to different screen sizes • Limited out-of-the-box tools • Custom tools and Active-X controls need active management • Poor VBA Editor • Wonky E X P E R I E N C E Y O U R A M E R I C A
Visual Basic/ADO .Net • Strengths • Drag/drop application development • Screen adaptable • Visual Studio IntelliSense makes code 10x easier to write than VBA editor • Custom tools delivered with the installation • Many more tools available to use • Weaknesses • Major functions must be written by you (data loading, saving, updating, etc.) • Database design changes hard to retrofit • Big learning curve E X P E R I E N C E Y O U R A M E R I C A
Major Weakness Don’t remove entities from the Dataset using the Wizard Don’t remove tables or columns using Data Source Configuration Wizard! It doesn’t clean up after itself very well Blown up every time I tried Only build your application when your data model is very mature Prototype in Access Build in Studio E X P E R I E N C E Y O U R A M E R I C A
Strategy Start Yes Is the database simple? Access\VBA No Build prototype in Access No Is the data model mature? Yes Build application in VB/ADO .Net E X P E R I E N C E Y O U R A M E R I C A
Conclusions Conclusion: It is possible to write compiled data management softwarewith about the same amount of effort as developing Access applications... ...once the large learning curve has been overcome. Benefits of VB/ADO .Net development are worth the effort, but only as part of a structured cycle of escalating development steps starting with Access\VBA E X P E R I E N C E Y O U R A M E R I C A