-
RE: Tạo Report theo dạng crosstab Query
TIEULONG > 15-08-16, 07:21 PM
Bạn paulsteigel ơi ,database với Report tuỳ biến theo nhà cung cấp của ban rất ok, bạn có thể giúp mình sum giá tất cả các mặt hàng của từng nhà cung cấp được không ban. mình cũng có chương trình giống như chủ thớt nhưng là tính sản lượng của từng nhà cung cấp từng mặt hàng và tổng cộng lại. nếu được bạn inbox mail :tuanna.ho@gmail.com
Cảm ơn bạn ! -
RE: Tạo Report theo dạng crosstab Query
maidinhdan > 16-08-16, 10:35 AM
(15-08-16, 07:21 PM)TIEULONG Đã viết: Bạn paulsteigel ơi ,database với Report tuỳ biến theo nhà cung cấp của ban rất ok, bạn có thể giúp mình sum giá tất cả các mặt hàng của từng nhà cung cấp được không ban. mình cũng có chương trình giống như chủ thớt nhưng là tính sản lượng của từng nhà cung cấp từng mặt hàng và tổng cộng lại. nếu được bạn inbox mail :tuanna.ho@gmail.com
Cảm ơn bạn !
Xem hình và làm theo:
Chủ yếu là dựa vào Mã ID khách hàng ta sẽ nhóm theo Header và Footer. Giống như MaNV trong hình vậy.
Còn tổng tất cả thì để ở mục Report Footer thêm 1 hàm sum nửa.
Thân mến! -
RE: Tạo Report theo dạng crosstab Query
TIEULONG > 16-08-16, 11:26 AM
yêu cầu report như thế này:
tôi có các mặt hàng: coca, pepsi . . . và những mặt hàng khác ( những mặt hàng tuỳ biến lúc có lúc không)
nhiều nhân viên bán trong ngày các mặt hàng đó
Report :
BÁO CÁO CỬA HÀNG 1
(NGÀY 15/08/2016)
mặt hàng
STT tên NV Coca pepsi 7up
1 Anh Tú 10 20
2 Mai Vy 40 30
---------------------------------------------------------------------------
TỔNG: 50 20 30
BÁO CÁO CỬA HÀNG 1
(NGÀY 16/08/2016)
mặt hàng
STT tên NV Coca 7up C2 N01
1 Anh Tú 10 20 10
2 Mai Vy 30
3 Mỹ Lệ 40
------------------------------------------------------------------------------------
TỔNG: 10 20 30 50 -
RE: Tạo Report theo dạng crosstab Query
TIEULONG > 16-08-16, 11:43 AM
Bạn paulsteigel viết thì ok rồi( report tuỳ biến), nhưng có thể code giúp sum như BC ở trên mình với -
RE: Tạo Report theo dạng crosstab Query
paulsteigel > 16-08-16, 02:23 PM
(16-08-16, 11:43 AM)TIEULONG Đã viết: Bạn paulsteigel viết thì ok rồi( report tuỳ biến), nhưng có thể code giúp sum như BC ở trên mình với
Mình làm video, bạn có thể xem qua...
File demo Ở đây -
RE: Tạo Report theo dạng crosstab Query
TIEULONG > 16-08-16, 04:40 PM
cảm ơn bạn Pausteigel nhiều . . -
RE: Tạo Report theo dạng crosstab Query
Trần Linh > 22-08-16, 06:04 PM
(01-09-15, 09:14 PM)paulsteigel Đã viết:
(01-09-15, 08:20 PM)ongke0711 Đã viết: Bác paulsteigel cho hỏi: công cụ vẽ đường kẻ trong report của bác sẽ có lợi ích gì hơn so với vẽ tay bằng line vậy?
Công cụ vẽ lưới nhìn chung là khá tiện lợi với mình vì phải dùng nhiều loại báo cáo phức tạp, nếu căn chỉnh bằng tay sẽ mất nhiều thời gian thay vào đó mình chỉ cần vẽ một vài nhãn, định kích thước ổn thế là nó vẽ ra cho mình theo yêu cầu. Kể cả trong trường hợp dòng co dãn. Cái này thì thích hợp với ai phải vẽ nhiều báo cáo, mình giới thiệu để xem ai có ứng dụng được không mà thôi.
Để dùng được công cụ này.
Bước 1:
+ Vẽ các Label tiêu đề và đặt Tag là 1
+ Bước 2 đặt tên 1 label là lb1 ở bên trái trong cùng làm chuẩn.
Bước 2:
Đặt sự kiện On Print và dán vào dòng lệnh sau
* Để vẽ tiêu đề theo đúng kích thước các label và không vẽ dòng dọc ra toàn tiêu đề
If PrintCount = 1 Then DrawGrid Me
* Để vẽ ô lưới với các dòng dọc trùm hoàn toàn tiêu đề
If PrintCount = 1 Then DrawGrid Me, , False
Đơn giản thế thôi
Sau đây là vài mẫu báo cáo mình vẽ bằng cái này
Bác paulsteigel ơi, hình ảnh bác đã vẽ bằng code rất đẹp, và bảng gồm nhiều cột mà không bị mất chữ. Từng bước bác hướng dẫn cháu đọc kỹ và làm thử. Nhưng do mới nên còn gặp vướng mắc ạ:
- query cho report "rpt_Comapre" : 2 tbl lại có tên là a, b sao ko phải tên T- Test, tblNCC . Khi bổ sung thêm dòng NCC nhưng qry không hiện ra thêm các cột tương ứng NCC bổ sung
- code VBA của bác để giải quyết 2 vấn đề là kẻ dòng dọc tự động và hiện cột tự động cho qry crosstab. Nếu cháu có sẵn các cột cố định nhưng do số lượng cột nhiều nên không thể ép vào A4 vậy bác có thể hướng dẫn cụ thể cho vđ này được không ạ. Ví dụ: bảng gồm 30 cột, có cột không có dữ liệu nhưng vẫn phải hiển thị -
RE: Tạo Report theo dạng crosstab Query
paulsteigel > 22-08-16, 06:39 PM
Trích dẫn:- query cho report "rpt_Comapre" : 2 tbl lại có tên là a, b sao ko phải tên T- Test, tblNCC . Khi bổ sung thêm dòng NCC nhưng qry không hiện ra thêm các cột tương ứng NCC bổ sung
Việc 2 bảng có tên là a hoặc b là do từ khóa Alias (bí danh) cho tiện dụng
Ví dụ
[code]
TRANSFORM Min(b.Don_gia) AS MinOfDon_gia
SELECT b.Ten_hang
FROM tblNCC AS a INNER JOIN T_TEST AS b ON a.ID = b.ID_NCC
GROUP BY b.Ten_hang
PIVOT b.ID_NCC;
[code]
Ta sẽ không phải gõ T_TEST.Don_Gia nữa mà chỉ cần b.Don_gia... khi chọn nhiều trường, Access thêm cả tên bảng vào dài ngoằng khó đọc.
Cú pháp sẽ là Select [] FROM [Tên bảng] AS [alias]
Khi bổ sung thêm Nhà cung cấp nhưng Qry không hiện ra là do bảng T_Test của bạn không có hàng hóa nào của nhà cung cấp ấy. Thêm một nhà cung cấp vào tblNCC, nhớ cái ID_NCC, sang bảng T_TEST, gõ thêm 1 bản ghi với nhà cung cấp đó là được.
Trích dẫn:- code VBA của bác để giải quyết 2 vấn đề là kẻ dòng dọc tự động và hiện cột tự động cho qry crosstab. Nếu cháu có sẵn các cột cố định nhưng do số lượng cột nhiều nên không thể ép vào A4 vậy bác có thể hướng dẫn cụ thể cho vđ này được không ạ. Ví dụ: bảng gồm 30 cột, có cột không có dữ liệu nhưng vẫn phải hiển thị
Việc này hơi khó nếu bạn là người bắt đầu. Cách giải quyết dạng này có chút khác biệt và tôi đã viết trong một bài đã cũ về việc hiển thị 28 cột số liệu thế nào trong khi A4 chỉ in được tối đa 10 cột.
Bạn xem qua ở đây nhé
http://www.giaiphapexcel.com/forum/showt...-Instance)
Hoặc
http://thuthuataccess.com/forum/thread-8415.html -
RE: Tạo Report theo dạng crosstab Query
TIEULONG > 22-08-16, 10:26 PM
Bạn Pausteigel ơi, lỡ rồi giúp mình lần này nữa với:
-như database chủ thớt Report so sánh giá giữa các nhà cung cấp, mình đã làm được và tổng cộng tổng đơn giá của từng nhà cung cấp. Cảm ơn bạn.
Nhờ bạn giúp :
-từng măt hàng của từng nhà cung cấp có giá như đề bài rồi, giờ muốn report thêm cột số lượng từng loại hàng bên cạnh cột giá của từng nhà cung cấp được không?
STT Nhà cung cấp
NCCTÈO NCCTÍ NCCSỬU
SL Giá SL Giá SL Giá
1 bút bi 1 800 1 750
2 Bút xóa 2 1.400 1 800
--------------------------------------------------------------
TỔNG: 1 800 3 2.150 1 800 -
RE: Tạo Report theo dạng crosstab Query
paulsteigel > 22-08-16, 11:27 PM
(22-08-16, 10:26 PM)TIEULONG Đã viết: ..
Bạn đang phức tạp hóa yêu cầu của mình rồi! Trong thực tế, người ta không làm việc như vậy do mấy lý do sau đây:
1. Số lượng nhà cung cấp là bất định;
2. Yêu cầu mới của bạn là yêu cầu báo cáo theo nhà sản xuất chứ không phải là một yêu cầu so sánh (vì so số lượng không có ý nghĩa gì, trừ khi có chính sách về số lượng thì giá giảm/tăng).
Về mặt kỹ thuật, có thể làm được điều đó nhưng đòi hỏi kỹ thuật lập trình phức tạp.
Cần 2 Truy vấn riêng biệt theo giá và theo số lượng sau đó trộn 2 truy vấn vào 1 kết quả và mỗi lần có thêm nhà cung cấp lại phải sửa lại truy vấn này.
Với môi trường lập trình, điều đó là bất cập.
Truy vấn 1
Truy vấn 2Mã:TRANSFORM First(b.Don_gia) AS FirstOfDon_gia
SELECT b.Ten_hang
FROM tblNCC AS a INNER JOIN T_TEST AS b ON a.ID = b.ID_NCC
GROUP BY b.Ten_hang
PIVOT b.ID_NCC;
Truy vấn 3Mã:TRANSFORM Sum(b.Soluong) AS SumOfSoluong
SELECT b.Ten_hang
FROM tblNCC AS a INNER JOIN T_TEST AS b ON a.ID = b.ID_NCC
GROUP BY b.Ten_hang
PIVOT b.ID_NCC;
Trong đó 1, 2, 3, 4 .... là các mã nhà cung cấp. Bạn thấy không?Mã:SELECT a.Ten_hang, a.[1], b.[1], a.[2], b.[2], a.[3], b.[3], a.[4], b.[4]
FROM qry_price_compare AS b INNER JOIN qry_quantity_compare AS a ON b.Ten_hang = a.Ten_hang;
Vì vậy, bạn nên xem lại yêu cầu của mình thay vì phức tạp hóa vấn đề lên!
Thân!