Single table across multiple tabs on a form

Zydeceltico

Registered User.
Local time
Today, 11:08
Joined
Dec 5, 2017
Messages
843
Hi all,

I have a table that has a large number of fields and growing as my supervisor requests more and more fields.

I am wondering if it is possible to create a Main Form that will accept general data (maybe 5 fields) and then have a subform with 4 or 5 tabs within that main form that all record various portions of a given record.

Is this possible?

Thanks,

Tim
 
This is not a typical request. Having to add more fields to a table suggests a design issue.
You would normally add records to a table, NOT fields to table design.

Can you provide more info re your table and the rationale for additional fields?
 
It sounds like a bad design database, (like a spreadsheet).
Google "normalization" and read up on that.
 
The db is still in the design phase. We are simply continuing to realize more and more pieces of unique data that we wish to collect via the multiple and unique-to-process Quality Control Inspection processes.


We roll coil steel in long sheets in a variety of profiles on several different and unique rolling mills. Each product has a unique part number. Sometimes we sell these single sheets (products) as-is. Other times we take two different kinds of sheets and weld one on top of the other to make a third product (new unique part number as well as a second type of quality inspection related more to assembly than manufacturing which is simply rolling steel and has completely different QC criteria).

Then - sometimes - we sell those assembled parts as-is OR we may add doors to them - yet another Part Number and yet another set of QC criteria.

We sell all product to Jobs (JobNumber) and it is very tempting to relate everything to JobNumber but I don't think it is appropriate. It's just a gut level impulse at this point.

A given Job (JobNumber) will be broken down (phased) over multiple tasks and resources that include a variety of conditions that the QC department has nothing to do with.

Also, as we are QC-ing product as it is being manufactured we will make many, many records of custom and unique pieces that fall within any given job.

For every QC-inspection instance - regardless of which production activity is taking place (e.g., rolling, assembling, welding, fabricating) we will be recording JobNumber, Task, Resource, Date, Shift. It is critical to remember though that not all products go through all processes.

I am open to any and all insight and suggestion.

Thanks,

Tim
 
It is not necessary to use subforms in order to distribute fields of one table to multiple pages of Tab control.

I consider manufacturing/assembly db one of most difficult to design and QC inspection just compounds the effort. Search forum to find many threads on topic.

Closest I've come to that is a construction materials laboratory sample testing db.
 
Last edited:
Having to add fields to a table is not a viable solution.

Search for Entity-Attribute-Value data model. In this construct, both the attribute (your QC criteria) and their values are stored as data. They are displayed in a subform.

Then have a look at the example in post 3 of this thread for a technique that could be adapted to make the right attribute entries automatically appear for a particular product type.
 
Tim,

Collect and revise your requirements. Identify your "business processes/facts".
Build a data model(pencil and paper) and test it with sample data and scenarios --revise and repeat. Once you have an agreed to design, it can serve as a blueprint when build your physical database.
Avoid jumping too quickly into physical design.
You may find info at this link on Database Planning and Design helpful.

Good luck.
 
Search for Entity-Attribute-Value data model. In this construct, both the attribute (your QC criteria) and their values are stored as data. They are displayed in a subform.

Then have a look at the example in post 3 of this thread for a technique that could be adapted to make the right attribute entries automatically appear for a particular product type.

I haven't finished reading yet - but yes - this very much looks to be the pertinent model rather than traditional relational model. Thank you. That's what I meant by "it is tempting to use JobNumber/Task/Resource as a PK" but it doesn't work over the course of the many different potential conditions.

And - yes - if I attempted a relational model I would end up with thousands of Null values - quickly.

As far as the "paper and pencil design" process goes - firstly - total respect. Yes - I know this. I am actually one of the QC inspectors for this company. We have a long standing (decades old) process of collecting "data." So the general process is well-known - it is just useless on paper. My biggest boondoggle was thinking that this db should take a traditional relational approach.

As I work through the design I'll try to update this post in case anybody is interested.

Thank you all very much for the direction!

Tim
 
OK. Here's some food for thought and I suspect it does still point towards an EAV model.

We have an ERP system for process management. I just spoke with our General Manager (who has blessed our QC effort) and asked him what he would like to be able to do with our QC db.

He wants (and he is correct too) to be able to call up a QC report based on what we call Job/Task/Resource (JTR). This looks like: A626707001. The "A" is a prefix with little to no meaning. Actually it does have a meaning. We'll get to that in a minute.

This almost looks like a primary key to relate all manufacturing activity by - - but it is misleading.

The next four numbers (6267) are the literal Job Number. The number assigned by Sales when a job is sold and put on the books. This where it gets interesting.

The next three numbers are the "Task." "070" in this case but it could be "100" or on a huge job "999" theoretically. However it is never 001 - 009. It is always at least 010. This is a string identifier by the way - just to be clear. The last two numbers ("01" in the above example) are the "Resource."

