Getting Started
History
Advice
Tools
Tutorials
Code Snippets

Resources
Web Sites
Books
Magazines
Files
Mailing Lists
NewsGroups
User Groups
Talk Shows
Hardware
Vendors

Microsoft
VB
VBA
VBScript
Visual Studio
MSDN Library

GBIC >> VB >> Advice
Advice for Beginners
I get the same question over and over, "How do I get started in VB?" This page provides a "cookbook" set of instructions and tips which should provide the answer for this question! I'm also pretty proud of my online tutorial, so give it a try as well.

Free Visual Basic Step-by-Step Instructions

General Guidelines Certification (MCSD) Tips


Return to top of document

Free Copy of Visual Basic (almost)

The Learning Edition of Visual Basic 6 costs about $100. If that is too much for your pocket book, then you might want to try out one of the following books. Each of these books includes the "Working Model" of VB6. It's a special edition of VB which installs on your PC and contains much, but definitely not all, of the VB functionality.

In particular, there are no HELP files and you cannot create .EXE files for distribution to users and friends. The program you write can be saved but can only be run on systems which have VB6 installed.

Even with those limitations, it is still a good way to evaluate Visual Basic. Since you get a book with the software, it definitely is a bargain since each of the books costs about $30. You can go to my VB Books page for more details about these books.

    Learn to Program with Visual Basic 6
    Using Visual Basic 6
    Visual Basic 6 from Scratch
    Visual Basic 6 for Dummies
    Practical Visual Basic 6


Return to top of document

Step-by-Step Instructions

    Okay, let's make VB proficiency a step-by-step process. The bottom line is that you have to read, then practice what you read. Here's the guidelines for what to read, and in which order.

  • Step 1. The Microsoft Visual Basic 6.0 Programmer's Guide

    It is an excellent manual and can be bought from Microsoft Press. Read it front to back, and don't skip pages. Type in all the examples and run them until you understand them. Save what you type in. Keep a notebook of where you found the code examples. You will likely use most of them over and over on future projects. Read it a second and third time if you want to get maximum value from it. I've read mine so often that there are more highlighted sections than there are unmarked ones. If you can't talk yourself into reading the whole thing, then consider these suggestions:

      Must Read- Chapters 1-5
      Should Read- Chapters 6-8, 11-13
      When The Need Arises- Chapters 9, 10, 14-17

  • Step 2. Know Your Tools

    Your tools are the VB language statements and the VB controls. Imagine hiring a carpenter and when you hand him a hammer he says "What's this for?". You owe it to yourself and your employer to know what VB tools are available and how to use them. Reading the manual is the start, but it is only a start. I've prepared two summaries which show you the kind of studying that really help your training. The first is a language summary and the second is a control summary. In the language summary I've summarize the VB statements according to the type of task they can perform. For controls, I've identified every single property, method and event. The key thing about the summary is that you'll find out exactly what similarities there are between tools, plus you'll see exactly how one tool differs from the other.

  • Step 3. Sample Projects

    Go through each of the samples that came with VB (in the samples directory). Pay special attention to the procedures that are provided in the samples. You will be able to re-use these in your own project over and over. I also have provided several sample programs that you might find useful. I provide annotated source code for these sample applications to help your understand what the code does and why I wrote it the way I did.

  • Step 4. VB FAQs

    Read the VB FAQs. Their information focusses on questions which are asked over and over by VB users, particularly newbies. Unfortunately there is no one single FAQ these days, nor are all of them kept current. I have some older ones located here.

  • Step 5. VB Knowledge Base

    Once upon a time, Microsoft offered files with list of Questions and Answers about VB. It was called the VB Knowledge Base. Now, Microsoft has integrated the VB KB into its site-level Knowledge Base and you can access it online at http://support.microsoft.com/support

    The older files are still available at the Microsoft FTP site and are worth reading all the way through (at least the titles). The reason these articles are there is that VB users wanted to know how to do things. You may not know what half of the articles are good for right now. But when you run into the same limitations as are addressed by the articles, you'll be glad you know what is in the Knowledge Base. If you want to pare down the effort, take a look at my list of Top VB KB Articles.

  • Step 6. VB Help file

    Go through the VB Help file, just like it was a manual. Pay close attention to the examples. If you can, find a program which will print out the HELP file (or at least portions of it, since the VB help file is really huge!) to take with you when you won't be at a PC.

  • Step 7. Books

    Generally, I recommend learning VB from books. This allows you to learn at your own pace and to go over difficult materials as often as needed. I recommend classwork only after you've learned all you can, or after you've reached a plateau and need an instructor to help go to the next level. There are two books I normally recommend. The Microsoft Visual Basic 6.0 Programmer's Guide is the first book anyone should touch. It's essentially the manual for VB, but you do have to pay extra to get it. It covers basic and advanced topics, enough to guide you to an intermediate level of capability.

    The second indispensable books is Appleman's VB Programmer's Guide to the Windows API. All VB programmers will eventually get into using API to do things that VB does not directly support. Appleman's books is considered the bible in this area.

    If you look these over but they're not what you want, be sure to take a look at my VB book reviews. I've provided a listing of over 350 VB books, including reviews and Tables of Content, to help you in making a purchase decision.

  • Step 8. VB Programmer's Journal

    Subscribe to Visual Basic Programmer's Journal. It's the best VB magazine available. It emphasizes more advanced topics, and has a heavy Access database content. There's no better way to keep track of what topics the VB community is following.

  • Step 9. 3rd Party Catalogs

    Read through catalogs of VB 3rd party controls/DLLs to get a good overview of what capabilities are available. This will give you insight as to the limitations of VB by showing what features other people thought were missing from VB.

  • Step 10. 3rd Party Software

    Download and evaluate as many as possible of the 3rd party shareware tools located at the various archives. A simple approach is to head over to the VBXtras online catalog and for a look at a good selection of the best VB apps available.


Return to top of document

General Guidelines


Return to top of document

Certification Tips

    How can you show a prospective employer that you have the basic skills to perform the job he has open? How do you know yourself whether you meet some minimum skill set that will help get you a good paying job?

    One answer is to get a Microsoft certification. There are various types of certifications available (see the Microsoft certification site). The one I'll talk about here is known as the Microsoft Certified Solutions Developer (MCSD) certification, which tests for basic skills in fundamental programming areas.

    Getting the certification does not necessarily mean that employers will come runing to your door, nor does it mean that your current employer will give you a raise in pay (only 20% of programmers say this happens). Like any other professional position, the experience you bring to the job and the applicability of that experience to your employer's needs are the primary factors which affect your ability to get a job or to get ahead in the one you have. But, all other factors being the same the MCSD certification can make the difference in select of you over competition for assignments. Just the fact that you showed the initiative to get the certification provides an indication to your boss/prospective employer that you have skills which go beyond just the mechanical ability to generate code.

    So, if you're considering getting MCSD certification, then you might find the following certification tips useful. Also, here's another set of MCSD tips by James Foxall, author of MCSD in a Nutshell.

  • Tip 1. Manage your study time

    Most of us have only limited time to devote to issues in our lives. Preparing for the MCSD tests is no different. Just like you would spend time to design your program before writing code, you will need to spend time making a list (and schedule) of the topics you will need to study, estimating the time you will take (or have available) to prepare, and using that schedule to determine if you are making sufficient progress to take the test on the planned date. Use this structured approach to preparing and you will not only get the daily feedback on your preparations but also you will gradually build the confidence that you are ready for the test when the time comes.

  • Tip 2. Study the specific test topics

    This may sound self-evident, but remember that the purpose here is not to show that you know everything about VB, but rather to show Microsoft that you understand the things they consider important. Take a look at prior tests to understand what is likely to be on the test and focus on that. It's okay to disagree on what's important in VB - but plan to study that later when you're not preparing for the MCSD test. The Microsoft Certification Site is a key place to visit for details and information on preparing for the test.

  • Tip 3. Don't hesitate - take the test as soon as possible

    The problem with my second tip is that the best way to know what is on the test is to take the test itself. By taking the test ASAP, even though you might fail, you achieve several results. First, you find out what topics are covered on the test. Second, you have a chance to get over the nervousness that often accompanies the taking of a test such as this. Once you've been exposed to the test, the next time you take it you will be more relaxed and most likely perform better. According to Lisa Mann at O'reilly, over 50% of the programmers that take the test fail it the first time they take it. So, if you fail, don't sweat it. No one knows it but you, no one really cares, most folks fail just like you did, and now you're better able to prepare for the next one.

  • Tip 4. Practice what you have studied

    Like almost any information, it seems easier the more you use it. When you're doing your studying then you should make an effort to use the techniques you're using. Test questions are not usually tricky, but are geared to show that you understand the material. If you have practiced using the information that you've learned - over and over - then the questions actually become trivial. I also find that test questions can only go so deep - so the more that I have used the technique, and understand the details of the technique, the less likely I can be tripped up by relatively superficial test questions. As a basketball player in high school (okay, I was on the B squad!) I remember that my coach told me "If you can't do it in practice, then you can't do it in the game!". This lesson directly applies to your strategy for preparing to pass the test.

  • Tip 5. Develop an informed, thoughtful opinion

    When you're learning information, don't stop at just being able to replicate what you've read, or at just being able to apply it to your application. Some of the best study time you'll have is when you take the time to examine the code/technique you're using and attempt to take it apart. Ask yourself questions about what you know - do you know a lot about it, or just a few facts? Was the material you studied complete, or was it missing information on some facet of the technique? How does the next information tie in with what you already know? Does it replace or compete with what you already know? When should you use it and when is it the wrong approach to solving a problem? When you think you could teach it to someone else, then you've gotten a big step closer to full understanding.

  • Tip 6. Teach someone else

    Ask any teacher and they will tell you that you don't really know what you know until you have to teach it to someone else. Reading gives you one level of knowledge and applying gives another. But neither requires you to sort it out in your head like explaining to a student what the technique is, why it is important, when to use it over other options, what the negatives are, and what it's strengths are. If you don't have someone to teach, then a) simply go to the USENET groups and try to answer questions or b) get a web site and advertise on it that you will answer questions for free - then stand by for the avalanche of questions.

  • Tip 7. Don't learn everything from one source

    I am an avid Country Western dancer (after all, I am from Texas!). I've taken literally hundreds of lessons, from over a dozen instructors. What I found was that one instructor was able to teach me some steps, but didn't have the skills to teach others. Each instructor had his own viewpoint and by getting instruction from them all I was able to develop a clear understanding of what I was learning - seeing it from many different angles. The lesson applies directly to VB. Read from several books, read from the USENET, read the available newsletters, read VB HELP, and listen to as many instructors as you can. It will pay off in a significantly better understanding of the materials you need to know.

  • Tip 8. Keep moving through the study topics

    One mistake beginning programmers often make is to assume they have to completely understand one topic before they can move on to the next. The problem with this is that you can get stuck and spend more time on a topic than it deserves. Also, you will find that VB topics often tie together. You might not fully understand a User Defined Type when you are exposed to the concept. If, instead of spending extra time on the mechanics of creating a UDT, you move on to the topic of file I/O you will see that saving data as a UDT array simplifies your code enormously. Understanding of the first topic sometimes comes from reading a second - you sometimes have to keep moving in order to find the information you need to make sense of what you have just read.

  • Tip 9. Take the test carefully - follow a plan

    This recommendation is not specific to MCSD - it applies to the taking of any kind of test. Before you start answering the questions, take a few moments to go over the test - start to finish. Figure out which parts you know the best and answer those parts first. Leave the harder questions for later - do not spend excess time on any one question. Before you leave the room, go over every single question a last time to make sure you haven't done something that you can easily correct (such as misreading the question, marking the wrong answer, or having skipped a question). In order to do this, you may have to leave a really hard question unanswered, but it's better to verify the majority of your test results than to waste time on a question for which you really don't know the answer. Take every single minute of the test time that you have - do not leave early. If you spent months getting ready for the test, you should plan to use up your entire time - rereading every question over and again as time permits. Now is not the time to get anxious to be done with the test!

  • Tip 10. In the event of (temporary) failure

    In my business we experience the problem of the "rock". Sometimes our upper management calls us and tell us to go create a product but they are not quite sure what the product needs to look like. So, off we go to build this "rock", as we call it. Way too often we show up with our "rock" and management says, "No, that's not quite what I wanted, go build another one!" So, with not much more information that we had the first time we go build a new version of the "rock". This iterative process is all too common in business, so why should the MCSD test be any different? If you fail the test, after having faithfully followed my guidelines above and then finding that the content of the test is not what you expected, then plan to fill in the blanks by learning the missing material and simply take the test again. The MCSD is not intended to be an emotional epiphany. It's just a milestone in getting accreditations that you hope will increase your success in getting/keeping a good job. If you have to take the test again, then so be it. Just do it and get it over with.