C 2 ký tự đi diện là:
B ớc 1: Tạo Query từ 2 bảng liờn kết HANG-CHITIETHOADON bao gồm cỏc trường
SoHD, MaHang, Sluong, DonGia lấy từ bảng CHITIETHOADON, và TenHang lấy từ bảng HANG.
B ớc 2: Đưa chuột vào cột trống ngay sau cỏc trường trờn tại dũng Field và gừ: ThanhTien : SLuong*Dongia và Enter. Kết quả hiển thị như sau: ThanhTien : SLuong*Dongia và Enter. Kết quả hiển thị như sau:
Thực thi Query để được kết quả như sau:
Chỳ ý: Sluong*Dongia là 2 tờn trường Sluong, Dongia trong bảng CHITIETHOADON,
nếu trong trường hợp đặt tờn trường cú dấu cỏch, hay dấu tiếng Việt, cần phải cú dấu [] để MS Access biết chuỗi nằm trong cặp dấu [] là tờn của một trường.
(2). Lọc tất cả cỏc mặt hàng đó bỏn cú ThanhTien >=$200
Tương tự như (1) nhưng đối với trường hợp này loc dữ liệu cú điều kiện, xem mục 3.5. Xem cửa sổ thiết kế như sau:
Kết quả:
Khả năng tớnh toỏn trong cõu truy vấn của Access bao gồm cỏc phộp toỏn + - * /, cỏc phộp kết nối chuỗi (cộng chuỗi)…, bờn cạnh đú Access cũn sử dụng một số hàm tớnh toỏn và xử lý chuỗi (tỏch chuỗi), hàm ngày giờ, hàm kiểm tra điều kiện IIF… để nõng cao khả năng truy vấn dữ liệu đỏp ứng yờu cầu của người dựng.
Một số hàm cơ bản:
Date() : trả về ngày hiện tại Now() trả về ngày giờ hiện tại
Chr(charcode): trả về ký tự ASCII cú mó là charcode trong bảng mó , chr(65) -> a
Format(expression, frmt): định dạng biểu thức (hoặc một trường, thụng thường là trường
ngày giờ) expression theo dạng frmt. Vớ dụ: format(‘15 07 2006’, mm yy ) -> 07/06. Xem thờm phần trợ giỳp của Access về frmt.
Left(<chuỗi>, n): cắt <chuỗi> đi n ký tự đầu tiờn
Right(<Chuỗi>, m): cắt <chuỗi > đi m ký tự tớnh từ bờn phải cựng của chuỗi Trim (chuỗi): xúa cỏc ký tự trắng ở hai đầu của chuỗi
IIF(<biểu thức điều kiện>, <giỏ trị đ ng>, <giỏ trị sai>): trả về <giỏ trị đỳng nếu biểu thức điều kiện đỳng và trả về giỏ trị sai nếu biểu thức điều kiện sai.
Xột m t số cõu hỏi sau để minh họa thờm cho việc tớnh toỏn trong Query:
(1). Lọc tất cả cỏc mặt hàng đó bỏn với Sluong >=3 và giảm 10% tổng tiền
Phõn tớch: Sluong>=3 là điều kiện lọc của trường Sluong, giảm 10%tổng tiền tức là trường
ThanhTien = [dongia]*[sluong]-[dongia]*[sluong]*0.1 = [dongia]*[sluong]*0.9
(2) Đưa ra danh sỏch cỏc mặt hàng đó bỏn trong thỏng 05/2005 và giảm 10% tổng tiền cho cỏc mặt hàng bỏn ra với số l ợng >3.
Phõn tớch:
- Để đỏp ứng được yờu cầu của cõu hỏi cần sử dụng 2 bảng HOADON (ngayban) va CHITIETHOADON.
- ở cõu hỏi này yờu cầu là hiển thị tất cả cỏc mặt hàng đó bỏn được trong thỏng 5 2005 nghĩa là điều kiện Format(NgayBan ,”mm/yyyy”) = “05/2005”
- Và Nếu cỏc mặt hàng bỏn với số lượng >3 mới giảm giỏ 10% ở tổng tiền, nghĩa là:
Thanhtien = IIF(sluong>3, [dongia]*[sluong]*0.9, [dongia]*[sluong])
Kết quả thiết kế Query như sau: