I. Hàm/Thủ tục thường dùng
I.2. Nhóm hàm thao tác dữ liệu
Trong quá trình tạo những màn hình làm việc trong Microsoft Access, ngoài những kiểu dữ liệu thông thường đã được giới thiệu trong bài trước còn có một dạng dữ liệu đặc biệt quan trọng cần phải xử lý đó là thông tin được lưu trong các đối tượng bảng (Table) của cơ sở dữ liệu đang làm việc.
Mọi thao tác trên đối tượng Form gần như xoay quanh việc xử lý dữ liệu được lưu trong bảng. Nhưng về nguyên tắc ta không thể truy xuất trực tiếp vào dữ liệu được lưu trong các bảng khi viết lệnh xử lý bằng ngôn ngữ VBA.
Do đó, VBA cung cấp một số hàm giúp người lập trình có thể dễ dàng truy xuất vào dữ liệu của bảng mà không phải lập trình nhiều.
Một quy tắc chung khi sử dụng những hàm này là ta phải dựa vào cấu trúc tổ chức của đối tượng đang lưu trữ dữ liệu cần truy xuất, Table hay Query chứa dữ liệu. Việc truy xuất dữ liệu tập trung vào những Field có trong đối tượng lưu trữ.
I.2.1. DCount, DSum, DAvg
Nhóm hàm dùng để tính toán thống kê tập giá trị của Field có trong đối tượng lưu trữ thông tin cần truy xuất. Ta cũng có thể thực hiện việc tính toán thống kê theo điều kiện trên tập giá trị của đối tượng.
DCount
Cú pháp
DCount(“Tên Field”, “Tên đối tượng”, “Điều kiện đếm”)
Với cú pháp trên, hàm DCount sẽ đếm tổng số dòng trong tập dữ liệu có tên là Tên đối tượng thoả hai điều kiện sau:
Giá trị của Field ứng với Tên Field khác rỗng Điều kiện đếm đúng
Tên đối tượng có thể là tên của một bảng hay tên một câu truy vấn chọn dữ liệu.
Điều kiện đếm là biểu thức so sánh mà vế trái phải là tên của một Field có trong Tên đối tượng và vế phải là giá trị cần so sánh.
Tham số Điều kiện đếm có thể không cần truyền vào, khi đó hàm DCount sẽ đếm trong nguồn dữ liệu tổng số dòng mà giá trị của Field cần đếm khác rỗng.
Chứng chỉ B Tin Học Quốc Gia Trang 71/131
Ví dụ:
DCount(“MaSV”, “SinhVien”, “MaKhoa = ‘TH’”)
Thao tác đếm trên sẽ cho biết tổng số sinh viên của Khoa có Mã khoa là TH. Trong ví dụ trên, ta cần chú ý đến cách tạo ra chuỗi Điều kiện đếm: MaKhoa là tên của Field có trong bảng SinhVien, giá trị cần so sánh là TH.
Ở đây, do MaKhoa có kiểu dữ liệu chuỗi nên khi xây dựng Điều kiện đếm ta sẽ ghép thêm cặp dấu nháy đơn (‘ ’) bao giá trị cần so sánh. Nếu kiểu dữ liệu cần so sánh là ngày thì ta phải có 2 dấu rào (##), kiểu số thì không cần.
Chuỗi Điều kiện đếm có thể kết hợp nhiều biểu thức so sánh với nhau bằng các phép toán logic.
Để đếm được chính xác số dòng của tập dữ liệu người ta thường dựa trên Field là khoá chính của bảng.
Nếu không có dòng nào thỏa điều kiện đếm thì giá trị trả về của hàm DCount là 0.
DSum
Cú pháp
DSum(“Tên Field”, “Tên đối tượng”, “Điều kiện thống kê”)
Hàm DSum sẽ tính tổng giá trị của Field ứng với Tên Field trong tập dữ liệu có tên là Tên đối tượng thoả Điều kiện thống kê. Nếu điều kiện không có thì hàm sẽ tính tổng giá trị của tất cả dòng có trong tập dữ liệu.
Một điểm cần lưu ý là Field cần thống kê phải có kiểu dữ liệu là số.
Ví dụ:
Tính tổng học bổng của sinh viên thuộc khoa Tin Học như sau:
DSum(“HocBong”, “SinhVien”, “MaKhoa = ‘TH’”)
Nếu không có dòng nào thỏa điều kiện thống kê thì giá trị trả về của hàm DSum là Null.
DAvg
Cú pháp
DAvg(“Tên Field”, “Tên đối tượng”, “Điều kiện thống kê”)
Hàm DAvg sẽ tính giá trị trung bình của Field ứng với Tên Field trong tập dữ liệu có tên là Tên đối tượng thoả Điều kiện thống kê. Nếu điều kiện không có thì hàm sẽ tính trung bình giá trị của tất cả dòng có trong tập dữ liệu.
Cách sử dụng tương tự như DSum.
I.2.2. DMax, DMin
Hai hàm này dùng để tìm giá trị lớn nhất và nhỏ nhất của Field có trong tập dữ liệu.
Chứng chỉ B Tin Học Quốc Gia Trang 72/131
DMax
Cú pháp
DMax(“Tên Field”, “Tên đối tượng”, “Điều kiện tìm”)
Hàm DMax dùng tìm giá trị lớn nhất của Field ứng với Tên Field trong tập dữ liệu có tên là Tên đối tượng thoả Điều kiện tìm. Nếu điều kiện không có thì hàm sẽ tìm giá trị lớn nhất có trong tập dữ liệu.
Nếu không có dòng nào thỏa điều kiện tìm thì giá trị trả về của hàm DMax là Null.
DMin
Cú pháp
DMin(“Tên Field”, “Tên đối tượng”, “Điều kiện tìm”)
Hàm DMin dùng tìm giá trị nhỏ nhất của Field ứng với Tên Field trong tập dữ liệu có tên là Tên đối tượng thoả Điều kiện tìm. Nếu điều kiện không có thì hàm sẽ tìm giá trị nhỏ nhất có trong tập dữ liệu.
Nếu không có dòng nào thỏa điều kiện tìm thì giá trị trả về của hàm DMin là Null.
I.2.3. DLookup
Hai hàm này dùng để tìm giá trị của Field có trong tập dữ liệu theo điều kiện tìm. Cú pháp
Dlookup(“Tên Field”, “Tên đối tượng”, “Điều kiện tìm”)
Hàm DLookup dùng tìm giá trị của Field ứng với Tên Field trong tập dữ liệu có tên là Tên đối tượng thoả Điều kiện tìm. Nếu điều kiện không có thì hàm sẽ trả về giá trị của dòng đầu tiên có trong tập dữ liệu. Nếu không tìm thấy thì Null sẽ được trả về.