Solved

MS Access Query Help For Graph Preparing

Posted on 2016-11-12
13
21 Views
Last Modified: 2016-11-12
I need help with setting up a query. I don't know if I need multiple queries or if I can get this all in one.

I have 4 conditions for products. I am wanting to make a query that shows all inventory cost. Quantity * Price kind of thing.

I have successfully been able to do this with all inventory conditions. But I can't figure out how to show them all separate in a single query. I am preparing for a graph page. 4 Conditions are NSOP, NSSP, USOP, USSP.

Total: [qtyloc]*[Price]
(ProdLocations.QtyLoc)>0)

NSOP Total: [qtyloc]*[Price]
[Products].[ConditionId]=1

NSOP Total: [qtyloc]*[Price]
[Products].[ConditionId]=2

USOP Total: [qtyloc]*[Price]
[Products].[ConditionId]=3

USSP Total: [qtyloc]*[Price]
[Products].[ConditionId]=4


Thanks!
0
Comment
Question by:Dustin Stanley
  • 7
  • 5
13 Comments
 
LVL 30

Expert Comment

by:hnasr
ID: 41885040
I have successfully been able to do this with all inventory conditions
Share with us what you have done, by uploading a sample database, to take off from that point.
0
 

Author Comment

by:Dustin Stanley
ID: 41885042
I have this but it shows all the same values. Which is the Total Value of All Conditions:

SELECT [qtyloc]*[Price] AS Total, ProdLocations.QtyLoc, [qtyloc]*[Price] AS [NSOP Total], [qtyloc]*[Price] AS [NSSP Total], [qtyloc]*[Price] AS [USOP Total], [qtyloc]*[Price] AS [USSP Total]
FROM Products INNER JOIN ProdLocations ON Products.ProductID = ProdLocations.ProductID
WHERE (((ProdLocations.QtyLoc)>0)) OR (((Products.ConditionId)=1)) OR (((Products.ConditionId)=2)) OR (((Products.ConditionId)=3)) OR (((Products.ConditionId)=4));

Open in new window

0
 

Author Comment

by:Dustin Stanley
ID: 41885043
I can't upload any databases currently
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 41885048
try creating a total query like this

select Products.productid, sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0) as Total
, sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0) as Total
,sum(iif([Products].[ConditionId]=1, [qtyloc]*[Price],0) as [NSOP Total]
,sum(iif([Products].[ConditionId]=2, [qtyloc]*[Price],0) as [NSSP Total]
,sum(iif([Products].[ConditionId]=3, [qtyloc]*[Price],0) as [USOP Total]
,sum(iif([Products].[ConditionId]=4, [qtyloc]*[Price],0) as [USSP Total]
From Products
group by  Products.productid

change productID field with correct field name
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 41885051
try this one

select Products.productid, sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0) as Total
 ,sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0) as Total
 ,sum(iif([Products].[ConditionId]=1, [qtyloc]*[Price],0) as [NSOP Total]
 ,sum(iif([Products].[ConditionId]=2, [qtyloc]*[Price],0) as [NSSP Total]
 ,sum(iif([Products].[ConditionId]=3, [qtyloc]*[Price],0) as [USOP Total]
 ,sum(iif([Products].[ConditionId]=4, [qtyloc]*[Price],0) as [USSP Total]
 From Products INNER JOIN ProdLocations ON Products.ProductID = ProdLocations.ProductID
 group by  Products.productid
0
 

Author Comment

by:Dustin Stanley
ID: 41885052
It says syntax error highlights as before NSOP
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 41885055
missing ")"

select Products.productid, sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0)) as Total
  ,sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0)) as Total
  ,sum(iif([Products].[ConditionId]=1, [qtyloc]*[Price],0)) as [NSOP Total]
  ,sum(iif([Products].[ConditionId]=2, [qtyloc]*[Price],0)) as [NSSP Total]
  ,sum(iif([Products].[ConditionId]=3, [qtyloc]*[Price],0)) as [USOP Total]
  ,sum(iif([Products].[ConditionId]=4, [qtyloc]*[Price],0)) as [USSP Total]
  From Products INNER JOIN ProdLocations ON Products.ProductID = ProdLocations.ProductID
  group by  Products.productid
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 41885056
try this one

select Products.productid
, sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0)) as Total  
   ,sum(iif([Products].[ConditionId]=1, [qtyloc]*[Price],0)) as [NSOP Total]
   ,sum(iif([Products].[ConditionId]=2, [qtyloc]*[Price],0)) as [NSSP Total]
   ,sum(iif([Products].[ConditionId]=3, [qtyloc]*[Price],0)) as [USOP Total]
   ,sum(iif([Products].[ConditionId]=4, [qtyloc]*[Price],0)) as [USSP Total]
   From Products INNER JOIN ProdLocations ON Products.ProductID = ProdLocations.ProductID
   group by  Products.productid
0
 

Author Comment

by:Dustin Stanley
ID: 41885057
it keeps saying wrong number of arguments for:
sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0) as Total   

Open in new window


I've been trying trying to figure it out
0
 

Author Comment

by:Dustin Stanley
ID: 41885058
Sorry I meant

sum(iif(ProdLocations.QtyLoc)>0,[qtyloc]*[Price],0) as Total
0
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 500 total points
ID: 41885059
select Products.productid
 , sum(iif([ProdLocations].[QtyLoc]>0,[qtyloc]*[Price],0)) as Total  
    ,sum(iif([Products].[ConditionId]=1, [qtyloc]*[Price],0)) as [NSOP Total]
    ,sum(iif([Products].[ConditionId]=2, [qtyloc]*[Price],0)) as [NSSP Total]
    ,sum(iif([Products].[ConditionId]=3, [qtyloc]*[Price],0)) as [USOP Total]
    ,sum(iif([Products].[ConditionId]=4, [qtyloc]*[Price],0)) as [USSP Total]
    From Products INNER JOIN ProdLocations ON Products.ProductID = ProdLocations.ProductID
    group by  Products.productid
0
 

Author Comment

by:Dustin Stanley
ID: 41885083
Sorry I didn't respond right back as I had to leave for a bit. Also Thanks so much Rey that last one nailed it. Thanks.
0
 

Author Closing Comment

by:Dustin Stanley
ID: 41885084
Thanks!
0

Featured Post

Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
Phishing attempts can come in all forms, shapes and sizes. No matter how familiar you think you are with them, always remember to take extra precaution when opening an email with attachments or links.
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question