472,955 Members | 2,446 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,955 software developers and data experts.

stock & inventory

Hi

I know this has been done to death....but obviously at some point in the dim
and distant past!

I wish to program a retail database for my shop, I have trawled many forums
and I only manage to see "search for inventory, this has been done many
times before...", without ever actually coming across the method ;(
Could some kind person just give an overview of the 'correct' way to achieve
this please?

I will have large-item stock which will have to be individually identified
by serial number (ie TV, DVD etc) and stock which will not have to be
identified (ie accessories, video tapes etc) - I need to be able to identify
by serial number, the stock large-stock I have remaining in the shop (ie
1x14" TV serial 1000012, 1x14" TV serial 1000013 etc.) and only the total
quantity of each accessory remaining (ie 10 x headphones, 100 x video tapes)

Would I need one table for large stock and one for accessories? and if so,
can I have a subform which calls from 2 tables?

As far as the invoicing form will be concerned, I have a form which acts as
an invoice (customer details, inv number, date etc..) and a subform (invoice
detail items) linked by invoice_number. My main question is how to run an
update query to act upon only the detail in the subform of the invoice when
say the print invoice button is clicked (my theory being once the invoice is
printed, the goods will leave the shop and stock will be reduced
accordingly). I see this as a possibility to add a 'sold' checkbox field in
the large-stock table (then I could search the table for only unchecked
items, signifying they still remain in stock).
As I said earlier, it seems my main problem seems to be having the update
query affect only the items in the current invoice subform.

This seems a tall order to me, but hopefully quite a straight-forward issue
to you guys! I hope someone has the time to give me this overview and
appreciate any help. I have several access reference books and obviously
the net to call upon, so I'm not looking for a complete solution - just a
point in the right direction from someone who knows ;)

Many thanks.
Nov 12 '05 #1
7 16744
Hi Simon

It is not possible to develop a one-size-fits-all inventory, as there are so
many variations. Your case involves individual serial numbers. Others
require FIFO (first-in first-out) e.g. fresh food. Others require tracking
different purchase prices for different components (e.g. RAM prices change
with the market). It is therefore something that you must develop to fit
your needs.

For a general introduction to the topic, see:
Inventory Control - Quantity On Hand
at:
http://allenbrowne.com/AppInventory.html
This article encourages you to calculate the quantity on hand when you need
it rather than store the quantity. It's not always practical to do that, but
if you start with that approach, it will lead you in a useful direction. The
article also identifies the issues you need to consider if you do try to
subtract the quantity from a stored number at the time of sale.

I would suggest that all products go into one table. It will have a
SerialNmber field (Text type), not required (as some things don't have
them). You may want to warn the user if Brand+Model+Serial is not unique. It
may not be, e.g. if a part is returned and resold.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html

"simon" <st********************@hotmail.c%20om> wrote in message
news:94***************@news-binary.blueyonder.co.uk...
I know this has been done to death....but obviously at some point in the dim and distant past!

I wish to program a retail database for my shop, I have trawled many forums and I only manage to see "search for inventory, this has been done many
times before...", without ever actually coming across the method ;(
Could some kind person just give an overview of the 'correct' way to achieve this please?

I will have large-item stock which will have to be individually identified
by serial number (ie TV, DVD etc) and stock which will not have to be
identified (ie accessories, video tapes etc) - I need to be able to identify by serial number, the stock large-stock I have remaining in the shop (ie
1x14" TV serial 1000012, 1x14" TV serial 1000013 etc.) and only the total
quantity of each accessory remaining (ie 10 x headphones, 100 x video tapes)
Would I need one table for large stock and one for accessories? and if so,
can I have a subform which calls from 2 tables?

As far as the invoicing form will be concerned, I have a form which acts as an invoice (customer details, inv number, date etc..) and a subform (invoice detail items) linked by invoice_number. My main question is how to run an
update query to act upon only the detail in the subform of the invoice when say the print invoice button is clicked (my theory being once the invoice is printed, the goods will leave the shop and stock will be reduced
accordingly). I see this as a possibility to add a 'sold' checkbox field in the large-stock table (then I could search the table for only unchecked
items, signifying they still remain in stock).
As I said earlier, it seems my main problem seems to be having the update
query affect only the items in the current invoice subform.

This seems a tall order to me, but hopefully quite a straight-forward issue to you guys! I hope someone has the time to give me this overview and
appreciate any help. I have several access reference books and obviously
the net to call upon, so I'm not looking for a complete solution - just a
point in the right direction from someone who knows ;)

Many thanks.

Nov 12 '05 #2
"Allen Browne" <ab***************@bigpond.net.au> wrote in
news:Qp*******************@news-server.bigpond.net.au:

I would suggest that all products go into one table. It will
have a SerialNmber field (Text type), not required (as some
things don't have them). You may want to warn the user if
Brand+Model+Serial is not unique. It may not be, e.g. if a
part is returned and resold.


I agree with Allen. You can also code business rules into your
forms that says IF serial number is not null THEN quantity = 1.
and IF quantity >1 then serialNumber is null. And its always safer
to calculate inventory from the sum of receipts minus the sum of
sales plus other disbursements) when you need it (in a query, form
or report) than trying to store the value in a table somewhere.

Bob Q


Nov 12 '05 #3
Cheers for the pointers!

"Allen Browne" <ab***************@bigpond.net.au> wrote in message
news:Qp*******************@news-server.bigpond.net.au...
Hi Simon

It is not possible to develop a one-size-fits-all inventory, as there are so many variations. Your case involves individual serial numbers. Others
require FIFO (first-in first-out) e.g. fresh food. Others require tracking
different purchase prices for different components (e.g. RAM prices change
with the market). It is therefore something that you must develop to fit
your needs.

For a general introduction to the topic, see:
Inventory Control - Quantity On Hand
at:
http://allenbrowne.com/AppInventory.html
This article encourages you to calculate the quantity on hand when you need it rather than store the quantity. It's not always practical to do that, but if you start with that approach, it will lead you in a useful direction. The article also identifies the issues you need to consider if you do try to
subtract the quantity from a stored number at the time of sale.

I would suggest that all products go into one table. It will have a
SerialNmber field (Text type), not required (as some things don't have
them). You may want to warn the user if Brand+Model+Serial is not unique. It may not be, e.g. if a part is returned and resold.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html

"simon" <st********************@hotmail.c%20om> wrote in message
news:94***************@news-binary.blueyonder.co.uk...
I know this has been done to death....but obviously at some point in the dim
and distant past!

I wish to program a retail database for my shop, I have trawled many

forums
and I only manage to see "search for inventory, this has been done many
times before...", without ever actually coming across the method ;(
Could some kind person just give an overview of the 'correct' way to

achieve
this please?

I will have large-item stock which will have to be individually identified by serial number (ie TV, DVD etc) and stock which will not have to be
identified (ie accessories, video tapes etc) - I need to be able to

identify
by serial number, the stock large-stock I have remaining in the shop (ie
1x14" TV serial 1000012, 1x14" TV serial 1000013 etc.) and only the total quantity of each accessory remaining (ie 10 x headphones, 100 x video

tapes)

Would I need one table for large stock and one for accessories? and if so, can I have a subform which calls from 2 tables?

As far as the invoicing form will be concerned, I have a form which acts

as
an invoice (customer details, inv number, date etc..) and a subform

(invoice
detail items) linked by invoice_number. My main question is how to run an update query to act upon only the detail in the subform of the invoice

when
say the print invoice button is clicked (my theory being once the invoice is
printed, the goods will leave the shop and stock will be reduced
accordingly). I see this as a possibility to add a 'sold' checkbox
field in
the large-stock table (then I could search the table for only unchecked
items, signifying they still remain in stock).
As I said earlier, it seems my main problem seems to be having the

update query affect only the items in the current invoice subform.

This seems a tall order to me, but hopefully quite a straight-forward

issue
to you guys! I hope someone has the time to give me this overview and
appreciate any help. I have several access reference books and obviously the net to call upon, so I'm not looking for a complete solution - just a point in the right direction from someone who knows ;)

Many thanks.


Nov 12 '05 #4
Hi Guys,

I too am just starting to make an inventory database and have perused
many inventory-related threads. For simplicity, I have settled on
trying to only use 2 examples for the databse--Allen's article (thanks
for this!) and Microsoft's own invoice templates.

The MS templates use a transactions table in which to lump product
orders and acquisitions. This kind of appeals to me as my products
will not only be ordered, sold, and acquired, but also used by me.
However, I also want to incorporate the stock take table and
associated functionality of computing quantity on hand at a particular
time.

My other problem is that I must group the products (items) by category
(demo). For example, 1 demo may involve certain items, and the same
items can be used in other demos. Thus, I'm thinking about tracking
inventory by the combination of items and demo as opposed to just by
item. I'm just not exactly sure where and how to start. Any
additional advice/assistance would be greatly appreciated.

Thanks,
Eric
Nov 12 '05 #5
Combining the ins and outs (acquisitions and sales) into a single table can
be a good idea, as it simplifies the calculation of the quantity on hand.
There is no problem using this approach with a StockTake value so that you
start with a known quantity of the product, and add/subtract the
transactions since that date.

If there is a one to many relationship between category and product, the
category does not have to come into the calculation of the quantity on hand.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html

"Eric" <ee*******@yahoo.com> wrote in message
news:5f**************************@posting.google.c om...
Hi Guys,

I too am just starting to make an inventory database and have perused
many inventory-related threads. For simplicity, I have settled on
trying to only use 2 examples for the databse--Allen's article (thanks
for this!) and Microsoft's own invoice templates.

The MS templates use a transactions table in which to lump product
orders and acquisitions. This kind of appeals to me as my products
will not only be ordered, sold, and acquired, but also used by me.
However, I also want to incorporate the stock take table and
associated functionality of computing quantity on hand at a particular
time.

My other problem is that I must group the products (items) by category
(demo). For example, 1 demo may involve certain items, and the same
items can be used in other demos. Thus, I'm thinking about tracking
inventory by the combination of items and demo as opposed to just by
item. I'm just not exactly sure where and how to start. Any
additional advice/assistance would be greatly appreciated.

Thanks,
Eric

Nov 12 '05 #6
Thanks Allen.
Nov 12 '05 #7
"Allen Browne" <ab***************@bigpond.net.au> wrote:
Combining the ins and outs (acquisitions and sales) into a single table can
be a good idea, as it simplifies the calculation of the quantity on hand.
There is no problem using this approach with a StockTake value so that you
start with a known quantity of the product, and add/subtract the
transactions since that date.


I'd certainly agree with this approach as well. For one client we have nine
different transaction types in the transaction table. Including Qty on Req, Qty on
Order, Qty Received, Qty Consumed (it's welding shop), Qty Shipped, Adjustment and
several more I forget.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Nov 12 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: gregork | last post by:
I have painstakingly created an excel 2000 workbook for the very complex recipes I have to formulate. I have 2 sheets- 1 for configuring the recipe and 1 that is like an inventory of all the raw...
5
by: tHeRoBeRtMiTcHeLL | last post by:
Well, I think I have bitten off a little more than I can chew (at least all at once), and I'm only trying to hammer out tables/relationships at the design level. Which translates to "Seasoned...
4
by: DeepDiver | last post by:
I am developing an inventory database in SQL Server. I realize there are many commercial (as well as some non-commercial) inventory offerings, but my client has specific requirements that would...
13
by: royaltiger | last post by:
I am trying to copy the inventory database in Building Access Applications by John L Viescas but when i try to run the database i get an error in the orders form when i click on the allocate...
109
by: zaidalin79 | last post by:
I have a java class that goes for another week or so, and I am going to fail if I can't figure out this simple program. I can't get anything to compile to at least get a few points... Here are the...
11
by: hamiltongreg | last post by:
I am new to Java and am having problems getting my program to compile correctly. My assignment is as follows; Choose a product that lends itself to an inventory (for example, products at your...
3
by: cblank | last post by:
I need some help if someone could help me. I know everyone is asking for help in java. But for some reason I'm the same as everyone else when it comes to programming in java. I have an inventory...
2
by: blitz1989 | last post by:
Hello all, I'm new to this forum and Java and having a alot of problems understanding this language. I am working on an invetory program part 4. The assignment requirements are listed but the...
1
gsgurdeep
by: gsgurdeep | last post by:
Hello. Now-a-days I' m developing a inventory system using vb.net-2005 & MSSQL-2000. Crystal reports are used to view or print Invoices, etc. Now i have Three major problems..... 1. I need...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
0
tracyyun
by: tracyyun | last post by:
Hello everyone, I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
2
by: giovanniandrean | last post by:
The energy model is structured as follows and uses excel sheets to give input data: 1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
1
by: Teri B | last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course. 0ne-to-many. One course many roles. Then I created a report based on the Course form and...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
3
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
0
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
1
by: GKJR | last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.