How to go from Intermediate to Advanced - please help (1 Viewer)

Jon

Access World Site Owner
Staff member
Local time
Today, 19:38
Joined
Sep 28, 1999
Messages
7,305
I would like to ask what you folk think you need to know in order to go from an Intermediate Access user to an Advanced Access users. Considered the defined categories as being Beginner, Intermediate, Advanced and Expert, so at least you have some context.

So, what specific things do you need to know to make this progression?
 
Last edited:

tfurnivall

Registered User.
Local time
Today, 12:38
Joined
Apr 19, 2012
Messages
81
Re: How to go from Intermediate to Advanced

What a silence......!

At the risk of being flamed, let me offer some suggestions:
Code:
Beginner:     Uses (primarily) the built-in tools to create apps. 
              Little or no VBA; 
              Tables may or may not be normalized (Huh? What's that?)

Intermediate: Comfortable using form events. 
              Probably not using OO approach for the main part of the code.
              Tables generally normalized - most of them with an AutoNumber Primary Key. 
              Maybe secondary indices.  
              Little or no use of Office Automation; 
              DB is typically single DB - no splits. 
              Occasional use of Unbound forms. 
              Code is generally well commented, but not subject to rigorous management.

Advanced:     Tables routinely normalized, 
              Most application code is object oriented, with user defined classes capable of inheriting other classes. 
              User has established several utility libraries, and knows how to keep them as external files, using Tools|References to bring them in. 
              User is comfortable using split DB where one or other of the components is on a separate machine. 
              Comfortable using other DB engines than Jet. Code routinely has clearly defined transactions, including Commit and Rollback. 
              Application routinely includes user authentication (possibly from a different server).

Expert:       Good track record of helping others in clear, concise helpful language. 
              Provides just enough help to allow 'further research' on the part of the questioner to yield a solution. 
              Good track record of publishing code examples which are clearly documented, with Revision History. 
              Applications and other code are exemplary models of well-engineered code that can be taken and easily  modified for alternative uses.
Obviously represents my own very personal POV. I do have (surprise) an alter ego, who insists that I add the following ;):
Code:
Beginner:     Wants someone on the list to write the whole application.
              Problem specification written in some language which only vaguely resembles the English of a drunken idiot.
