[Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

MS Access Query Help For Graph Preparing

Posted on 2016-11-12
13
Medium Priority
?
28 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 31

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
Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.

 
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 2000 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

Transaction-level recovery for Oracle database

Veeam Explore for Oracle delivers low RTOs and RPOs with agentless transaction log backup and transaction-level recovery of Oracle databases. You can restore the database to a precise point in time, even to a specific transaction.

Question has a verified solution.

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

Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
Suggested Courses

867 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