Decision Tree
By Richard Rost
3 years ago
Access Decision Tree Database Part 1: Introduction
In this series of Microsoft Access tutorials, we are going to build a decision tree database that can be used for troubleshooting, logical decision-making, questionnaires, tech support, game development, and lots more. We will look at the uses for a decision tree, and over the next couple of videos, we're going to actually build the decision tree database with an editor and a separate set of forms for the user.
Members
There is no extended cut, but here is the database download (my prototype database):
Silver Members and up get access to view Extended Cut videos, when available. Gold Members can download the files from class plus get access to the Code Vault. If you're not a member, Join Today!
Prerequisites
Uses
- Troubleshooting
- Logical Decision Making
- Questionnaires & Surveys
- Knowledgebase
- Tech Support
- Diagnosis Assistance
- Risk Assessment
- Learning Paths
- Game Development
Keywords
access 2016, access 2019, access 2021, access 365, microsoft access, ms access, ms access tutorial, #msaccess, #microsoftaccess, #help, #howto, #tutorial, #learn, #lesson, #training, #database, building a decision tree, decision tree database, troubleshooting, logical decision-making, questionnaires, tech support, game development, decision tree editor, user forms, Flowchart, Classification Trees, Regression Trees, CART, Endless Quest, Choose Your Own Adventure, Troubleshooting, Logical Decision Making, Questionnaires & Surveys, Knowledgebase, Diagnosis Assistance, Risk assessment, Learning Paths
Subscribe to Decision Tree
Get notifications when this page is updated
Intro In this video, we will talk about decision trees in Microsoft Access, including what they are, common uses for them, and how they work. I will show you several real-world examples such as PC troubleshooting, game adventures, and course learning paths, and walk you through a sample decision tree database I created. We will also discuss important concepts and prerequisites you'll need for the upcoming videos in this series. This is part 1.Transcript Welcome to another TechHelp video brought to you by AccessLearningZone.com. I'm your instructor, Richard Rost.
Today we're going to learn about decision trees: what they are, what they're used for, and how to build them. Now, today is part one - the introduction. We're going to talk about decision trees. I'm going to walk you through a decision tree database that I built and, over the next couple of videos, we're going to actually build a decision tree database.
So, what's a decision tree? Well, it's something like this. I'm sure you've seen tons of these before. They're kind of like flowcharts, although they really don't go backwards upon themselves. They don't go back up to other stuff. It's just: if this, then that; if this, then that. You make a series of decisions and you end up with a resolution.
For example: are we going to play ball today? Well, what's the weather look like? If it's sunny, overcast, or rain - if it's sunny, is the humidity too high? That's a problem down here in Florida. We're going to cancel the game if the humidity is too high. Low humidity - play ball. If it's just overcast, play ball. Is it raining? Well, how windy is it? Real high winds - cancel the game, because you can't hit the ball over the fence if it's too windy, unless the wind's at your back. Low winds - play ball, and so on. It's a basic, simple decision tree.
This is one of my favorite decision trees - does it move? If yes, should it move? If yes, no problem. If no, get duct tape. Does it move? No. Should it move? Yes - get WD-40. No - no problem again. Simple decision tree.
Lots of different things in life can be broken down with a basic decision tree. I actually asked ChatGPT, which can now generate images, to put together some simple decision trees. It's not bad, it's just a little weird. It's still working on the text. I wouldn't use these for anything serious, but it gives you an idea of what some decision trees look like.
What are some different kinds of uses for decision trees? Troubleshooting PC problems. For example, does the computer start? Is it plugged in? Is it in a power strip? Is the power strip on? Those kinds of things, where you can ask a series of questions to try to drill down to what the problem is. For Access issues, a troubleshooter for example: have you tried compact and repair - yes or no? Car problems: does the car start? Is the battery connected? That kind of stuff. Is there gas in the car? Logical decision-making, legal strategies, where to go for dinner - do you want Chinese? Okay. You want sit-down Chinese or takeout Chinese? That kind of stuff.
Questionnaires and surveys - if you want to get, you know, if it's multiple-choice questions. A knowledge base - you can use them to store knowledge base information. Medical diagnoses: what are your symptoms? Does it hurt when you lift your arm? Well, stop lifting your arm like that. Risk assessment for insurance companies - do you skydive? Do you skydive with a parachute or without? That kind of stuff.
Learning paths - I often thought of building a learning path decision tree for my Access courses because I get a lot of people that know some Access, so they're not exactly sure where to start in the course. Even though I tell everybody, you should start from the beginning, a lot of people don't want to take the beginner lessons because they don't think they need that stuff, even though my beginner lessons have a lot of good fundamentals slipped in them. With a learning path, you could ask the student a bunch of questions and, based on their answers, figure out where they should jump in. Do you know how to build a table? Yes? Okay. Do you know how to build a query? Yes? Okay. Do you know action queries? Yes or no? Okay, then you should go here. You know relationships? Yes or no? Then you should go here. That kind of stuff. So you can drill down to figure out where in a course they can jump in.
And, of course, my favorite: game development. You guys familiar with the old Choose Your Own Adventure books from back in the 80s? The Endless Quest books, TSR used to put out where you read a little bit and it's like, what do you do? Do you attack the goblins or do you run away? That kind of stuff can be formatted in a decision tree.
I'm going to show you some different examples of a few of these things. So, here's a basic decision tree database that I built. I made a little prototype before I started recording the videos for you guys, just to give you an idea of what we're going to be doing. So, we've got three different decision trees that I have in here: a PC troubleshooting tree, a dungeon crawl adventure, and then Access database help. Let's take a look at the PC troubleshooting.
So, the user would double-click on it. It opens it up: "Welcome to Rick's PC Troubleshooting Decision Tree." Let's start with the basics: does the PC turn on? Maybe, not sure, no, or yes. Let's say no, the PC doesn't turn on. So, the user picks this one, double-clicks it, and goes to the next node in the decision tree.
Your PC doesn't turn on - that's not good. Is it plugged in? If they say no, it's not plugged in, well, there you go - plug that sucker in. Or you can go back - yes, it is plugged in. Okay, is it plugged into a power strip? No, it's plugged directly into the wall, or yes, it's in a power strip. Is the power strip switched on? Believe it or not, when I used to do PC service and repair back in the 90s, I have had clients that called me and insisted a technician come out because the computer wouldn't turn on, and it turned out to be a power strip under the desk that got flipped off somehow. So, believe it or not, this is a valid troubleshooting decision tree.
Check the power strip. Well, it's not switched on. There you go - flip that switch. Or, if you go back to "is it plugged in," and it is plugged in directly to the wall, unplug something else like a lamp into the wall socket. Does the lamp work? And then you can continue. I stopped here when I was putting in some sample stuff, but you get the point. Eventually, you can drill down to what the problem is.
You can do the same thing with an Access database help or a dungeon crawl adventure. Something like this: "Welcome to Rick's Dungeon Crawl. Please select the character class you want to be: cleric, fighter, thief, or wizard." I'll be a fighter.
Greetings, mighty warrior. You take your trusty sword and head into the dungeon. After walking about 20 feet, you see a group of three goblins sitting at a table. What do you do? Ask to join their game, attack with your sword, quietly try to sneak past them, or run away? You pick which one you want and then the game continues. Or, if you quietly try to sneak past them and you're a fighter with armor and all that, you're going to be quite noisy - that's probably going to end up badly. But if you pick the thief character, and try to quietly sneak past, you might have a better chance. Now this part of the decision tree might work out for you.
You can see how these decision trees are great both for business and for entertainment. You can use them for all kinds of different stuff. Now, in addition to the user interface here where they go through and select things, we're also going to build an editor for you so you can go through and set up the different options. Which one of these do you want? I'll be the wizard. Double-click on this, it opens up the wizard. I'll go back up to dungeon crawl - goes back up to there. If you want to edit the other one, the PC troubleshooting one, open the editor. There you go.
Does it start? Yeah, it turns on. Does Windows boot? Yeah, Windows boots or does not boot. That kind of stuff. You can go through and set up all the different nodes in your database, and then the viewer, the user, can walk through them. We'll do two different interfaces.
This is what we're going to be building over the next couple of videos. Most of it is going to be free stuff. There will be a couple of little tricks for the members thrown into extended cuts, but most of this is going to be for the free videos.
Now, before we get started, I have a bunch of prerequisites for you. If you haven't watched any of the following videos, go watch these first so you're not lost when we start building the decision tree. This will be a developer video. A lot of the beginning stuff, though - building this interface - we're not going to need programming until we start getting down to the part where we actually start moving through the different nodes, the different parts of the decision tree, but the setup is going to be mostly just regular Access type stuff.
So, you definitely want to be good with relationships - relationships between tables, and more specifically, make sure you understand what a self-join relationship is. Self-join: that's where a table relates to itself. Because these different nodes in the decision tree, right, these individual nodes, are all going to be members of the same table - it's going to be a self-join relationship. In this video, I talk about self-join relationships. We do genealogy tracking because people are all the same thing. It's the same type of unit - a person. So a person's mother and father are just links to other records in the person table. Genealogy is the perfect example of a self-join relationship.
Make sure you understand how to build relational combo boxes. That's where you pick a value from a list from another table. We're going to be working with subforms. Make sure you know how to build continuous forms. Make sure you understand what null values are and how to use the IsNull function. You should understand string concatenation. Make sure you know how to requery records. I told you there would be a few prerequisites.
All right, it's going to be a developer-level series, so by the third lesson - I'm guessing third or maybe fourth - we're going to need some VBA. If you don't know VBA, if you've never done any VBA programming before, go watch this before we get to lesson three, I think two or three. This will teach you everything you need to know in about 20 minutes to get started.
You should know how to open a form to a specific record. Be comfortable writing If Then statements. You should know what variables are. You should know how to use the On Double Click event to do some stuff. Finally, if you have not watched my SQL with Access video, go watch this too. You should understand the basics of a SELECT statement in Access.
These are all free videos. They're all on my website and my YouTube channel. I have links down below you can click on. If you're not sure how to do any of this stuff I just mentioned, go watch those videos first because tomorrow we're going to start building the decision tree.
So come on back tomorrow, check my channel, check my website - there's the link right there - and tomorrow we're going to start building this thing. We're going to start off with the tables and then we're going to get into the user interface and all that good stuff as we go on.
Gold Members, if you want to download my prototype database that I built - sometimes I build a prototype database before recording the videos, just to make sure everything's going to work the way I want it to work - this will be the download for today's video. If you want to download this and play with it and check it out before we actually get to working on building the thing, you can do that.
For the rest of you, I'll see you here tomorrow for part two. That's going to be your TechHelp video for today. I hope you learned something. Live long and prosper, my friends. I'll see you next time.Quiz Q1. What is a decision tree primarily used for? A. Making a series of decisions to reach a specific outcome B. Storing large amounts of numerical data C. Generating random numbers D. Editing videos for online tutorials
Q2. How are decision trees typically structured? A. Like flowcharts without loops or going backward B. As circular feedback loops C. As unrelated individual questions D. As tables of numbers
Q3. Which of the following is NOT a practical use for decision trees mentioned in the video? A. Troubleshooting PC problems B. Storing broadcast schedules C. Creating learning paths for courses D. Medical diagnoses
Q4. In the "PC troubleshooting" decision tree example, which is the first question the user is asked? A. Is the power strip switched on? B. Is the PC plugged in? C. Does the PC turn on? D. Does the lamp work?
Q5. What happens at each step or "node" in a decision tree? A. The user makes a choice that determines the next step B. The program displays a random answer C. The previous answer is erased D. The tree restarts from the beginning
Q6. What type of relationship between tables is important for building a decision tree database? A. Self-join relationship B. One-to-many relationship with external databases C. Circular reference D. Non-relational connection
Q7. Which of the following Access concepts is NOT recommended as a prerequisite before building a decision tree database? A. Using IsNull function B. Understanding continuous forms C. Creating web-based JavaScript applications D. Knowing how to write If Then statements
Q8. Why is a self-join relationship necessary for a decision tree's table? A. Each node (record) may point to other nodes within the same table B. To allow tables to connect to unrelated databases C. So that Access can create new tables automatically D. To combine unrelated databases together
Q9. What game-related example was given as a fun use for decision trees? A. Chess tournaments B. Choose Your Own Adventure style games C. 3D graphics rendering D. Arcade scoreboards
Q10. According to the video, what will you need to understand by the third or fourth lesson in the video series? A. Basic VBA programming B. C++ algorithms C. Building Microsoft Excel macros D. Network administration
Q11. Which Access skill is helpful for moving through different records or steps in a decision tree? A. Opening a form to a specific record B. Formatting reports for printing C. Exporting data to Excel D. Running mail merges
Q12. Which of the following describes what a "node" is in a decision tree context? A. An individual step, question, or situation within the decision process B. A summary report of the entire tree C. The software license file D. The background image for the form
Q13. What is the benefit of having an editor interface for the decision tree database? A. To allow users to modify or create new nodes and options easily B. To print the database structure C. To run security checks on the Access file D. To integrate with online payment systems
Q14. Why are relational combo boxes useful in a decision tree database? A. They allow selection of linked records from another table B. They create automatic PowerPoint presentations C. They generate PDF documentation D. They enable animated graphics in forms
Q15. The presenter recommends understanding what concept for handling empty fields in your database? A. Null values and the IsNull function B. Currency conversion C. Encryption keys D. Sorting dates chronologically
Answers: 1-A; 2-A; 3-B; 4-C; 5-A; 6-A; 7-C; 8-A; 9-B; 10-A; 11-A; 12-A; 13-A; 14-A; 15-A
DISCLAIMER: Quiz questions are AI generated. If you find any that are wrong, don't make sense, or aren't related to the video topic at hand, then please post a comment and let me know. Thanks.Summary Today's TechHelp tutorial from Access Learning Zone focuses on decision trees in Microsoft Access. In this introductory lesson, I will explain what decision trees are, discuss their various applications, and walk you through a sample decision tree database that I created as a prototype. In upcoming lessons, we will build a complete decision tree database together, but today serves as the foundation for understanding the concept.
A decision tree is a tool that helps break down decision-making processes into a series of simple questions, each leading to further questions or a conclusion. You have likely seen flowcharts, which are similar, but decision trees typically do not loop back. You keep making choices at each step until you reach a final answer or solution.
Let me give you a few examples. Imagine deciding whether or not you are going to play baseball today. You might start by asking about the weather. If it is sunny, you might need to consider the humidity; if it is too high, you cancel the game, but if it is low, you play. If the weather is overcast, you might just go ahead with the game. Rain leads to another question about wind conditions, which then helps you make your final decision. This structure is at the heart of what makes decision trees practical and easy to follow.
Another classic example is the "does it move?" decision tree, which humorously ends up suggesting either duct tape or WD-40 depending on the situation. If something moves when it should not, tape it; if it does not move when it should, spray it with WD-40. Otherwise, you have no problem. This approach demonstrates just how many everyday problems can be broken into simple, logical steps that guide you to a resolution.
Decision trees have a huge range of applications. For example, you can use them for PC troubleshooting. You start by asking if the computer powers on, then proceed through questions about the power supply, the outlet, and so on, until you pinpoint the issue. Access database help can be handled the same way, asking questions like whether the user has tried compact and repair. Car troubleshooting is very similar. Decision trees are also useful for logical problem solving, legal strategies, planning where to eat, handling questionnaires and surveys, organizing knowledge bases, helping with medical diagnoses, and performing risk assessments in fields like insurance.
In education, learning paths can be structured using decision trees. For my Access courses, I have considered using a decision tree to help students figure out where to begin. Some students have prior experience, while others are just starting, so the tree would ask a series of questions—do you know how to build a table or a query, etc.—and suggest the appropriate starting point in the curriculum based on their answers.
Another enjoyable use is game development, especially in the style of old "Choose Your Own Adventure" books, where readers make choices that lead to different outcomes. You can use a decision tree structure to let users choose their actions and let the scenario play out accordingly.
In the sample decision tree database that I prepared, I have included three sample trees: one for PC troubleshooting, one for a dungeon crawl adventure, and one for Access database help. For example, in the PC troubleshooting tree, the user begins by answering whether the computer turns on. Each answer leads to a follow-up question or suggestion. If the computer does not turn on, is it plugged in? If not, the solution is obvious. If it is, then is it plugged into a power strip, and is the strip switched on? Believe it or not, many real-life service calls turn out to be as simple as flipping on a power strip.
The same format works for game scenarios, such as a dungeon crawl. Here, the user chooses a character class and makes decisions that determine the outcome of their adventure. Each character might have different results or possibilities in the same situation, based on their abilities.
The beauty of decision trees is their flexibility. Whether you are building business tools or games, they adapt to many situations. In addition to letting users interact with the tree, I will also show you how to build an editor tool, so you can set up and manage different options as an administrator.
Over the next few videos, we will develop both the user-facing interface and the administrative editor. Most of the content will be available for free. There will also be a few advanced techniques reserved for members in the extended cuts, although the core will be accessible to everyone.
Before we move forward, it is important that you have a solid foundation in some key Access concepts. You should be comfortable with relationships between tables, especially self-join relationships, where a table relates to itself. I highly recommend reviewing my previous videos on self-joins, which are similar to genealogies in Access where one person's father or mother is another record in the same table.
You also need to know how to create relational combo boxes, work with subforms, design continuous forms, handle null values with the IsNull function, concatenate strings, and use the Requery command. If any of these topics are unfamiliar, please pause and review the related lessons before returning to these decision tree tutorials.
As we get further into the series, by the third or fourth lesson, we will start incorporating VBA code. If you are new to VBA or have not written code in Access before, I strongly suggest watching my VBA introductory video, which will give you everything you need to get started. You should also know how to open forms to specific records, write If Then statements, use variables, and respond to events like On Double Click. Understanding the basics of SQL SELECT statements is also essential.
All of the prerequisite videos are free and available on my website and YouTube. I have provided links so you can refer to any material you need.
Tomorrow, we will start building our decision tree database. We will begin by setting up the tables and then move on to the user interface and other features in later lessons. If you want to get a head start, Gold Members can download my prototype database and experiment with it.
For now, that wraps up today's TechHelp lesson. Remember, you can find a complete step-by-step video tutorial covering everything discussed here on my website at the link below.
Live long and prosper, my friends.Topic List Introduction to decision trees
How decision trees differ from flowcharts
Real-life examples of decision trees
Troubleshooting PC problems with decision trees
Using decision trees for Access database support
Decision trees for game development and adventures
Creating learning paths with decision trees
Using decision trees for questionnaires and surveys
Designing medical diagnosis decision trees
Risk assessment with decision trees
Explanation and walkthrough of a sample decision tree database
Navigating nodes in a decision tree database
Viewing and selecting decision tree options as a user
Editing nodes in a decision tree database
Overview of decision tree editor interface
Self-join relationships in Access tables for decision trees
Genealogy example for self-join relationships in Access
Using continuous forms and subforms for node management
Setting up relational combo boxes in Access
Handling null values and the IsNull function in Access
String concatenation in Access decision tree nodes
Requerying records in Access forms
Opening a form to a specific record in Access
Using the On Double Click event in Access decision trees
|