As I suspected it looks like you plan to have a table for every type of components! Is it so? When yes, then you are on path to complications in future!
At start a bit about terminology I'll use - so no misunderstanding happens.
Article/Part - describes a set of objects with some similar properties;
Article/Part ID - a numeric identificator od Article/Part in your database. Often an autonumeric field. Is used as primary Key in Articles/Parts table;
Article/Part number - an identificator of Article/Part in technical or ERP information system. Usually a textnumeric field. Preferably you define an unique index on this field in Articles/Parts table;
Item - a specific member of Article/Part set. When there is a need to identify items, then they are identified by serial number, which are unique for given Article/Part. when all Articles/Parts always have serial numbers, then you preferably define an unique index on Article ID and Serial number in Items table;
Serial Number - defines a specific Article/Part in specific set of Article/Part.
So you need tables:
tblArticles: ArticleID, ArticleNo, ArticleName, ...;
tblItems: ItemID, ArticleID, SerialNumber, ...
As I understood, you want numeric serial numbers for items, where the number is growing by 1 for every added item having same ArticleID. For this, you design 2 forms.
fArticles will be a single form, where you can select specific article. In this form, you have text boxes txtArticleID (invisible), txtArticleNo, txtArticleName, ... . also you can have an ubound combo box to select an existing article from tArticles, and an OnChange event for this combo to find the selected article and activate it in form;
fItems will be a continuous form with fields txtItemID (invisible), txtArticleID (invisible), txtSerialNumber (locked), ...;
Now you open fArticles in Edit mode, and drag fItems into it. A subform fItems is created and automatically linked with fArticles (it's best to rename the subform, p.e. as sfItems, to avoid some confusion further).
Next step is to write Current event for fItems. The event must check, is the current record a new one, and when yes, then calculate a new serial number for item and write it into txtSerialNumber (NB! Into textbox control, not into table field directly!).
To calculate a new serial number in fItems Current event, you use either
1. DMAX() function to calculate the biggest existing serial number for given Article in tItems and add 1 to it;
2. A query like (the syntax on fly - not tested)
Code:
SELECT TOP 1 SerialNumber +1 AS SerialNumber FROM tItems WHERE ItemID = Me.txtItemID ORDER BY SerialNumber DESC
Now when you open the form fArticles, in subform all items registered for active article are displayed. And whenever you add a new row into sfItems, a new serial number is written into txtSerialNumbers. When then you leave the record (selecting another row in subform, or leaving subform by activating some control in fArticles), the new item is added into tItems. Pressing Esc a couple of times before leaving the record aborts the new item creating.