3.4.1 Truy vấn tham số
3.4.1.1 Khâi niệm truy vấn tham số
Nếu thƣờng xuyín chạy cùng một truy vấn, nhƣng mỗi lần một tiíu chuẩn khâc nhau, thay vì phải thiết kế lại truy vấn sau mỗi lần thực hiện, có thể tiết kiệm thời gian bằng câch tạo truy vấn tham số. Khi thực hiện loại năy Access sẽ nhắc nhập điều kiện chọn trong hộp thoại enter parameter Value.
Ví dụ:
Giả sử thƣờng xuyín chạy một truy vấn để liệt kí danh sâch nhđn viín của một cơ quan năo đó có mê cơ quan nhập văo bất kỳ.
Hình 3.20. Parameter Query
* Chú ý: Nội dung câc tham số mă chúng ta nhập văo có thể lă hằng ( số,chuỗi,ngăy..)nhƣng không đƣợc biểu thức
3.4.1.2 Tạo truy vấn tham số
Tạo truy vấn chọn vă đƣa câc bảng cần thiết văo tham gia truy vấn. Kĩo câc trƣờng cần thiết văo vùng lƣới QBE.
Tại hăng Criteria gõ văo biểu thức có chứa tham số với chú ý tín tham số phải nằm giữa 2dấu ngoặc vuông ( [ ])
Tín tham số cũng lă chuỗi nhắc nhở.Access cho phĩp có khoảng trắng vă độ dăi tối đa 255 ký tự.
Quy định kiểu dữ liệu cho tham số: Chọn memu Design/parameters. Trong hộp thoại query parameters : Trong mục Parameter chọn tham số, trong mục Data type chọn kiểu dữ liệu tƣơng ứng.
Hình 3.21. Tạo truy vấn tham số
Ví dụ: Tạo truy vấn để hiển thị danh sâch câc khâch hăng mua một mặt hăng năo đó (mặt hăng đƣợc nhập bất kỳ từ băn phím).
Tạo truy vấn để hiển thị danh sâch câc khâch hăng mua hăng có họ lót đƣợc nhập từ băn phím.
Hình 3.23. Ví dụ truy vấn tham số
3.4.1.3 Truy vấn nhiều tham số
Có thể tạo truy vấn , khi chạy truy vấn nhập nhiều dữ liệu cho điều kiện chọn lựa. Muốn vậy tạo truy vấn nhiều tham số.
Ví dụ:
Tạo một truy vấn hiển thị danh sâch câc khâch hăng mua hăng trong khoảng thời gian năo đó (Thời gian đƣợc nhập từ băn phím).
Tạo truy vấn chọn vă đƣa câc 2 bảng dshang vă dskhach văo tham gia truy vấn. Kĩo câc trƣờng tenhang, tenkhach, ngaymua văo vùng lƣới QBE.
Tại hăng Criteria của trƣờng NGAYSINH chọn: Between [Từ ngăy] and [Đến ngăy]
Chọn Design query/Parameter khai bâo kiểu dữ liệu cho 2 tham số lă date/time.
Hình 3.24. Bảng dữ liệu nhiều tham số
Kết quả truy vấn sẽ cho kết quả
3.4.1.4 Kết hợp giữa truy vấn tham số vă truy vấn tính tổng
Trong nhiều băi toân quản lý ngƣời ta thƣờng gặp những yíu cầu nhƣ: Hêy thống kí xem mỗi loại hăng trong một thâng năo đó bân đƣợc với tổng số lƣợng lă bao nhiíu? Tổng thănh tiền lă bao nhiíu? (Thâng đƣợc nhập từ băn phím). Vì vậy trƣớc hết chúng ta phải thực hiện truy vấn tính tổng xong mới kết hợp truy vấn tham số.
Ví dụ:
Hêy tạo một truy vấn để hiển thị tổng thanhtien của mỗi mặt hăng bân đƣợc trong một năm năo đó (Năm đƣợc nhập từ băn phím).
Tạo một truy vấn chọn, đƣa bảng Dshang vă dskhach văo tham gia truy vấn. Đƣa câc trƣờng tenhang, ngayban, thanhtien văo vùng lƣới QBE.
Chọn Menu Design /Totals
Trong hăng Total: Chọn Group by đối với trƣờng tenhang, vă year([ngayban]) Trong hăng Criteria đối với trƣờng Ngaysinh, ta chọn tham số sau:
[Nhap vao nam ban hang].
Hình 3.26. Kết quả truy vấn tham số kết hợp truy vấn tính tổng
3.4.2 Truy vấn có điều kiện
3.4.2.1 Câc phĩp toân có so sânh
a. Câc phĩp so sânh thông thƣờng (=; >; <; >=; <=; <>)
Phĩp toân so sânh đƣợc đặt trong câc biểu thức điều kiện vă có kết quả trả vềlă đúng / sai
b.Câc phĩp toân logic AND , OR, BETWEEN..AND
Phĩp toân AND cho kết quả đúng khi câc biểu thức tham gia đều có kết quả đúng Ví dụ:
Xĩt kết quả của biểu thức : x>=5 AND y < 2 Nếu x =5, y = 1; x >= 5 → đúng; y < 2 → đúng; Vậy x>=5 AND y < 2 → đúng
OR
Phĩp toân OR cho kết quả đúng khi một trong câc biểu thức tham gia có kết quả đúng
Ví dụ:
Xĩt kết quả của biểu thức : x>=5 OR y < 2 Nếu x =5, y = 3; x >= 5 → đúng; y < 2 → sai; Vậy x>=5 OR y < 2 → đúng
BETWEEN … AND …
So sânh giâ trị có thuộc trong khoảng không NOT Phủ định lại kết quả của biểu thức tham gia
Ví dụ:
Xĩt kết quả của biểu thức : NOT(x>=5)
Nếu x =5, x >= 5 → đúng; NOT(x>=5) →sai; LIKE c. Phĩp toân so sânh gần giống ALL/ IN/ NOT IN
Phĩp toân so sânh gần giống (có giâ trị tƣơng đƣơng) chỉ sử dụng cho chuỗi. ALL / IN / NOT IN
Phĩp toân so sânh trín tập hợp, dùng kết hợp với câc phĩp toân so sânh khâc
ALL : tất cả
IN: thuộc văo tập hợp
NOT IN không thuộc văo tập hợp Ví dụ:
Xĩt biểu thức x > ALL (100, 32, 42, 75, 10).
Nếu x có giâ trị lớn hơn tất cả câc số trong tập hợp thì biểu thức có giâ trị đúng, ngƣợc lại lă sai
Khi x = 99 →sai Khi x = 101 → đúng
Xĩt biểu thức x IN (100, 32, 42, 75, 10). Khi x = 99 → sai Khi x = 75 → đúng
Xĩt biểu thức x NOT IN (100, 32, 42, 75, 10). Khi x = 99 →đúng Khi x = 75 → sai
3.4.2.2 Câch tạo truy vấn có điều kiện
Ví dụ: Thống kí danh sâch học sinh nữ gồm : MAHS, Ho, Tín, Phâi Câc bƣớc thực hiện
Bƣớc 1, bƣớc 2, bƣớc 3 : Thực hiện tƣơng tụ khi tạo truy vấn Select đơn giản Bƣớc 4: đặt điều kiện tại dòng Criteria ( điều kiện lă học sinh nữ, với quy ƣớc nữ lă Yes (- 1), Nam lă No(0))
Hình 3.27. Ví dụ truy vấn có điều kiện
Bƣớc 5: sau khi nhấn nút Run trín menu lệnh thì sẽ có kết quả
Hình 3.28. Kết quả Ví dụ truy vấn có điều kiện
Lưu ý :
Khi so sânh bằng có thể bỏ qua dấu so sânh mă viết dữ liệu trực tiếp
Khi so sânh với KDL chuỗi thì phải đặt chuỗi trong dấu “” vă nín dùng phĩp toân so sânh Like.
Dấu * đại diện cho câc ký tự liín tục nhau Dấu? đại diện cho 1 ký tự
Khi so sânh với KDL ngăy thâng phải dùng dấu #
Khi có nhiều điều kiện thì cần dùng câc phĩp toân logic để kết hợp câc biểu thức điều kiện với nhau.
AND : câc biểu thức đƣợc đặt trín cùng dòng Criteria OR: câc biểu thức đƣợc đặt khâc dòng nhau ở dòng OR
Ví dụ
Tìm câc học sinh có MAHS bằng 0002
Hình 3.29. Tìm câc học sinh có MAHS bằng 0002
Tìm câc học sinh có tín bắt đầu bằng chữ L
Hình 3.30. Tìm câc học sinh có tín bắt đầu bằng chữ L
Tìm câc học sinh có tín bắt đầu bằng chữ C vă tín có 3 ký tự
Hình 3.31. Tìm câc học sinh có tín bắt đầu bằng chữ C vă tín có 3 ký tự
Tìm câc học sinh có ngăy sinh trƣớc ngăy 1/1/1984. Lƣu ý sinh trƣớc năm 1984 lă sinh từ năm 1983 trở về trƣớc nín so sânh nhỏ hơn.
Hình 3.32. Tìm học sinh thỏa mên câc điều kiện
Tìm câc học sinh thi đợt 1 vă có điểm > =5
Tìm câc học sinh nữ đăng ký trƣờng Lí Hồng Phong hoặc học sinh nam đăng ký trƣờng Lí Quý Đôn
Hình 3.34. Tìm câc học sinh nữ đăng ký trường Lí Hồng Phong hoặc học sinh nam đăng ký trường Lí Quý Đôn
Cđu lệnh SQL tƣơng ứng cho query SELECT <Danh sâch tín cột> FROM <Danh sâch tín bảng>
WHERE <Biểu thức điều kiện>;