Intermediate: Can't figure out why anyone on the list wouldn't want to write the application.
              Problem specification sounds like English, but doesn't quite make sense 
              (maybe that's why it would be neat to have someone else write the app)
Advanced:     Problem statement is generally succinct, with relevant excerpts of code to assist 
              the other poor souls on the list figure out what (s)he's trying to get at.
Expert:       Doesn't need problem statement, 
              Has already solved the problem, and many more like it.
Tony (Struggling towards Intermediate!)
 

gbil

Registered User.
Local time
Today, 12:38
Joined
Aug 30, 2013
Messages
26
Most application code is object oriented, with user defined classes capable of inheriting other classes.
User has established several utility libraries, and knows how to keep them as external files, using Tools|References to bring them in.
User is comfortable using split DB where one or other of the components is on a separate machine.
Comfortable using other DB engines than Jet. Code routinely has clearly defined transactions, including Commit and Rollback.
Application routinely includes user authentication (possibly from a different server).

If I may, I think I need to learn these things.
 

Galaxiom

Super Moderator
Staff member
Local time
Tomorrow, 06:38
Joined
Jan 20, 2009
Messages
12,849
One important phase to pass from Intermediate to Advanced is a few times around the cycle of realising that one is not intermediate at all but really still a beginner.

There are so many aspects to using Access and VBA that it is impossible to comprehend the extent of one's inexperience for quite a long time.
 

Charmagne

Registered User.
Local time
Today, 12:38
Joined
Aug 14, 2013
Messages
15
Anyone have recommendations on training classes in the Chicago area or resources were we could advanced through the levels?
 

NauticalGent

Ignore List Poster Boy
Local time
Today, 15:38
Joined
Apr 27, 2015
Messages
6,286
User has established several utility libraries, and knows how to keep them as external files, using Tools|References to bring them in.

I did not know this was even possible. Is there a reputable place (Website) that expounds upon this?
 

stevekos07

Registered User.
Local time
Today, 12:38
Joined
Jul 26, 2015
Messages
174
Re: How to go from Intermediate to Advanced

What a silence......!

At the risk of being flamed, let me offer some suggestions:
Code:
Beginner:     Uses (primarily) the built-in tools to create apps. 
              Little or no VBA; 
              Tables may or may not be normalized (Huh? What's that?)

Intermediate: Comfortable using form events. 
              Probably not using OO approach for the main part of the code.
              Tables generally normalized - most of them with an AutoNumber Primary Key. 
              Maybe secondary indices.  
              Little or no use of Office Automation; 
              DB is typically single DB - no splits. 
              Occasional use of Unbound forms. 
              Code is generally well commented, but not subject to rigorous management.

Advanced:     Tables routinely normalized, 
              Most application code is object oriented, with user defined classes capable of inheriting other classes. 
              User has established several utility libraries, and knows how to keep them as external files, using Tools|References to bring them in. 
              User is comfortable using split DB where one or other of the components is on a separate machine. 
              Comfortable using other DB engines than Jet. Code routinely has clearly defined transactions, including Commit and Rollback. 
              Application routinely includes user authentication (possibly from a different server).

Expert:       Good track record of helping others in clear, concise helpful language. 
              Provides just enough help to allow 'further research' on the part of the questioner to yield a solution. 
              Good track record of publishing code examples which are clearly documented, with Revision History. 
              Applications and other code are exemplary models of well-engineered code that can be taken and easily  modified for alternative uses.
Obviously represents my own very personal POV. I do have (surprise) an alter ego, who insists that I add the following ;):
Code:
Beginner:     Wants someone on the list to write the whole application.
              Problem specification written in some language which only vaguely resembles the English of a drunken idiot.
Intermediate: Can't figure out why anyone on the list wouldn't want to write the application.
              Problem specification sounds like English, but doesn't quite make sense 
              (maybe that's why it would be neat to have someone else write the app)
Advanced:     Problem statement is generally succinct, with relevant excerpts of code to assist 
              the other poor souls on the list figure out what (s)he's trying to get at.
Expert:       Doesn't need problem statement, 
              Has already solved the problem, and many more like it.
Tony (Struggling towards Intermediate!)

An advanced user is someone who has not just done a single day course by a commercial "training company" and issues an "Advanced Access Programmer" certificate to everyone in the class including those who finish the day still trying to work out how to use a mouse.
 

mjdemaris

Working on it...
Local time
Today, 12:38
Joined
Jul 9, 2015
Messages
424
@tfurnivall:
Wow, what a great definition of the various levels of abilities. I find my self in a mixture of the levels, definitely not Expert!
 

Lightwave

Ad astra
Local time
Today, 19:38
Joined
Sep 27, 2004
Messages
1,521
Likewise I think its an excellent description of the different levels.

I must say Galaxioms point from 2013 is excellent as well
 
Last edited:

mjdemaris

Working on it...
Local time
Today, 12:38
Joined
Jul 9, 2015
Messages
424
@Lightwave:
After starting my second major project, and now almost finished, I am still a beginner.
 

Acceesbility

Registered User.
Local time
Today, 12:38
Joined
Jan 4, 2017
Messages
32
Interesting post.
Access fascinates me. I manage enough for my small personal purpose of searching simple data, parts and part numbers etc.
Problem is I probably spend more time tweaking poorly constructed mdb's.
It's okay for myself but I wouldn't want to share it :eek:
I thought I'd give Access 2003 another try as that's the version I have.
I do wonder if that's wise considering the number of Versions since Access 2003 :confused:

Not sure that Beginner would be me, more kindergarten !

Thanks to those (and their patience) in the forum on this interesting site who have pointed me toward a structured resources in response to my forum posts.

:)
 

stevekos07

Registered User.
Local time
Today, 12:38
Joined
Jul 26, 2015
Messages
174
Great post! I have undertaken all sorts of training, and mostly I find that I have to work things out myself in the end. Class study is almost useless to develop real-world skills. Like anything else learning comes by practice, practice, practice! And there are some skills most of us will never develop because the learning curve to be able to do a particular task once is so huge that the cost/benefit ratio is off the scale to the negative.

I am just putting my toe in the water developing small databases for small businesses, while establishing a collaborative relationship with a well established professional company. For me this is the best of both worlds. I can call them in if a project I am scoping has aspects that I can't handle, and I can learn skills as I watch the experts deal with it, and they can offer me some work appropriate to my skills that they need help with.

Just my 2c.
 

mjdemaris

Working on it...
Local time
Today, 12:38
Joined
Jul 9, 2015
Messages
424
Steve, how did you go about establishing such a beneficial relationship with a professional company? I would like to do the same, but am unsure about who to approach and how.
 

stevekos07

Registered User.
Local time
Today, 12:38
Joined
Jul 26, 2015
Messages
174
Steve, how did you go about establishing such a beneficial relationship with a professional company? I would like to do the same, but am unsure about who to approach and how.

Sorry about the late reply. In my case, about 60% of my job is developing and maintaining a database for our operations. I built it from scratch as a rank novice, and built up my skills as I went. At a certain point it began to go from an accessory application for minor tasks to the backbone of our operations across several locations with a growing list of users.

At my suggestion to my employer, we engaged a company to review and assess the database for any structural problems or security issues, and make recommendations and adjustments as they saw fit.

As we were working through this process, I was happy that the overall assessment was that they were quite impressed with the quality of my work considering my novice level on commencing the build. After a discussion around how marketable my skillset would be in the marketplace, this has now led to the formation of an arrangement as described above.

I have yet to see this come to fruition from this company, but I have since taken the bold step of starting to make known to friends and family etc. that I am available to assist with database development projects. Having the in-principle arrangement in place with this company I am much more confident about stepping out in this way.

So far I have one completed project outside of my work under my belt, which I was paid a reasonable amount for, and I am looking forward to more work from referrals as the word gets out.

I think that one area of potential business is helping small businesses who are struggling with managing their business using spreadsheets, to convert to Access instead. This will mean taking on fairly basic projects that will deliver high productivity gains for the customer, and make me look better than what I am :rolleyes:.

My suggestion is to open up a dialog with a few professional companies around your area to explore such potential arrangements. My understanding is that many professional database developers would appreciate having someone they could utilize for intermittent assistance on large projects or to have someone available to refer small projects that they don't really want to take on.
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 14:38
Joined
Feb 28, 2001
Messages
27,001
I have found that the an excellent way to raise your skill level is to learn by examining how others do things. I am talking about really READING someone else's code; not to copy it by rote but to actually UNDERSTAND why it does what it does and why it works. In other words, START with someone else's solution to a problem and try to decide WHY something was done that way. Work backwards knowing that the code IS the solution to a problem.

The Northwind database and some of the databases and snippets available through the forum can give you insights on how to do certain tasks. Seeing how someone else approached the problem might eventually give you a new set of tools for your toolkit.
 

stevekos07

Registered User.
Local time
Today, 12:38
Joined
Jul 26, 2015
Messages
174
I have found that the an excellent way to raise your skill level is to learn by examining how others do things. I am talking about really READING someone else's code; not to copy it by rote but to actually UNDERSTAND why it does what it does and why it works. In other words, START with someone else's solution to a problem and try to decide WHY something was done that way. Work backwards knowing that the code IS the solution to a problem.

The Northwind database and some of the databases and snippets available through the forum can give you insights on how to do certain tasks. Seeing how someone else approached the problem might eventually give you a new set of tools for your toolkit.

I have found too that by downloading and working through the templates offered in the standard Access package is a great way to learn. I am still working through Northwind Traders, which is a treasure-trove of opportunity to learn. Also, there are various tutorials based on NWT online. One thing I do is to look at the database, work through the various tables, queries, forms etc. and see how they do what they do, learning the code and techniques as I go.

The world of data management is almost infinite in scope, and in a sense nobody is ever going to be an absolute expert in every aspect. That's why forums like this are so valuable!
 

Allard

New member
Local time
Today, 20:38
Joined
Sep 14, 2015
Messages
5
My two cents. I work with access daily, I earn my money with manipulating microsoft office :). What I have learned is that you will always be a beginner. The moment you think you are an expert, you are lost. I learn new things nearly everyday. And I love learning them. I always have an open mind on how people design and build things. I have never used a Class in my professional career. But that does not mean I do not know how they work or what they are. Because sometimes an app might come by with a class that needs some tweaking.
What I am trying to say, you will never stop learning if you do it right. There isn't so much right or wrong on a certain level. There are means to an end.
 

Uncle Gizmo

Nifty Access Guy
Staff member
Local time
Today, 19:38
Joined
Jul 9, 2003
Messages
16,245
I don't use classes in MS Access either. I have written only one by way of a hobby project to learn about them, which I find quite useful, however I made it over complicated. I have seen one or two classes by others which I thought wow that's useful! But I've never found a need to use them. In a way you are using class's all the time in MS Access. The main one being A Form itself, a class.
 

Users who are viewing this thread

Top Bottom