Multiple Checklist User Case Examples

Multiple Checklist User Case Examples

I have set this page up to record user case examples using the the Nifty Multiple Checklist System.

Demonstration of another product from Nifty Access… The Nifty Multiple Check-List System.

Create a Form with Many Check-Boxes

Create a Form with Many Check-Boxes

Image 1

Bettany recently asked a question on Access World Forums (AWF) “I’d like to create a form with several checkboxes” which boils down to:- How do I create Multiple Checklists in MS Access?

The essence of the question:-
I need a Form for tracking DAILY tasks. I need 27 check-boxes. 1 to 27 tasks can/could be checked.

Looking at the image provided, I could see that there were 9 distinct groups of questions which would lend themselves to taking advantage of the Nifty Multiple Checklist Solution.

Image 1

Nifty Multiple Checklist System

Image 2

This was the solution using the Nifty Multiple Checklist System.

Image 2

… …

Nifty Multiple Checklist Demo

Nifty Multiple Checklist Demo

Video 1 (4:33)

This video demonstrates the Nifty Access – Multiple Checklist System working. I've reproduced the Form in a "Nifty Access" styled Form for product branding purposes. However I do think the original video of the multiple checklist system working in a bog standard MS Access Form looks better!.

This video demonstrates the Nifty Access – Multiple Checklist System working. I've reproduced the Form in a "Nifty Access" styled Form for product branding purposes. However I do think the original video of the multiple checklist system working in a bog standard MS Access Form looks better!.

In the video I scan through ALL the code in the Nifty Multiple Checklist Form. You will be able to reconstruct the code for your project by watching the video.

As an Alternative – There's an in depth blog detailing the process of creating a Check List HERE:-

https://www.niftyaccess.com/add-a-check-list-to-your-ms-access-database/

Where I demonstrate how you can create your own checklist in MS Access.

Video 1 (4:33)

Nifty Access YouTube Thumb Nail
Play Video

… …

Object Oriented Approach to Multiple Checklist

Trouble adapting Uncle Gizmos Checklist Code

I responded to the above Thread Thus:-

MS Access SLOW!
I can see a problem developing if you try and load the all the sub-forms with a Record Source, it’s going to slow your application down. Even in the Mock-up I’ve got with very few records, I’m already noticing a slight delay in loading.

Load each Tab Control Page Individually

The solution is to only load the record source into the Subform/Subreport Control Forms, which are on the Selected Tab Control Page. The trouble is, you’ve got lots of tab pages and subforms. To write the code to address each Tab Control Page individually would be a complete nightmare, even if you kept your code simple so that you could just cut and paste and make one or two minor changes.

Aspire to Object Oriented Methods

It’s exactly through being forced to do this many times that you start to notice other people’s methods, object oriented methods that use a lot less code to address the issue. You see a more advanced method which you aspire to, and if you take it on, you level up your VBA coding skills.

Why readdress this Now?

The reason I am readdressing your problem now is I just came across a piece of code (I’ve had for a long time) originally from MarkK here:- 

Tabs Not Cooperating

Change the Way you Think About VBA

The interesting part of MarkK’s VBA Code is the Property that captures the Tab Control Page Name. To write this code you need to change the way you think about the problem. The laborious method, the procedural method, writing Code to access each individual Tab Control Page individually, well, as I said, it’s a right pain, although It does provide one advantage, you can see exactly what you are doing. This is why when you first start to develop something the procedural method is actually the best approach.

Get the procedural Code Working

The procedural way of coding provides a useful specification. Get the procedural Code working on one or two Tab Control Pages and with one or two sub-forms. This exercise his will point the way to applying the object-oriented approach.

The Steps – (First Draft)

You need the name of the Tab Control Page selected on the Tab Control

First Question
What is the selected Tab Control Page name?

Second Question
Which Subforms are on this Tab Control Page?

The parent of an Object on a Tab Control Page is the actual page, but how does this help you? You can’t write code to say I have this page, this page is open, tell me what controls are on it, that doesn’t work. You need to take a different approach. Each Subform/Subreport Control will know which Tab Control Page it’s on because that Tab Control Page is its parent. Therefore can ask the Subform/Subreport Control WHAT IS YOU PARENT’S NAME?

Third Question
What is your parent?

I suggest you add a Command Button to the form and add some code similar to this and you will see what I mean:-

				
					Private Sub Command40_Click()
        MsgBox " >>> " & subFrmWinSfrmData_06.Parent.Name
End Sub
				
			

Using the above code snippet, develop a For Each Statement to examine every single subform on your Form. Ask Each subform what Tab Control Page are you on?

If the Subform/Subreport Control is on the page that you have selected then you can update that Subform/Subreport Controls FORMS Record Source.

… …

More Useful Stuff HERE:-

This website uses third-party software - WordPress Add-Ins to be exact. I don't know what any individual add-in does, but I'm sure that many of them collect information about you. So be aware, if you continue using this site, then you are likely to be sharing your information. I don't know how to disable this sharing for any, or all of the plugins for individual users. So I can't stop the sharing of information. If this worries you then please do not use this site... If you continue to use this site I will assume that you are happy with it.

Do you need a hand in the right direction?

You are in the right place.