Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hướng dẫn] Thống kê sách và thống kê độc giả không ra kết quả đúng ?
#1
Data của mình, xin ai hướng dẫn dùm ở form thống kê sách ( F_ThongKe ) và thống kê độc giả (F_ThongKeDG), ở phần thống kê theo năm đăng ký và theo năm nhập, kết quả không ra, mặc dù mình kiểm tra code lại rồi, không có sai, vậy phải thêm điều kiện gì trong Query hay thêm code gì nữa không. Các phần thống kê còn lại đúng, chỉ riêng 2 phần này không được. Ai giúp mình hoàn thiện nốt phần này được không ?
File của mình đây : http://www.mediafire.com/?qf1448f7gy3b9lb
Chữ ký của vietqlc Xin chào, mình là vietqlc, Tham gia http://thuthuataccess.com/forum từ ngày 03-10 -12.
Reply
Những người đã cảm ơn
#2
Chào bạn,
Bạn thiết kế database hơi bị "lạ"
- Theo mình thấy thì bạn dựa vào 4 ký tự đầu của IDSach để xác định năm xuất bản của Sách nhưng trong table Tbl_CTXB lại có field NamXB, trong đó Năm xuất bản lại có giá trị "tréo ngoe" khác. Nên việc thiết kế cái Subform cho ra dữ liệu hiển thị sai.
- Điều kiện trong Query "Q_ThongKeSachTheNam" là dữ liệu kiểu chuỗi nhưng bạn đưa vào lại là dữ liệu kiểu Number. Vì thế, chỗ này bạn thêm hàm Val vào thì sẽ khắc phục được, cụ thể code cho Query này như sau:
Mã:
SELECT Tbl_Sach.IDSach, Tbl_Sach.TenSach, Tbl_NgonNgu.TenNgonNgu, Tbl_TheLoai.TenTheLoai, Tbl_Kho.TenKho, Tbl_TacGia.TenTacGia, Tbl_NhaXB.TenNhaXB, Tbl_CTXB.NamXB, Tbl_CTXB.LanXB, Tbl_CTXB.SoTrang, Tbl_CTXB.Gia, Tbl_CTXB.KemCD, Tbl_CTXB.SoLuong
FROM Tbl_TheLoai INNER JOIN (Tbl_TacGia INNER JOIN (((Tbl_NgonNgu INNER JOIN (Tbl_Kho INNER JOIN Tbl_Sach ON Tbl_Kho.IDKho = Tbl_Sach.IDKho) ON Tbl_NgonNgu.IDNgonNgu = Tbl_Sach.IDNgonNgu) INNER JOIN (Tbl_NhaXB INNER JOIN Tbl_CTXB ON Tbl_NhaXB.IDNXB = Tbl_CTXB.IDNXB) ON Tbl_Sach.IDSach = Tbl_CTXB.IDSach) INNER JOIN Tbl_SangTac ON Tbl_Sach.IDSach = Tbl_SangTac.IDSach) ON Tbl_TacGia.IDTacGia = Tbl_SangTac.IDTacGia) ON Tbl_TheLoai.IDTheLoai = Tbl_Sach.IDTheLoai
WHERE (((Val(Left([tbl_Sach].[IDSach],4)))=[forms]![F_ThongKe]![TxtNhap]));
Chữ ký của nhannt4 Xin chào, mình là nhannt4, Tham gia http://thuthuataccess.com/forum từ ngày 22-07 -12.
Reply
Những người đã cảm ơn
#3
(22-11-12, 05:18 PM)nhannt4 Đã viết: Chào bạn,
Bạn thiết kế database hơi bị "lạ"
- Theo mình thấy thì bạn dựa vào 4 ký tự đầu của IDSach để xác định năm xuất bản của Sách nhưng trong table Tbl_CTXB lại có field NamXB, trong đó Năm xuất bản lại có giá trị "tréo ngoe" khác. Nên việc thiết kế cái Subform cho ra dữ liệu hiển thị sai.
- Điều kiện trong Query "Q_ThongKeSachTheNam" là dữ liệu kiểu chuỗi nhưng bạn đưa vào lại là dữ liệu kiểu Number. Vì thế, chỗ này bạn thêm hàm Val vào thì sẽ khắc phục được, cụ thể code cho Query này như sau:
Mã:
SELECT Tbl_Sach.IDSach, Tbl_Sach.TenSach, Tbl_NgonNgu.TenNgonNgu, Tbl_TheLoai.TenTheLoai, Tbl_Kho.TenKho, Tbl_TacGia.TenTacGia, Tbl_NhaXB.TenNhaXB, Tbl_CTXB.NamXB, Tbl_CTXB.LanXB, Tbl_CTXB.SoTrang, Tbl_CTXB.Gia, Tbl_CTXB.KemCD, Tbl_CTXB.SoLuong
FROM Tbl_TheLoai INNER JOIN (Tbl_TacGia INNER JOIN (((Tbl_NgonNgu INNER JOIN (Tbl_Kho INNER JOIN Tbl_Sach ON Tbl_Kho.IDKho = Tbl_Sach.IDKho) ON Tbl_NgonNgu.IDNgonNgu = Tbl_Sach.IDNgonNgu) INNER JOIN (Tbl_NhaXB INNER JOIN Tbl_CTXB ON Tbl_NhaXB.IDNXB = Tbl_CTXB.IDNXB) ON Tbl_Sach.IDSach = Tbl_CTXB.IDSach) INNER JOIN Tbl_SangTac ON Tbl_Sach.IDSach = Tbl_SangTac.IDSach) ON Tbl_TacGia.IDTacGia = Tbl_SangTac.IDTacGia) ON Tbl_TheLoai.IDTheLoai = Tbl_Sach.IDTheLoai
WHERE (((Val(Left([tbl_Sach].[IDSach],4)))=[forms]![F_ThongKe]![TxtNhap]));
Mình làm code cho query Q_ThongKeSachTheoNam như vậy rồi nhưng vẫn không có kết quả. Bạn xem lại code giúp
Chữ ký của vietqlc Xin chào, mình là vietqlc, Tham gia http://thuthuataccess.com/forum từ ngày 03-10 -12.
Reply
Những người đã cảm ơn
#4
Sao lại không được, mình đã test kỹ rồi.
Bạn xem lại phần dữ liệu hiển thị trên Subform đi, dữ liệu này là không đúng so với thực tế (xử lý dữ liệu lấy 4 ký tự đầu là năm xuất bản nhưng field NamXB lại nhập giá trị khác -> dữ liệu không thống nhất: điều kiện 1 đằng mà xử lý dữ liệu 1 nẻo). Chính xác nhất là bạn mở table Tbl_Sach ra xem phần 4 ký tự đầu của IDSach rồi dựa vào nó test thử xem.
P/s: mình đã chỉnh sửa lại file của bạn hoàn chỉnh (chỉ thêm đúng hàm Val vào) và chạy tốt nhưng không up lên, lý do là để bạn tìm ra lỗi và khắc phục thì sẽ hay hơn.
Chữ ký của nhannt4 Xin chào, mình là nhannt4, Tham gia http://thuthuataccess.com/forum từ ngày 22-07 -12.
Reply
Những người đã cảm ơn
#5
(23-11-12, 09:56 AM)nhannt4 Đã viết: Sao lại không được, mình đã test kỹ rồi.
Bạn xem lại phần dữ liệu hiển thị trên Subform đi, dữ liệu này là không đúng so với thực tế (xử lý dữ liệu lấy 4 ký tự đầu là năm xuất bản nhưng field NamXB lại nhập giá trị khác -> dữ liệu không thống nhất: điều kiện 1 đằng mà xử lý dữ liệu 1 nẻo). Chính xác nhất là bạn mở table Tbl_Sach ra xem phần 4 ký tự đầu của IDSach rồi dựa vào nó test thử xem.
P/s: mình đã chỉnh sửa lại file của bạn hoàn chỉnh (chỉ thêm đúng hàm Val vào) và chạy tốt nhưng không up lên, lý do là để bạn tìm ra lỗi và khắc phục thì sẽ hay hơn.

