Results 1 to 9 of 9
  1. #1
    Join Date
    Mar 2017
    Posts
    12

    Talking Effective way to learn VBA


    Hiya

    I've finished a course on Access fairly recently and am currently preparing for the MOS certification. I was wondering if anybody could recommend an effective way to become proficient with VBA? My plan was to just google everything and learn as I go but I'm wondering if there's a more structured approach anybody could recommend? I'd like to at least be at a level where I can guess and work codes out on my own rather than needing to find the specific coding online.

    I'm not from a coding background but did have a pretty impressive myspace profile back in the day...

  2. #2
    ranman256's Avatar
    ranman256 is offline VIP
    Windows Vista Access 2010 32bit
    Join Date
    Apr 2014
    Location
    Kentucky
    Posts
    9,521
    i would build an app. The best way to learn vb code is to start coding.
    but to learn a new language (vb or Italian, or French) you must learn the vocabulary and syntax before you can start speaking it.
    the books and google are good with the vocabulary.
    Start building the app,( forms and queries for clients, payments, history, etc.)
    there you start learning to speak well.

  3. #3
    djspod is offline Competent Performer
    Windows 7 64bit Access 2013
    Join Date
    Mar 2015
    Posts
    164
    Hi,

    I am also pretty new to VBA, some guys on here recommended some great sites and resource.

    Follow the link below, you will find some fantastic tutorials and great examples on here. (Steve Bishop series on YouTube is really helpful)

    Good Luck with your learning!

    https://www.accessforums.net/showthr...996#post328996

  4. #4
    orange's Avatar
    orange is offline Moderator
    Windows 10 Access 2010 32bit
    Join Date
    Sep 2009
    Location
    Ottawa, Ontario, Canada; West Palm Beach FL
    Posts
    16,716
    I agree with the other posters.
    Start with a fairly simple project, and experience the learning.
    Also, as stated the Steve Bishop "Programming" series is excellent.
    Also, a more recent find is this "Better vba" series by Codekabinett


    I don't know the details of your recent course, but many posters jump into physical Access without having a good grounding in database concepts.
    You might try watching some free video tutorials by Dr.Daniel Soper that will help you with the concepts. They will be a refresher if this is old hat to you.

    Intro to Database
    The Relational Model
    Data Modelling and the ER Model


    If you are a quick learner, then I suggest any youtube video by Dr. Jennifer Widom on Database or relational concepts. She is quick, but very good.

    You may also find that reviewing the code in the KnowledgeBase area of this site.

    Good luck.

  5. #5
    Missinglinq's Avatar
    Missinglinq is offline VIP
    Windows 7 64bit Access 2007
    Join Date
    May 2012
    Location
    Richmond (Virginia, not North Yorkshire!)
    Posts
    3,016
    Quote Originally Posted by ranman256 View Post

    ...you must learn the vocabulary and syntax before you can start speaking it...
    Very, very important! A real problem we see here, everyday, is that newbies haven't taken the time to even learn the most basic ABCs of Access, and because of this, can't ask for help with intelligent questions! It's nice to see someone who wants to do that!

    Something not mentioned so far, and how I originally taught myself, half a lifetime go, was to use reverse engineering! Copy the code for a simple database, run a Form in the database, to see what it does, then go into the code module for the Form to see how it does it.

    And don't be afraid to use Access help! Come across an unfamiliar Command or Function, in the code module? For Functions

    Code:
    If IsNull(Me.TextboxName) Then MsgBox "TextboxName cannot be Empty!"
    Place your cursor in the middle of IsNull and press F1.

    Do the same for Msgbox.

    For Commands

    Code:
    DoCmd.OpenForm "YourFormName"

    Place your cursor in the middle of OpenForm and press F1.

    To learn about the parameters needed for the above Command, type in, in the code module

    DoCmd.OpenForm

    and press the Space Bar and the parameter list will pop up, with the FormName parameter in Bold; enter a Form's name

    "MyFormName"

    (note the Quotes) type a comma and press the Space Bar, again, and and the ViewForm parameter will pop up, along with a dropdown listing the valid choices, and so forth.

    Access Help has a bad rap, frequently earned, but for this kind of thing it's very good.

    Be forewarned...this is a very long journey you're embarking on! I've been trekking in AccessLand for almost twenty years, now, and am still learning on a regular basis!

    Welcome to AccessForumsNet!

    Linq ;0)>
    The problem with making anything foolproof...is that fools are so darn ingenious!

    All posts/responses based on Access 2003/2007

  6. #6
    dniezby is offline Competent Performer
    Windows 10 Access 2016
    Join Date
    Apr 2013
    Posts
    183
    Quote Originally Posted by Missinglinq View Post
    Very, very important! A real problem we see here, everyday, is that newbies haven't taken the time to even learn the most basic ABCs of Access, and because of this, can't ask for help with intelligent questions! It's nice to see someone who wants to do that!

    Something not mentioned so far, and how I originally taught myself, half a lifetime go, was to use reverse engineering! Copy the code for a simple database, run a Form in the database, to see what it does, then go into the code module for the Form to see how it does it.

    And don't be afraid to use Access help! Come across an unfamiliar Command or Function, in the code module? For Functions

    Code:
    If IsNull(Me.TextboxName) Then MsgBox "TextboxName cannot be Empty!"
    Place your cursor in the middle of IsNull and press F1.

    Do the same for Msgbox.

    For Commands

    Code:
    DoCmd.OpenForm "YourFormName"

    Place your cursor in the middle of OpenForm and press F1.

    To learn about the parameters needed for the above Command, type in, in the code module

    DoCmd.OpenForm

    and press the Space Bar and the parameter list will pop up, with the FormName parameter in Bold; enter a Form's name

    "MyFormName"

    (note the Quotes) type a comma and press the Space Bar, again, and and the ViewForm parameter will pop up, along with a dropdown listing the valid choices, and so forth.

    Access Help has a bad rap, frequently earned, but for this kind of thing it's very good.

    Be forewarned...this is a very long journey you're embarking on! I've been trekking in AccessLand for almost twenty years, now, and am still learning on a regular basis!

    Welcome to AccessForumsNet!

    Linq ;0)>
    Reverse engineering is fine if you understand the language. Otherwise it's just gobble de gook. I think the best way is by doing it. That and helpful people like you and the others here that like to help.

    I'm a helper by nature. If I know how do something cool like VBA (which I know very little of) I love helping new people learn it.

    This community is incredible. It's also by sharing ideas here that new ideas may spring up and unleash ones creativity.

    These are things that help people learn.

    So, IMHO, learn by creating your own application, ask questions here and seek out continuing education by watching videos and reading up on commands and procedures you come across.



    Sent from my iPhone using Tapatalk

  7. #7
    orange's Avatar
    orange is offline Moderator
    Windows 10 Access 2010 32bit
    Join Date
    Sep 2009
    Location
    Ottawa, Ontario, Canada; West Palm Beach FL
    Posts
    16,716
    Seems to me the community has offered suggestions, and it's time for the OP to comment/respond.

  8. #8
    Join Date
    Mar 2017
    Posts
    12
    Quote Originally Posted by orange View Post
    Seems to me the community has offered suggestions, and it's time for the OP to comment/respond.
    Pardon my manners. I posted this at the end of my workday Friday and have only just returned. I haven't been active on forums for a long time so please point out if I'm making faux pas'

    Thank you all so much for the advice. I am building a database and will check out all the suggestions over the next week or two.
    The course I took was from the DLC and one officiated by Microsoft so I know enough about creating the database but it barely touched on VBA which, if I'm honest, was my main motivation for learning.

  9. #9
    orange's Avatar
    orange is offline Moderator
    Windows 10 Access 2010 32bit
    Join Date
    Sep 2009
    Location
    Ottawa, Ontario, Canada; West Palm Beach FL
    Posts
    16,716
    No faux pas, and no disrespect intended. Thanks for the update and good luck with your learning. It appears that you have a variety of "options" to explore.

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Me.SortBy descending not effective
    By GraeagleBill in forum Forms
    Replies: 3
    Last Post: 09-14-2016, 02:02 PM
  2. Effective Budget Design
    By StatsAnalyst in forum Database Design
    Replies: 3
    Last Post: 07-21-2016, 03:47 PM
  3. Selecting field based on effective date
    By Luffk73 in forum Access
    Replies: 1
    Last Post: 03-30-2015, 12:40 PM
  4. Filter not effective
    By GraeagleBill in forum Programming
    Replies: 5
    Last Post: 04-08-2013, 02:18 PM
  5. Correct tables for an effective database
    By Sillub in forum Database Design
    Replies: 6
    Last Post: 08-04-2012, 09:21 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums