Forum Discussion

Ivan__Torr's avatar
Ivan__Torr
Copper Contributor
Jan 19, 2021

Access stock taking system

I have created a stock system with all relevant tables .My system can purchase products from relevant suppliers via email. 

I am trying to create a system from this that can do a stock count ( ie Physical  on hand)

I cant work out how I can get the system to remember the count as a history with the then purchase price. I have tried a make table but cant get any further than that

 

Any help appreciated

 

Ivan

  • George_Hepworth's avatar
    George_Hepworth
    Silver Contributor

    Ivan__Torr 

    While you've done a good job of introducing the CONCEPT, there isn't really enough detail in that description to offer any suggestions. "...all relevant tables..." could mean a number of different things to different people, for example. And none of them would be able to do much with that anyway because we wouldn't know if OUR assumptions matched the reality.

     

    Let's start with a relationship diagram. That'll get us started being able to ask you useful questions about the system and maybe lead to some suggestions.

     

    Thanks. 

    • Ivan__Torr's avatar
      Ivan__Torr
      Copper Contributor

      George_Hepworth 

      See attached. Sorry new to Access. Its amazing what Covid get a person up too.

      It is a Recipe and Dish coster . It also does allergens and Calorie counts on each dish.

       

      hope this helps

      • George_Hepworth's avatar
        George_Hepworth
        Silver Contributor

        Ivan__Torr 

        Thanks. I see a number of things to comment on, many of which have little to do with the current Inventory question. Let's get those out of the way. 

        • Multi-Value Field for PlatePic in TblPlating. As a matter of principle, most experienced Access developers refuse to use these things. I would recommend, therefore, that there be a separate table for the pictures and that the image files themselves be stored externally, not inside the accdb.
        • Indeterminate relationships between tblSizes and TblRecipes and TblFoodProducts and tblProdList. These should be designated as one-to-many and they should have Referential Integrity Enforced.
        • Several tables (TblOrders, TblSupp, and TblOrderPurch, as well as TblAllergens) which have no relationships identified. These need to be designated and have Referential Integrity Enforced on them. Otherwise it is all too easy to have "orphan" records added to tables.

        Okay, a couple of other things could bear attention, but overall it otherwise seems fine.

         

        It looks like TblOrderPurch is where incoming product quantities are stored. It's not clear to me, though, what the difference is between ProdQty and PurchAmount. ProdQty appears to be the value that determines how much you have received of each product, though. That means your Stock Take will be based on a query that Sums ProdQty by ProdID:

        SELECT ProdID, Sum(ProdQty) As ProductQuantityPurchased

        FROM tblOrderPurch

         

        You can include additional tables to bring in things like ProdName from the TblProdList, or to bring in Dates from the TblOrders table to group purchases by time period (i.e. Group By OrderDate).

         

        To get product quantity going out, it looks to be like "Plate" is the central concept, i.e. products are use in different recipes which are combined into "Plates". But I can't tell for sure how you want to calculate that and which "xxxQty" field(s) to use.

         

        If I had to venture a guess, I would say that you'd need to include tblRecProducts to get the quantity per recipe, and join that to either TblRecipes or tblPlateRec, or both, to get to the RecQty and then join that to TblPlating to get to the ProdQtyPPlate in tblPlateProducts.  Once you get there you should have the quantity of each product used in the total number of plates sold. 

         

        With that, you should be able to finally join the two queries on ProdID to get the quantity in and the quantity out for a final value of remaining quantity in stock.

         

        I hope that helps your thinking.

Share

Resources