Search code examples
formsms-accessms-access-2010subforminsertafter

Microsoft Access - I want my mainform to create X records in subform base on fields automatically


I been putting a lot of thought into the logic behind this, and I can't seem to figure out the best way to handle this problem.

1 - Afterinsert

2 - unbound fields + button to insert X times

3 - I am open for suggestions

The form

enter image description here

The relationship

enter image description here

I was debating on using AfterInsert to handle everything. Since NoOfBoxes will decide the amount of records and I would only need to duplicate the value of MergeNo and isCommission to the subform. But the problem is, I need to also auto fill the item, which made me think of solutions number 2.

The reasoning behind going with number 2 is; my receive report header doesn't contains the item information and since a subform can only have 1 type of item but multiple of them. I was hitting toward number 2.

Solution number 2 would be multiple unbound fields which pulled the information into a combo box, or enter the information needed and hit a button which will then transfer all that data to the subform and create the correct amount of records.

unbound fields = itemcode, mergeNo, isCommission, and NoOfBoxes.


Solution

  • I think you need a Numbers table with integers from 1 or 0 to an appropriate number, you can then say something like:

    INSERT INTO ATable ( MergeNo, IsCommission )
    SELECT [Forms]![aForm]![MergeNo] AS MergeNo, 
           [Forms]![aForm]![IsCommission ] AS IsCommission 
    FROM Numbers
    WHERE Numbers.Number<=[Forms]![aForm]![NoOfBoxes]
    

    Do not forget that if the numbers table starts from 0, it is less than, not less than or equal to.