Many checklists to be created

Hi all.
I am creating an app for machine preventive maintenace with many machines and many checklists. Any checklists can be used with many machines. Hence, I add a column pm_no in machine table.
In any days, staffs need to select machine to complete PM checklist daily. So, I created table for any pm_list. So, I have so many tables for pm_list because they have different lists. The problem is, whenever I select machine. How can I see specific table for pm_list.
If you have better way to solve my problem. Please recommend.

Could you explain what you expect the user to do in the app and the expect results step by step?

  1. Create PM checklist for use with any machines. Many to one for checklists and machines.
  2. Any days, user will choose specific machine to complete PM as in checklist and record them in data.

Your current approach of creating a separate table for each checklist (pm_list) is the main source of your problem. It’s not scalable and makes linking machines to the correct checklist extremely difficult.

I imagine a structure of:

1. Machines Table

RowID Machine Name Location Serial Number
M001 CNC Mill Alpha Shop Floor A SN-CMA-1001
M002 Laser Cutter Beta Shop Floor B SN-LCB-2001
M003 Packing Robot Gamma Warehouse SN-PRG-3001
M004 CNC Mill Delta Shop Floor A SN-CMD-1002
M005 Hydraulic Press Stamping Area SN-HP-4001

2. Checklist Items Table

RowID Task Description Frequency Suggestion Assigned Machine IDs (Comma-Delimited Text) Notes
CI001 Check main power switch Daily M001,M002,M003,M004,M005 Ensure it operates smoothly
CI002 Inspect cutting tool Daily M001,M004 Check for wear or damage
CI003 Check coolant/lubricant level Daily M001,M004 Top up if needed
CI004 Clean laser lens Weekly M002 Use approved cleaner
CI005 Verify safety guards Daily M001,M002,M003,M004,M005 Ensure they are secure
CI006 Check suction cups Weekly M003 Check for wear/cracks
CI007 Test emergency stop button Monthly M001,M002,M003,M004,M005 Verify immediate stop
CI008 Check hydraulic fluid level Weekly M005 Check sight glass
CI009 Inspect drive belts Monthly M001,M004,M005 Check tension and wear
CI010 Clean debris from work area Daily M001,M002,M004,M005

Then, you can create a split text column of machine IDs in Checklist Items, and create a multiple relation from the Machines table, using Machines’ rowID linking to the split text column above, make it a multiple match.

When the user goes to the details view of a machine and try to submit a form, you should have a field in the “Checklist Submissions” table that store all checklist items that have been checked.

In the form, add a radio buttons style choice component pointing to “Checklist Submissions”, allow multiple choices and reference the relation as its data. It would look like this.

1 Like

Thanks Thinh for your response. I created another table name “Checklist Submissions” already to collect any daily check. But It works just to display any checklists which related to machines. And some checklist need to record data, e.g., value of speed, temperature, etc. Not only check box.

If you need that level of customization, maybe different forms is the right way to do it. I don’t have further thoughts on this, trying an AI component on it might be too complicated.