Mình đã làm được phần này nhưng còn cái form F_ThongKeDG đó bạn, code mình là Docmd.openreport.R_ThongKeDocGiaTheoNam....... nhưng khi thực thi thì nó chạy R_ThongKeDocGia ( thống kê tàn bộ độc giả ). Mình mong bạn hướng dẫn nốt mình phần này. Thực sự không biết tại sao lun
Chữ ký của vietqlc Xin chào, mình là vietqlc, Tham gia http://thuthuataccess.com/forum từ ngày 03-10 -12.
Reply
Những người đã cảm ơn
#6
Chào bạn,
Bạn viết code chưa được gọn nên rất khó kiểm tra.
Mình đề xuất như sau:
- Đặt tên Frame0 lại thành FrThongke, đặt giá trị Default Value cho nó là 0
- Viết code lại cho sự kiện CmdXem_Click như sau:
Mã:
Select Case FrThongke.Value
        Case 0
            DoCmd.OpenReport "R_ThongKeDocGia", acViewPreview
        Case 1
            DoCmd.OpenReport "R_ThongKeDocGiaTheoLop", acViewPreview
        Case 2
            DoCmd.OpenReport "R_ThongKeDocGiaTheoGioiTinh", acViewPreview
        Case 3
            DoCmd.OpenReport "R_ThongKeDocGiaTheoNam", acViewPreview
        Case 5
            DoCmd.OpenReport "R_DocGiaChuaTraSach", acViewPreview
    End Select
Chữ ký của nhannt4 Xin chào, mình là nhannt4, Tham gia http://thuthuataccess.com/forum từ ngày 22-07 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Chỉnh giúp Form thống kê hoanghai902 2 124 28-10-16, 06:15 PM
Bài mới nhất: hoanghai902
  Không cho phép điều chỉnh kích thước của Form ChiMai 1 126 18-09-16, 01:27 PM
Bài mới nhất: ongke0711
  Không cho phép click phải chuột trên form ChiMai 2 143 03-09-16, 09:33 PM
Bài mới nhất: ongke0711
Rainbow [Help] E tạo Form nhập liệu cho table ma không dc BUIHUUDIEN 11 545 24-08-16, 12:30 AM
Bài mới nhất: toancvp
  Không nhập liệu được bằng Form ChiMai 8 377 23-07-16, 11:01 PM
Bài mới nhất: hungefi

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