Ask Experts Questions for FREE Help !
Ask
    BethN's Avatar
    BethN Posts: 6, Reputation: 1
    New Member
     
    #1

    Jul 7, 2010, 12:03 AM
    Access 2000/InventoryControl. How do I make the summary also reflect donated units?
    I added a field for donated items in the Products Subform. I would like that total to be reflected in the summary report. I tried entering the following expression in an unbound box:

    =Sum([Inventory Transactions]![UnitsReceived])-Sum([Inventory Transactions]![UnitsSold])-Sum([Inventory Transactions]![UnitsShrinkage])-Sum([Inventory Transactions]![UnitsDonated])-Sum([Inventory Transactions]![UnitsGivenAway])

    When I try to run the report, I receive a box titled "Enter Parameter Value" and a field titled "Inventory Transactions!UnitsReceived"

    I am new to databases. Please help!
    ScottGem's Avatar
    ScottGem Posts: 64,966, Reputation: 6056
    Computer Expert and Renaissance Man
     
    #2

    Jul 7, 2010, 05:55 AM

    When you get a parameter prompt like that it means that Access can't find the object being referenced so it assumes you want to supply it on the fly, so it prompts you for it. Usually this means you spelled something incorrectly. Check your formula for the spelling of the UnitsReceived field.

    On a separate note. Your database could be better designed. Instead of having separate fields for the type of inventory transaction, you should have a field for transaction type. The values of that field would be pulled from a lookup table that would look like this:

    tluTransType
    TransTypeID
    TransType

    And the data like this:
    ID Type
    1 Received
    2 Donated
    26 Sold
    27 Shrinkage
    28 Given Away

    The reason I have a gap in the codes is so types with an ID >=26 are outgoing and the rest are incoming. This makes it easy to calculate inventory. The way I do it is with a series of queries like this:

    SELECT TransactionID, ProductID, IIF(TransTypeID >25, Quantity*-1,Quantity) As AdjQty
    FROM Transactions;

    This gives you the quantity as either a positive or negative value depending on the direction of the transaction. Next I use:

    SELECT ProductID, SUM(AdjQty) As QOH
    FROM qryAdjQty
    GROUP By ProductID;

    This will give you the quantity on Hand (QOH) by product.
    BethN's Avatar
    BethN Posts: 6, Reputation: 1
    New Member
     
    #3

    Jul 7, 2010, 10:40 AM
    ScottGem,

    Thanks for your reply, but I'm honestly more lost with your code. I was using the template Inventory Control. It gives the fields sold and shrinkage and the summary report takes those into account but when I added my own fields, i.e. UnitsDonated and tried to create the expression with the expression builder, I ran in to trouble.
    The spelling should be correct and I didn't type it in, but used it from the expression builder.

    I tried to find the Units on Hand expression, but couldn't. If you could help some more I would appreciate it.

    Thanks!
    ScottGem's Avatar
    ScottGem Posts: 64,966, Reputation: 6056
    Computer Expert and Renaissance Man
     
    #4

    Jul 7, 2010, 11:44 AM

    There are two ways to do Inventory Control. One is transactional, where each movement of stock, either in or out is recorded. The other way is do periodic physical counts. I'm not sure which way this template is working. In a transactional system, each transaction should be done as I described. Also, sometimes Microsoft templates are not designed according to best practices.

    But getting back to the specific error message, I am positive what that messages. So somewhere you are referencing a value that Access can't find.
    ScottGem's Avatar
    ScottGem Posts: 64,966, Reputation: 6056
    Computer Expert and Renaissance Man
     
    #5

    Jul 7, 2010, 03:46 PM

    Beth,
    In response to your PM, the answer is yes, but you have to post a few more posts before I can reply to the PM.
    BethN's Avatar
    BethN Posts: 6, Reputation: 1
    New Member
     
    #6

    Jul 7, 2010, 06:05 PM
    Scott,

    I believe this is a transactional database as I am able to enter info by date on the Product subform and it has columns for #Received, #Sold, and #Shrinkage. I've added the columns ProductID (which I pulled from the Products table) and UnitsDonated and UnitsGivenAway, which I first added on to the InventoryTransactions Table.

    After re-reading your earlier post, I understand a little better about what you were coding, but have no idea where the code should appear. I took an Access class about 10 years ago and its like Greek to me now.

    I thought I remembered something about having to create a query before you can create a report? So, I tried to create a report using the data from the InventoryTransactions Table. I was in design view and after adding all the fields I wanted, I put my cursor in the next field and called up the expression builder. This is what I entered:

    UnitsAvailable: [Inventory Transactions]![UnitsReceived]-[Inventory Transactions]![UnitsSold]-[Inventory Transactions]![UnitsShrinkage]-[Inventory Transactions]![UnitsDonated]-[Inventory Transactions]![UnitsGivenAway]

    Unfortunately, once I clicked OK the whole expression appeared in the field. I tried to run the query anyway. The UnitsAvailable column appears but is empty.

    My hope was to create a total per line and then somehow create a sum of those totals by ProductID. Will this work or am I way off base?

    Thanks again for your help!
    ScottGem's Avatar
    ScottGem Posts: 64,966, Reputation: 6056
    Computer Expert and Renaissance Man
     
    #7

    Jul 7, 2010, 06:10 PM

    As I said, in a transactional database, you should have a transaction type field and a quantity field. NOT separate fields for each transaction type. So you would have separate records for each transaction. Then you would use the queries I suggested to calculate QOH.
    BethN's Avatar
    BethN Posts: 6, Reputation: 1
    New Member
     
    #8

    Jul 8, 2010, 05:21 PM
    Hi Scott,

    Thanks for your help, I finally got it to work after starting a new database.

    I have another question for queries. I have added a 'note' field in the transaction table. Can I use the IIF in query to return the summary totals of all items with the same note. i.e. 6 of the 10 lines have "donated to Father Hester" in the note field. I want the query to show me information only from those 6 lines and I want the info grouped by ProductCode sums. i.e.

    "donated to Father Hester"
    M4C 6
    M4F 13
    TwineW 19

    If so, would it look something like this:?

    SELECT TransactionNote, ProductCode, IIF(TransactionNote="donated to Father Hester",TransactionNote,? ) As DonatedItems
    FROM Transactions;
    ScottGem's Avatar
    ScottGem Posts: 64,966, Reputation: 6056
    Computer Expert and Renaissance Man
     
    #9

    Jul 8, 2010, 07:33 PM

    A couple of issues here. First, if you need to sort, group or filter records by a common value you need to standardize. What happens if you type "donated to Father Hester" one time and then "donated to Fr Hester" the next time? You would not be able to get all the records. So you need to plan your database accordingly.

    This is where look up tables come in. Look up tables are the same as any table except for their purpose. Generally they have a structure like:

    ID
    Description

    For example the Transaction Type table I mentioned earlier. By insuring standardized entry, you allow for grouping and filtering.

    To address the specific question, no you would not use an IIF() for this. What you want is a WHERE clause (or criteria). If you are using Query Design mode (which I recommend), you will see a criteria row. In that row you can enter criteria to filter the query. In your example you would enter "donated to Father Hester" as the criteria for the Notes field.

    IN SQL mode this would look like"
    SELECT ProductCode, Notes
    FROM Transactions
    WHERE Notes = "
    SELECT ProductCode, Notes
    FROM Transactions
    WHERE Notes = ";
    BethN's Avatar
    BethN Posts: 6, Reputation: 1
    New Member
     
    #10

    Jul 10, 2010, 07:50 AM
    Hi Scott,

    I tried two different things. The first was to do a lookup in design view of a field and I got my queries to run correctly. However, I don't know how to add another choice in the field.

    Then I tried creating a table with all the valuable so I could add more later. I then created a new table with a field that looked up the valuables from the table. I now can't get the queries to run correctly. They display the fields I want but the fields are empty. I've struggled with this for a few days, I hope you can help.

    Thanks!
    BethN's Avatar
    BethN Posts: 6, Reputation: 1
    New Member
     
    #11

    Jul 10, 2010, 07:54 AM
    Scott,

    Never mind, I figured it out. Thanks for all your help!
    ScottGem's Avatar
    ScottGem Posts: 64,966, Reputation: 6056
    Computer Expert and Renaissance Man
     
    #12

    Jul 10, 2010, 11:22 AM

    First, I do NOT recommend using lookup fields on the table level. These cause more problems then they are worth. Partially because they mask the actual data being stored which is likely the problem you encountered. Do all your lookups using lookup controls (combo & lists boxes and options groups) on your forms.

    If you create a combo or list using the wizard and use it in conjunction with a lookup table, then all you need to add items to the list is to add a record to the lookup table.

Not your question? Ask your question View similar questions

 

Question Tools Search this Question
Search this Question:

Advanced Search

Add your answer here.


Check out some similar questions!

Cannot access xp from windows 2000 [ 1 Answers ]

I'm not able to access xp system from windows 2000.but I can access 2000 machine from xp.I tried pinging it's working fine.I disabled the firewall,anti virus.but nothing happened. Any give me a suggestion.

Access 2000 to 2003 conversions [ 1 Answers ]

Hello, I was wondering if anyone knew if you convert Acess 2000 to Access 2003 that it will corrupt or change files at all. I have not found anything signifying that it does anywhere else, but a little reassurance would be nice. Thank you, Jared

Access 2000 error [ 5 Answers ]

Hello to all. We are using an access database 2000 with 30 users. The dbase size is 50 Gig. For some reason we keep getting an error messsage that the dbase is not in recognized format and has to be repaired. This error can show up to 10 times a day. Please help. Thanks


View more questions Search