Task and Resource are determined by our Detailing/Engineering department. Both refer to spheres of activity related to project sequencing - but both - and especially Resource - are not specifically defined. Task very much refers to a stage of production sequencing. That said, Tasks are not necessarily accomplished in sequential order.

Our decking is used primarily (98% of the time) for commercial roofing. It's innovative in that when two sheets are welded together top and bottom the roof decking instantly becomes the ceiling for the area below.

All that said, Detailing will look at a plan view drawing of an arena or some such structure, talk to the end customer, and decide how to break the job up per the customers intended installation timeline. This typically defines "Task" but even that is not carved in stone. 99.9% of the time it is though.

Resource is where the idea of designing the db around JTR falls apart I suspect. A resource may contain multiple types of deck which require different types of QC inspections. For example, in a single Task, all deck will be welded requiring a welding inspection. A few of those deck pieces may have doors doors installed in them (fabrication inspection). Some but not all of it MAY have acoustic insulation or air dams installed inside of them (assembly inspection). Some of it may be galvanized and some of it may be painted (coating inspection).

In other words, within the JTR number, all of the above processes/inspections may happen - or not. Welding will always happen - but none of the other types of inspection are a given.

And I shouldn't say welding will "always" happen because we ship quite a lot of deck that is simply roof support - a single unwelded/fabricated deck - which is an entirely different inspection (mill inspection) at the rolling mill but is still called out by JTR. In fact, mill/piece inspection happens for 100% of all JTR. But some JTR will have a one series of mill inspection (simple decking) and some will have two occurrences of mill inspection (welded decking).

Then there is a dunnage/freight inspection. Give a specific profile of decking this will be 100% specific for the JTR.

Within each of the above processes, there is consistent inspection criteria. In other words, all criteria for welding inspection are a known and constant. Same with Fabricating and the others.

To reiterate, our General Manager wishes to call up a report on any JTR and view what QC inspections have been made.

Now I am going to "think out loud" and type at the same time - so don't flame me. :-) This is the "Socratic Method" for me. (In other words I have no idea what I am talking about - lol). All I can think this means is that I will have a table called "tblEvents" that has an autonumber PK and a field called "JTR" that accepts the JTR (A626707001 for example). frmEvents would also include Time, Date, Inspected By fields as well as a couple other general identifiers. I will have a table each for "Mill," "Welding," "Fabrication," "Assembly," "Coating," and "Shipping."

Visually, we would have a main form (frmEvents) based on tblEvents. I would create an inspection form for each of tblMill, tblWelding, etc. Each of those forms would reside in a tabbed form embedded in frmEvents.

Keep in mind that I admit I don't know that this is a good design - I just want to share the only thing I personally can conceive of and hope someone has a better idea.

When we do our inspections on any one of multiple workstations producing various products concurrently - and usually for different and unrelated JTRs - we will first enter the JTR in a main form and then select the tab for the appropriate inspection process (welding, mill, coating, etc.) and fill in the data for that particular inspection. It is important to note that we do multiple inspections over time. For instance, we may start rolling steel for a given JTR at noon and do a first piece inspection. Production may continue for a couple of days on that specific JTR process. We will do spot inspections many times - which will mean that each inspection will become a new record in tblEvents resulting in many, many records with the same value in JTR.

Also - and this is really nutty - in the case of decking that goes through ALL of the above-mentioned production processes - the JTR always stays the same. So there will be even more records in tblEvents with identical values for JTR.

The general manager wants to run undefined as yet reports on inspections by JTR. More than likely, he will want see frequency and type of incidence of non conformance for the entire JTR for the most part as well as any related notes.

I'm sure there are more details but that is the general concept.

I am of course so curious what you all think?

:-)

Thanks,

Tim

ps. I forgot about the "A" at the beginning of the JTR. That is an indexing number that will change to "B" when the company sells one more job than 9999.
 
Last edited:
So maybe I create a tblJTR and a tblEvents and enter the value for JTR once in tblJTR and call it to tblEvents for any given inspection?
 
Here is a link to information/articles on Database Planning and Design.
You should review the RDBMSPrinciples (pdf in the link).
Fields should be atomic
An atomic value is one that is indivisible within the context of a database field definition (e.g. integer, real, code of some sort etc.) Field values that are not atomic are of two undesirable types :

Undesirable - non atomic field types:

Composite

Multivalued

Composite fields are those that can be broken down within the database context. Examples include; a full name (a composite of forename and surname), Address (a composite of road, town country etc,), and BP (a composite of two integers).

Composite fields are 'fixed' (or “structured” if you want to use the more correct term), by breaking them up into a sensible number of fields. For example the 'full name' field above might be split into a sensible number of fields (depending upon the country).


I highly recommend the tutorials from RogersAccesLibrary mentioned in the link provided. Work through 1 or of the tutorials to understand the data modeling process. You have to make sure your model supports your business requirements.

The "knowledgeNuggets", also mentioned in the link, will help you understand the analysis process leading to detailed requirements and techniques to gather information.

Good luck with your project --do not be too quick to jump into physical database.
 

Users who are viewing this thread

Back
Top Bottom