Learning coming from a Access VBA background

Posted on 2014-08-12
Last Modified: 2014-08-14
I see a need to go to - I'm looking for the best way to learn the new language - Best Books / websites / etc.

I have extensive VBA experience with Access going back to version #1 and extensive experience with SQL Server.  What I'm looking for is something that would take me from my current knowledge to being capable with VB.Net.

Also do I have to learn different languages for desktop apps and for Web apps.

Thanks in Advance
Question by:LJG
    LVL 11

    Expert Comment

    I have a lot of VBA experience as well as VB 6,  There is a superficial syntax similarity between VB.NET and other versions of VB so that will help a little.  Other than that  knowledge of VBA will not be much help.  In general, the learning curve you have to climb is learning the .Net environment and libraries and the particular syntax that you choose (VB.NET or C# or something else) is really only for comfort sake rather than something that will give you a big leg up.  

    You can use VB.NET for both desktop and web apps.  That said, there are a lot of differences in the way you build the projects and use the language even though the language itself is the same.  

    I don't think my answer is good news and I'm sorry about that but I think that recognizing that VB.NET is actually something completely different which has been wrapped to make it superficially look like VB will help you climb the curve faster.
    LVL 29

    Assisted Solution

    by:Paul Jackson
    agree with @MajorBigDeal, best to throw away what you think you know and accept that learning VB.Net will be and is learning a completely new language and also a different way of programming, i.e. more object orientated when done properly.
    When it comes to Web apps you will also be learning ASP.Net which replaces ASP and this also now has two flavours, the older WebForms, and the newer MVC.
    LVL 84

    Assisted Solution

    by:Scott McDaniel (Microsoft Access MVP - EE MVE )
    I did exactly what you're talking about - moved from a VBA/VB background to VB.NET. I found that basic programming techniques (like Loops, If-Then-Else, And/Or logic methods, etc) were the same, but that was about it. I'm a long time Access developer (and an Access MVP), so I would be at the top of the "food chain" regarding the use of Access - but the skills I had learned over the years with Access didn't help me too terribly much when I made the move.

    I was comfortable with OO-type programming, having made use of Class objects and such in my VBA work (as much as possible, anyway), and so I didn't struggle as much as some with the shift, but it can be bit daunting at first. Like Paul Jackson suggests, in many cases you must throw away the concepts you learned in Access and replace them with concepts better suited to OO-style programming.

    For example: The concepts of Recordset-based programming is much different in .NET. I struggled mightily with this at first, as I was doing a lot of "unbound" work at the time. ADO.NET is a much different animal from plain ADO, and that took me quite a while to figure out. I used my meager OO background and moved to an object-based paradigm, and found that .NET was much easier to work with once I made that "shift".

    Plus, you must learn the Visual Studio environment rather than a VBA-type editor. This can be frustrating at first, but once you figure it out, you'll cringe every time you have to go back to the Access editor. VS is a much more evolved IDE than the VBA editor, and you'll quickly learn to love it.

    All in all, it's definitely worth the time to learn, and given the direction that Access is currently going, may be your only path to a livelihood in the future :). I did so out of sheer necessity - I'm under contract with several software companies to create utilities and extensions for their customers, and those customers often balked when I mentioned creating an Access-based utility for them.
    LVL 2

    Author Comment

    Thank you everyone - Great info.

    Is there a book or website to get me to a point.  I'd like to create a form with different controls hooked to a couple of tables in SQL Server - you know - Hello World type of thing.

    Are the following any good?  Do you suggest others?

    Sams Teach Yourself Visual Basic 2012 in 24 Hours, Complete Starter Kit Paperback – October 18, 2012

    Stephens' Visual Basic Programming 24-Hour Trainer Paperback – February 8, 2011
    LVL 11

    Accepted Solution

    There is so much good online information that I've pretty much stopped buying computer books.  I used to have a whole library (nearly a dozen books on C++ alone) but I've given them all away.    Which of those sites is best for you personally is hard to say but I was impressed by the homeandlearn one, they even take into account the different versions of Visual Studio.  So I would go with that one.
    LVL 2

    Author Closing Comment

    Thanks All - You gave me good info.

    If I get a chance to go forward - I'll come back to post what I learn as I go forward.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to improve team productivity

    Quip adds documents, spreadsheets, and tasklists to your Slack experience
    - Elevate ideas to Quip docs
    - Share Quip docs in Slack
    - Get notified of changes to your docs
    - Available on iOS/Android/Desktop/Web
    - Online/Offline

    In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
    A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
    Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
    In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

    760 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    7 Experts available now in Live!

    Get 1:1 Help Now