Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tính toán các giá trị trong 1 trường
#1
Thân chào các Anh/Chị!
Công việc của Tôi là đi đo số đồng hồ nước của các hộ gia đình trong một khu vực rồi tính ra số khối sử dụng trong từng tháng. Do nhu cầu muốn tổng hợp lượng nước tiêu thụ trong cả năm của các hộ trên theo từng tháng,,,,các tính toán khác nên Tôi có tạo 1 file access (mới nghiên cứu access) gồm 2 table: SODH(ngay,sodh); KHOI(ngay,soluong). Số đồng hồ thì Tôi sẽ nhập vào table SODH, tuy nhiên Tôi không biết có cách nào để tính ra soluong (số khối tiêu thụ) trong table KHOI. Vậy kính nhờ các Anh/Chị trên diễn đàn chỉ giúp mẹo nào đó để tính đuợc số khối nước tiêu thụ từng tháng. File đính kèm. Cảm ơn!

Link file
Chữ ký của peid210985 peid210985,gia nhập Thủ Thuật Access từ 25-09 -15.
Reply
Những người đã cảm ơn
#2
Bạn xem file Demo đính kèm.
Tôi có làm 2 cái query (có và không có điều kiện) để tính số nước tiêu thụ: 1 cái tính toàn bộ table, 1 cái tính theo ngày ghi được nhập.

Demo Tính số nước tiêu thụ

[Hình: TinhSoNuocTT.png]

Query số nước tiêu thụ không điều kiện:
Mã PHP:
SELECT SODH.ngaySODH.sodhSODH.sodh-(SELECT TOP 1 [sodhFROM SODH AS Q WHERE Q.sodh SODH.sodh ORDER BY Q.sodh DESC) AS SoNuocTieuThu
FROM SODH
WHERE 
((SELECT TOP 1 sodh FROM SODH AS Q WHERE Q.sodh SODH.sodhIs Not Null)
ORDER BY SODH.sodh

Query số nước tiêu thụ có điều kiện ngày:
Mã PHP:
SELECT SODH.ngaySODH.sodhSODH.sodh-(SELECT TOP 1 [sodhFROM SODH AS Q WHERE Q.sodh SODH.sodh AND SODH.ngay LIKE [Nhap ngay can kiem tra:] ORDER BY Q.sodh DESC) AS SoNuocTieuThu
FROM SODH
WHERE 
((SELECT TOP 1 sodh FROM SODH AS Q WHERE Q.sodh SODH.sodh AND SODH.ngay LIKE [Nhap ngay can kiem tra:]) Is Not Null)
ORDER BY SODH.sodh
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , peid210985 , tranthanhan1962 , maidinhdan , thucgia
#3
Cảm ơn Bạn!
Chữ ký của peid210985 peid210985,gia nhập Thủ Thuật Access từ 25-09 -15.
Reply
Những người đã cảm ơn
#4
(27-09-15, 03:48 PM)ongke0711 Đã viết: Bạn xem file Demo đính kèm.
Tôi có làm 2 cái query (có và không có điều kiện) để tính số nước tiêu thụ: 1 cái tính toàn bộ table, 1 cái tính theo ngày ghi được nhập.

Demo Tính số nước tiêu thụ

[Hình: TinhSoNuocTT.png]

Query số nước tiêu thụ không điều kiện:
Mã PHP:
SELECT SODH.ngaySODH.sodhSODH.sodh-(SELECT TOP 1 [sodhFROM SODH AS Q WHERE Q.sodh SODH.sodh ORDER BY Q.sodh DESC) AS SoNuocTieuThu
FROM SODH
WHERE 
((SELECT TOP 1 sodh FROM SODH AS Q WHERE Q.sodh SODH.sodhIs Not Null)
ORDER BY SODH.sodh

Query số nước tiêu thụ có điều kiện ngày:
Mã PHP:
SELECT SODH.ngaySODH.sodhSODH.sodh-(SELECT TOP 1 [sodhFROM SODH AS Q WHERE Q.sodh SODH.sodh AND SODH.ngay LIKE [Nhap ngay can kiem tra:] ORDER BY Q.sodh DESC) AS SoNuocTieuThu
FROM SODH
WHERE 
((SELECT TOP 1 sodh FROM SODH AS Q WHERE Q.sodh SODH.sodh AND SODH.ngay LIKE [Nhap ngay can kiem tra:]) Is Not Null)
ORDER BY SODH.sodh
Cũng phải mất nửa ngày mới hiểu được bản chất các câu lệnh SQL trên. Càng làm càng nảy sinh nhiều vấn đề thắc mắc hjx hjx 020 . Vẫn chủ đề ghi số đồng hồ và tính lượng nước. Mình có tạo 2 table (file đính kèm): HOGD(magd,tengd), SODH(ngayghi,magd,sodh1,sodh2,sodh3). Bài toán là hằng ngày mình đi ghi số đồng hồ nước cho 2 hộ gia đình, mỗi gia đình có 3 đồng hồ nước. Thân mến thắc mắc nội dung sau:
Để tính lượng nước của từng hộ gđ theo từng ngày hoặc trong một khoảng thời gian bất kỳ thì mình tạo 2 table như thế có được không? cách làm như thế nào? 027
Mong các bô lão định hướng giúp! 007

Link demo
Chữ ký của peid210985 peid210985,gia nhập Thủ Thuật Access từ 25-09 -15.
Reply
Những người đã cảm ơn
#5
Để lão có ý kiến nhé.  014
Tôi nghĩ bạn nên ngồi liệt kê tất cả các nghiệp vụ có thể phát sinh, các yêu cầu có thể có đối với cái dữ liệu ghi đồng hồ nước rồi mới thiết kế các table liên quan để tránh sau này phải ngồi làm mới lại khi phát sinh trường hợp không truy vấn, xử lý được hoặc phức tạp v.v..
Ví dụ: một số thông tin để thiết kế table như
- Liên quan đến hộ gia đình: số nhân khẩu/hộ -> vì liên quan đến định mức nước sử dụng; Số định mức nước…
- Liên quan đến thanh toán: tháng đó đã thanh toán chưa (để có thêm cột thanh toán yes/no ví dụ); Cần truy vấn GD nào, đồng hồ nào, số nước, tháng nào chưa thanh toán…
- …
Tôi nghĩ bạn nên thiết kế table dạng theo row để sau này dễ truy vấn chi tiết hơn.
VD: như hình bên dưới

[Hình: TinhSoNuoc2.png]


Về phần truy vấn số nước tiêu thụ như bạn đề cập thì cách của tôi sẽ là:
- Khi có nhập số đồng hồ nước mới, sẽ chạy update luôn số nước tiêu thụ (nhờ vào các query như đã gửi lúc trước). Tại sao phải cập nhật lên table cho từng phát sinh luôn vì: bạn không thể chạy cái query tính số nước tiêu thụ toàn bộ table, vì khi CSDL lớn sẽ biết hậu quả... undefined . Do đó tôi sẽ cắt ra chỉ query đến tháng trước tháng đang nhập liệu 1 tháng thôi rồi update ngay.
- Để update, chạy query tạo table tạm số nước TT, sau đó query update table tạm đó vô table tổng hợp.
Tôi có làm demo mấy cái query trong file đính kèm.
Cách làm của tôi là vậy, bạn tự nghiên cứu làm thêm các phần râu ria và tham khảo ý kiến của các bô lão khác nữa nhé.

Demo
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , peid210985 , tranthanhan1962


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Lỗi] Hàm Dsum bi lôi khi sư dụng trong query Phung Duc 1 173 13-09-16, 03:44 PM
Bài mới nhất: ongke0711
  [Hỏi] Chữ IN HOA trong table diepvien1989 5 303 08-09-16, 10:16 PM
Bài mới nhất: Nguyen Hoang Diep
  [Help] ràng buộc dữ liệu giữa 2 field trong 2 bảng khác nhau hoangtiep 5 277 08-07-16, 05:07 PM
Bài mới nhất: maidinhdan
  Lấy dử liệu từ Excel vào table trong Access LINH_AN 1 261 02-06-16, 01:33 PM
Bài mới nhất: ledangvan
  [Lỗi] Ko thể chọn text box trong office 2013 docaohung 7 1,613 20-02-16, 11:00 AM
Bài mới nhất: hoangnhan087

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ơ