Giúp xử lý trong tạo query

Liên hệ QC

nguyen trunghoa

Thành viên mới
Tham gia
11/8/09
Bài viết
21
Được thích
0
Nghề nghiệp
Day hoc
@#!^%Mình đang tập làm phần mềm phân công giáo viên bằng access nhưng khi tạo query (Phan cong) gặp khó khăn như sau:
Trong query nếu có 2 dòng trùng nhau ở 1 cột (Mã GV và Tên GV) thì các cột khác sẽ: cộng (Tiết KN) hoặc nối chuỗi lại (Tên KN) thì làm sao?
Mình đang rất cần, nhờ các bạn giải giúp. Cảm ơn!
Đây là file mình đang làm https://drive.google.com/file/d/0B0tcOP4eIVsbUGgtN2pzTEZiOEU/edit?usp=sharing
 
Lần chỉnh sửa cuối:
Dùng query với lệnh Group By.
Tuy nhiên, theo chuẩn SQL thì các hàm tổng chỉ hoạt động trên trường loại số - trừ hàm count/max/min. Những trường loại string không thể tổng được.
Các loại csdl hạng nặng như ms SQL Server hay MySQL có cách đặc biệt để làm. Nhưng Access không có. Vì vậy phải viết hàm người dùng bằng VBA để hổ trợ.
nếu bạn tập làm Access thì hãy tạm khoan đụng vào cái này, mất thì giờ lắm. Bao giờ bạn sử dụng thuần thục tất cả các phương pháp căn bản rồi hãy quay trở lại thử giải quyết chuyện này.

lưu ý tôi nói thuần thục có nghĩa là ít nhất đã qua trình độ trung bình. Thủ thuật concatenate này chỉ kém dưới thủ thuật crosstab thôi.
 
Đôi khi trùng khóa chính cũng gây ra hiện tượng này , bạn thử kiểm tra lại xem

Bạn học csdl LH ở đâu vậy?
Bảng này đúng chuẩn đến bậc 3 rồi. Chỉ vì mệnh đề Group By theo tiêu chuẩn SQL thì không thể tổng chuỗi cho nên các phần mềm thượng hạng như sql server phải đặt ra cách làm riêng. Nhưng Access thì không có nên phải dùng Vba.

chú thích: lệnh select for XML của T-SQL (SQL server) có thể dùng để nối chuỗi trong trường hợp này. Nhưng select for XML không phải là lệnh SQL tiêu chuẩn.

=== đính chính ===

Tôi nói bảng chuẩn bậc 3 là dựa trên lời của chủ thớt: mã gv và tên gv là 1 cột. Nếu 2 dữ liệu này là 2 cột thì không đúng chuẩn bậc 2, đã không chuẩn 2 thì không thể chuẩn 3. (Tiếng chuyên môn là 3rd order normalisation)
Tuy nhiên, đề bài này chỉ liên quan đến chuẩn bậc 1. Chuẩn 2-3 không ảnh hưởng đến bài.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom