I have a database full of Time Entries, linked to other tables, to show all information in one location. The "Time Table" stores the "Part Number", which is linked to "ItemRef_FullName" in the other table. When I enter an Order Number, I want it to return a list of parts, with only the latest time entry for each part. However, currently, it returns all the parts with all the entries for each part. I'm sure it's something simple, I just can't seem to figure it out. Here's my SQL code:
Thanks for your help!
Code:
SELECT dbo_salesorderlinedetail.ClassRef_FullName, dbo_salesorderlinedetail.ItemRef_FullName, Min([Time Table].[Start Time]) AS [MinOfStart Time], dbo_salesordera.RefNumber, dbo_salesorderlinedetail.Desc, dbo_salesorderlinedetail.Quantity, dbo_salesorderlinedetail.Invoiced, [dbo_salesorderlinedetail].[Quantity]-[Invoiced] AS Expr1, First([Time Table].[Part Number]) AS [FirstOfPart Number], [Time Table].Location, [Time Table].Quantity
FROM (dbo_salesordera INNER JOIN dbo_salesorderlinedetail ON dbo_salesordera.TxnID = dbo_salesorderlinedetail.IDKEY) LEFT JOIN [Time Table] ON dbo_salesordera.RefNumber = [Time Table].[Order Number]
GROUP BY dbo_salesorderlinedetail.ClassRef_FullName, dbo_salesorderlinedetail.ItemRef_FullName, dbo_salesordera.RefNumber, dbo_salesorderlinedetail.Desc, dbo_salesorderlinedetail.Quantity, dbo_salesorderlinedetail.Invoiced, [dbo_salesorderlinedetail].[Quantity]-[Invoiced], [Time Table].Location, [Time Table].Quantity
HAVING (((dbo_salesordera.RefNumber)=[Order Number?]) AND ((dbo_salesorderlinedetail.Desc) Is Not Null And (dbo_salesorderlinedetail.Desc)<>"Discount Applied") AND ((dbo_salesorderlinedetail.Quantity) Is Not Null) AND ((First([Time Table].[Part Number]))=[ItemRef_FullName]))
ORDER BY dbo_salesorderlinedetail.ClassRef_FullName, Min([Time Table].[Start Time]), dbo_salesorderlinedetail.Desc;
Thanks for your help!