AnNguyen > 21-02-20, 12:42 PM
ongke0711 > 21-02-20, 12:47 PM
tranthanhan1962 > 21-02-20, 03:45 PM
AnNguyen > 21-02-20, 04:27 PM
(21-02-20, 03:45 PM)tranthanhan1962 Đã viết: Câu hỏi chưa rõ ràng lắm, đếm ký tự bao nhiêu chữ A, bao nhiêu chữ B, hay đếm kiểu xếp loại, phân loại, và mục đích chuyện đếm này để làm gì? Đếm cho từng field hay đếm cho tất cả các field, tổng cộng bao nhiêu field được đếm...Dạ em đếm tất cả các field ạ. Từ 1 đến 31 ạ. 31
Xuân Thanh > 21-02-20, 04:51 PM
(21-02-20, 01:06 PM)AnNguyen Đã viết:(21-02-20, 12:47 PM)ongke0711 Đã viết: Bảng thiết kế như thế nào?MaHS| MaThang | n1 | n2 |...| n31 |
SG09 | 022020 | X | HT|...| HT |
Đây như này anh ạ
tranthanhan1962 > 21-02-20, 05:26 PM
Function TongKyTu(Chuoi As String, KytuTim As String)
Dim sochu, SOLAN As Integer
sochu = Len(Chuoi)
TongKyTu = 0
For SOLAN = 1 To sochu
If Mid(Chuoi, SOLAN, 1) = KytuTim Then
TongKyTu = TongKyTu + 1
End If
Next SOLAN
End Function
AnNguyen > 21-02-20, 05:48 PM
(21-02-20, 04:51 PM)Xuân Thanh Đã viết:Nhưng chuyên cần chấm từng ngày anh ạ. Nếu k làm từng cột tương ứng từng ngày thì thế nào ạ? Vì em chưa hiểu và hình dung ra cách của anh ạ.(21-02-20, 01:06 PM)AnNguyen Đã viết:(21-02-20, 12:47 PM)ongke0711 Đã viết: Bảng thiết kế như thế nào?MaHS| MaThang | n1 | n2 |...| n31 |
SG09 | 022020 | X | HT|...| HT |
Đây như này anh ạ
Table thiết kế kiểu này e chưa được ổn cho lắm
Nếu tôi thiết kế thì như thế này, chỉ cần 3 cột
Ngay, MaHS, MaChuyenCan hoặc đảo ngược lại là MaHS, Ngay, MaChuyenCan
Khi đó có thể dùng DCount mà đếm theo MaHS và Month(Ngay)
AnNguyen > 21-02-20, 05:51 PM
(21-02-20, 05:26 PM)tranthanhan1962 Đã viết: OK! Hiểu rồi, Cái này thì cũng tương đối dễ, vì mình cũng có mấy cái function gần giống chỉ sửa lại một tí. Nếu ký tự bạn tìm là "HT" và không có tiêu chuẩn nào dính dáng đến ký tự "H", thì chỉ cần đếm chữ "H". Bạn tạo một module rồi đưa function này vào, Đây là function tìm 1 ký tự:Vâng em cảm ơn để em thử ạ.
Mã:Function TongKyTu(Chuoi As String, KytuTim As String)
Dim sochu, SOLAN As Integer
sochu = Len(Chuoi)
TongKyTu = 0
For SOLAN = 1 To sochu
If Mid(Chuoi, SOLAN, 1) = KytuTim Then
TongKyTu = TongKyTu + 1
End If
Next SOLAN
End Function
Bạn tạo một query trên field mới tính công thức bạn gõ function này vào (cũng có thể chuột phải vào Build.. mở Functions chọn tên tập tin access của bạn --> chọn function TongKyTu. Trên Expression Builder sẽ hiển thị TongKyTu («Chuoi», «KytuTim»), Tham số «Chuoi» sẽ là một biểu thức nối tất cả các chuỗi của những field của bạn cần tìm. Trong phần trình bày của bạn là: [n1] & [n2] & ... & [n31], tham số «KytuTim» là "H"
Công thức đầy đủ sẽ là: X = TongKyTu ([n1] & [n2] & ... & [n31], "H"), Bạn cũng có thể thay đổi tham số «KytuTim» để tìm những ký tự khác.
Trường hợp bạn có nhiều điều kiện chứa chữ H (ví vụ HT, HP...) thì sẽ báo lại tôi sẽ xử lý thêm điều kiện.
tranthanhan1962 > 21-02-20, 06:02 PM
(21-02-20, 05:48 PM)AnNguyen Đã viết:Cái này giống như bài toán chấm công vậy. Mỗi ngày mỗi chấm. Thực ra cũng không cần viết function đếm chữ làm gì.(21-02-20, 04:51 PM)Xuân Thanh Đã viết:Nhưng chuyên cần chấm từng ngày anh ạ. Nếu k làm từng cột tương ứng từng ngày thì thế nào ạ? Vì em chưa hiểu và hình dung ra cách của anh ạ.(21-02-20, 01:06 PM)AnNguyen Đã viết:(21-02-20, 12:47 PM)ongke0711 Đã viết: Bảng thiết kế như thế nào?MaHS| MaThang | n1 | n2 |...| n31 |
SG09 | 022020 | X | HT|...| HT |
Đây như này anh ạ
Table thiết kế kiểu này e chưa được ổn cho lắm
Nếu tôi thiết kế thì như thế này, chỉ cần 3 cột
Ngay, MaHS, MaChuyenCan hoặc đảo ngược lại là MaHS, Ngay, MaChuyenCan
Khi đó có thể dùng DCount mà đếm theo MaHS và Month(Ngay)