Forum Discussion

JL2022's avatar
JL2022
Copper Contributor
Jun 01, 2022

How should I create a transactions table?

I'm relatively new to Access and only vaguely familiar with SQL and VBA.

 

I'm attempting to create a simple warehouse management system for a small business. So far I've had success with this database for simple tasks such as managing employees through forms, queries, and tables, but my biggest challenge yet is the actual management of the inventory. I'm trying to track serialized inventory, as my usual software is now being phased out. I have a small inventory in the warehouse and my technicians keep some on their vehicles. Altogether at any given time it hovers around 1,000 total items. These items are serialized and are "single use", so I will most likely never see the same serial number twice. What I would like to do is create a transactions table that shows when an item was issued to a technician, and create a history of this item. The fields I need in this table are "Serial Number", "Item Type", "Date Added", "To Tech", "From Tech", and "Transferred By". I have attempted it so far by using 3 tables: 

  • Roster - All technicians available to be issued serialized items
    • Issued to "Tech ID"
  • Inventory - All serialized items available to issue
    • Issued from "Warehouse ID" 
    • Ideally I would like this inventory to be separate due to a power query I'd eventually like to set up that allows me to import directly instead of copy/pasting all serial numbers
  • Transactions - A list of items from "Inventory" joined with "Roster" to create a transaction log of what/where/when

Another thought I had is to simply have one table with all inventory items available to issue, and then create a query to update the items based on the serial number entered in the [Serial_Number] text box on the "Transactions" form. However, in practice I don't see how this could work in real time. The issue I am having is that when these items are issued it has to happen quickly, as I generally issue items in bulk and up to 50 items at a time. 

 

My issues are:

 

  • I need to issue several items at a time with a barcode scanner, so I cannot choose a serial number from a combobox and update the information from the form
  • I am unsure if creating a transactions log is practical
  • I am unsure how to properly set up table relationships

 

My questions are:

 

  • What is the best way to approach this to get the result I'm looking for?
  • If the best way to do this is to have a "Transactions" table, how can I use a form to write new records while also updating records in the "Inventory" table?
  • How should these tables be related?

 

I realize this question may be vague in some ways, I do apologize, but I am nearly at my wits end trying to figure this out. At any given time I've had 10+ tabs open with Google searches and video tutorials, and I've even purchased a course on Udemy to better understand Access, but it doesn't seem like the resources I have are ever trying to solve *this* problem. I would really appreciate some insight into this, and thank you for your help! Please let me know if there is more information I can provide that may give you some context. Thanks again.

  • tsgiannis's avatar
    tsgiannis
    Iron Contributor

    JL2022 

    Your first concept is almost correct
    AA -->AutoNumber
    1st Table
    Items
    ID(AA:PK) , Product,[Other details like S/N,descriptions...etc]
    2nd Table
    Roster
    ID(AA:PK),Technician
    3rd Table
    Transactions
    ID (AA:PK), ItemID,RosterID,Start_Transaction,End_Transaction
    Essentially the available Items are the Items that are not in an unfinished Transaction
    I am attaching a small database to take a look

Resources