-
Lọc trong access (cần giúp)
svhsph > 21-08-14, 10:36 PM
Chào các bạn
Mình gặp thêm 1 vấn đề nữa là mình có 1 query đã chạy được ra như bảng mình đã chụp
làm thế nào để tạo 1 query hoặc 1 report để có thể lấy được các giá trị lớn nhất(mỗi nhóm, top 3) trong bảng, ở cả 2 nhóm mình đã bôi màu. (không dùng union query - vì bảng này có nhiều nhóm quá, mình phải chạy 15 cái queries nếu theo cách này)
cảm ơn các bạn
[img][/img]
-
RE: Lọc trong access (cần giúp)
hanyoungmine > 03-09-14, 11:28 PM
(21-08-14, 10:36 PM)svhsph Đã viết: Chào các bạn
Mình gặp thêm 1 vấn đề nữa là mình có 1 query đã chạy được ra như bảng mình đã chụp
làm thế nào để tạo 1 query hoặc 1 report để có thể lấy được các giá trị lớn nhất(mỗi nhóm, top 3) trong bảng, ở cả 2 nhóm mình đã bôi màu. (không dùng union query - vì bảng này có nhiều nhóm quá, mình phải chạy 15 cái queries nếu theo cách này)
cảm ơn các bạn
[img][/img]
Chào bạn@
Đây là kiến thức liên quan tới Sub Query, bạn có thể tra Google từ khóa Subquery
Gửi bạn Demo
https://drive.google.com/file/d/0B7pDGmS...sp=sharing
Nếu không biết cách làm, mình sẽ hướng dẫn bằng clip thì sinh động hơn. Còn file này bạn chịu khó nghiên cứu cái SQL của Query1 -
RE: Lọc trong access (cần giúp)
svhsph > 10-09-14, 12:47 PM
Bạn làm clip giúp mình nhé, vì có áp sang làm thử trên query mà không được
--------------------
cảm ơn bạn nhiều -
RE: Lọc trong access (cần giúp)
svhsph > 10-09-14, 10:07 PM
Mình có chỉ đổi tên biến mà không hiểu sao access nó lại không nhận
Mã:SELECT [t1].[T10code], [t1].[Reasoncode], [t1].[Number]
FROM [reason] AS t1;
WHERE (((t1.[Number]) In (SELECT TOP 3 [reason].[Number]
FROM [reason]
WHERE ((([Reason].[T10code])=[t1].[T10code]))
ORDER BY reason.Number DESC)))
ORDER BY t1.T10code, t1.Number DESC;
nó cứ báo lỗi: "Characters found after end of SQL statement" , mà mình kiểm tra rồi mà không tìm ra được
Bạn xem giúp mình nhé, cảm ơn bạn nhiều -
RE: Lọc trong access (cần giúp)
hanyoungmine > 11-09-14, 12:51 AM
(10-09-14, 10:07 PM)svhsph Đã viết: Mình có chỉ đổi tên biến mà không hiểu sao access nó lại không nhận
Mã:SELECT [t1].[T10code], [t1].[Reasoncode], [t1].[Number]
FROM [reason] AS t1;
WHERE (((t1.[Number]) In (SELECT TOP 3 [reason].[Number]
FROM [reason]
WHERE ((([Reason].[T10code])=[t1].[T10code]))
ORDER BY reason.Number DESC)))
ORDER BY t1.T10code, t1.Number DESC;
nó cứ báo lỗi: "Characters found after end of SQL statement" , mà mình kiểm tra rồi mà không tìm ra được
Bạn xem giúp mình nhé, cảm ơn bạn nhiều
Chào bạn!
Đây là cái mà mình đã làm để tạo đc Query1. Mình học cái này trên mạng, k có tài liệu cụ thể nên cũng hiểu mơ hồ. Hi vọng bạn xem các bước mình làm, có thể tự làm cái bạn muốn -
RE: Lọc trong access (cần giúp)
svhsph > 11-09-14, 08:32 PM
Cảm ơn hanyoungmine
các các thủ trả lời giúp mình với
xin đa tạ -
RE: Lọc trong access (cần giúp)
hanyoungmine > 11-09-14, 11:54 PM
Hướng dẫn Demo: http://youtu.be/MOsWcJFBbYw mình quên đính kèm link. Xin lỗi bạn -
RE: Lọc trong access (cần giúp)
svhsph > 12-09-14, 09:29 AM
(11-09-14, 11:54 PM)hanyoungmine Đã viết: Hướng dẫn Demo: http://youtu.be/MOsWcJFBbYw mình quên đính kèm link. Xin lỗi bạn
cảm ơn ban, Mình có tìm hiểu trên mạng và thấy có 1 hướng dẫn khá hay ở link này
tuy nhiên khi áp vào cái database của mình thì không được, các cao thủ giúp mình với
mặc dù mình đã đổi tên trường và tên Query giống hệt trong câu lệnh mà khi chạy thử nó vẫn báo lỗi "enter parameter value, "
http://allenbrowne.com/subquery-01.html#TopN
Mã:SELECT Orders.CustomerID, Orders.OrderDate, Orders.OrderID
FROM Orders
WHERE Orders.OrderID IN
(SELECT TOP 3 OrderID
FROM Orders AS Dupe
WHERE Dupe.CustomerID = Orders.CustomerID
ORDER BY Dupe.OrderDate DESC, Dupe.OrderID DESC)
ORDER BY Orders.CustomerID, Orders.OrderDate, Orders.OrderID; -
RE: Lọc trong access (cần giúp)
hanyoungmine > 14-09-14, 07:20 AM
(12-09-14, 09:29 AM)svhsph Đã viết:
Đính kèm db và nói rõ query cần hiển thị thông tin gì, mình xem nào(11-09-14, 11:54 PM)hanyoungmine Đã viết: Hướng dẫn Demo: http://youtu.be/MOsWcJFBbYw mình quên đính kèm link. Xin lỗi bạn
cảm ơn ban, Mình có tìm hiểu trên mạng và thấy có 1 hướng dẫn khá hay ở link này
tuy nhiên khi áp vào cái database của mình thì không được, các cao thủ giúp mình với
mặc dù mình đã đổi tên trường và tên Query giống hệt trong câu lệnh mà khi chạy thử nó vẫn báo lỗi "enter parameter value, "
http://allenbrowne.com/subquery-01.html#TopN
Mã:SELECT Orders.CustomerID, Orders.OrderDate, Orders.OrderID
FROM Orders
WHERE Orders.OrderID IN
(SELECT TOP 3 OrderID
FROM Orders AS Dupe
WHERE Dupe.CustomerID = Orders.CustomerID
ORDER BY Dupe.OrderDate DESC, Dupe.OrderID DESC)
ORDER BY Orders.CustomerID, Orders.OrderDate, Orders.OrderID; -
RE: Lọc trong access (cần giúp)
svhsph > 16-09-14, 08:37 AM
Cảm ơn bạn
ý mình là làm theo cách của bạn thì mình thấy rất ok rồi
mình thử trên file này với mấy cái code mình tìm thấy nhưng ko chạy được, chắc là do mình ko biết dùng code ,Mã:https://mega.co.nz/#!MogRRaKY!zg5NlxxyghLiL5E8nGs-uGVFFZX2-ke187D0ZdfIZ24