Cách sử dụng hàm Between trong Access

Câu truy vấn tham số là một trong những dạng truy vấn đơn giản nhưng hiệu quả nhất trong Access. Chính vì lý do đó mà ta hoàn toàn có thể dễ dàng cập nhật để phản ảnh kết quả của các từ khóa tìm kiếm. Khi khởi động một câu truy vấn tham số, Access sẽ yêu cầu bạn phải cung cấp 1 từ khóa tìm kiếm và sau đó sẽ cho ra các kết quả tương ứng với từ khóa đó.

Trong quá trình chạy câu truy vấn tham số, các từ khóa tìm kiếm sẽ đóng vai trò như những tiêu chí kiểm soát biến đổi, tức là các tiêu chí kiểm soát truy vấn quen thuộc nhưng có khả năng tự động thay đổi sau mỗi lần thực hiện tác vụ truy vấn. Chẳng hạn, giả sử bạn có 1 cửa hàng bánh và muốn sử dụng công cụ truy vấn query để tra cứu nhanh danh sách đơn hàng được đặt theo một ngày nhất định. Lúc này ta có thể sử dụng truy vấn tham số với tiêu chí kiểm soát biến đổi được ghi trong trường Data. Bằng cách này, cứ sau mỗi lần thực hiện truy vấn thì một hộp thoại thông báo sẽ xuất hiện, yêu cầu bạn phải điền thời điểm cần truy vấn và tìm kiếm.

Cách sử dụng hàm Between trong Access

Sau khi điền xong ngày tháng cần truy vấn, lúc này Access sẽ thực hiện tác vụ truy vấn dựa trên thời điểm bạn lựa chọn và coi nó giống như một từ khóa tìm kiếm vậy.

Để tạo lập và chạy được một câu truy vấn tham số, ta lần lượt thực hiện các bước như sau:

Bước 1: Tạo truy vấn như thường lệ, chỉnh sửa phần liên kết bảng dữ liệu nếu cần thiết, sau đó lựa chọn trường dữ liệu mà bạn muốn thêm vào truy vấn, rồi thêm vào các tiêu chí kiểm soát không thay đổi vào các trường phù hợp trong mục Criteria: row

Bước 2: Tìm đến các trường mà bạn muốn điền các tiêu chí kiểm soát biển đổi vào, sau đó click chọn mục Criteria: row

Bước 3: Điền cụm từ thông báo mà bạn muốn xuất hiện mỗi khi thực hiện tác vụ truy vấn. Lưu ý phải viết cụm từ đó trong ngoặc vuông []. Chẳng hạn, để sử dụng truy vấn tham số để tra cứu đơn hàng được đặt theo ngày, ta sẽ điền thông báo như sau: [What date?] (thời điểm khi nào?)

Bước 4: Trong tab Design, click vào lệnh Run để thực hiện truy vấn. Một hộp thoại thông báo sẽ xuất hiện yêu cầu bạn phải cung cấp thông tin. Điền thông tin từ khóa còn thiếu và click OK để xem kết quả truy vấn cụ thể

Cách sử dụng hàm Between trong Access

Một số lời khuyên khi tạo lập các câu truy vấn tham số

Lý tưởng nhất, câu hỏi gợi ý trong thông báo cần phải đề cập rõ xem từ khóa tìm kiếm thuộc loại dữ liệu gì, cũng như theo định dạng nào thì phù hợp. Chẳng hạn, để chắc chắn rằng người dùng điền đúng từ khóa là ngày tháng năm cần truy vấn và phải theo định dạng giống với cơ sở dữ liệu gốc, ta có thể điền vào trường Pickup Date trong mục Criteria: row như sau: [What Date? (mm/dd/yyyy)]

Cách sử dụng hàm Between trong Access

Các câu truy vấn tham số sẽ hoạt động theo tiêu chí chính xác tuyệt đối, có nghĩa là chúng chỉ tìm kiếm và truy vấn các kết quả chứa cụm từ giống chính xác với từ khóa mà thôi. Tuy vậy, bạn cũng có thể biến các tiêu chí đó trở thành tiêu chí kiểm soát biến đổi được. Đơn giản bạn chỉ cần điền câu gợi ý vào trong ngoặc vuông như là một phần nội dung của tiêu chí kiểm soát, thay vì sử dụng 1 từ khóa chính xác.

Chẳng hạn, nếu trong cách truy vấn thông thường ta sẽ tra cứu đơn hàng được đặt trong khoảng thời gian nhất định bằng cách sử dụng tiêu chí kiểm soát “Between x and y” và thay thế x với y bằng các thời điểm cụ thể tương ứng. Tuy vậy, với truy vấn tham số, ta có thể thay thể x và y bằng các cụm từ gợi ý sẽ xuất hiện trong thông báo yêu cầu nhập từ khóa. Lúc này tiêu chí kiểm soát biến đổi sẽ có dạng như sau:  Between [Enter the start date] and [Enter the end date]. Khi đó nếu bạn khởi chạy tác vụ truy vấn thì cả 2 thông báo gợi ý trên sẽ đều xuất hiện và yêu cầu bạn nhập vào thời điểm bạn muốn.

Cách sử dụng hàm Between trong Access

Toán tử BETWEEN chọn các giá trị trong một phạm vi nhất định. Các giá trị có thể là số, văn bản hoặc ngày. Toán tử BETWEEN được bao gồm: giá trị bắt đầu bắt đầu, giá trị kết thúc và các các giá trị nằm bên trong.

Cú Pháp BETWEEN

SELECT (tên) cột1, cột2, .. FROM tên_bảng WHERE tên_cột BETWEEN giá_trị1 AND giá_trị2;

Ví Dụ Về Toán Tử BETWEEN

Câu lệnh SQL sau đây chọn tất cả các khách hàng có ID nằm giữa 2 và 5:

SELECT * FROM khach_hang WHERE ID BETWEEN 2 AND 5;

Ví Dụ Về BETWEEN Với IN

Câu lệnh SQL sau đây chọn tất cả các khách hàng có ID nằm giữa 2 và 5. Ngoài ra, không hiển thị các khach_hang có tuoi là 20 hoặc 22:

SELECT * FROM khach_hang WHERE (ID BETWEEN 2 AND 5) AND tuoi NOT IN (20, 22);

Ví Dụ Sử Dụng BETWEEN Với Kiểu Dữ Liệu Văn Bản

Câu lệnh SQL sau đây chọn tất cả các khách hàng có dia_chi ở giữa'Giáp Bát' và 'Hoàng Mai':

SELECT * FROM khach_hang WHERE dia_chi BETWEEN 'Giáp Bát' AND 'Hoàng Mai' ORDER BY dia_chi;

Khái niệm về query trong Access, tạo các loại query để truy vấn, cập nhật dữ liệu như select query, crosstab, total và các Action query như Update, Delete, Append

Query là các câu lệnh để tương tác với CSDL, nó là ngôn ngữ truy vấn có cấu trúc SQL. Để học riêng về SQL có thể xem: CÁC BÀI HỌC VỀ SQL . Trong Access nó có các công cụ nhằm nhanh chóng tạo ra các câu truy vấn SQL, sinh câu truy vấn SQL một cách trực quan và nhanh chóng. Với Access câu truy vấn SQL có thể phân thành các loại: Select query, Total Query, Crosstab query, Action query

  • Select query: truy vấn thông tin từ các bảng, tạo ra một tập các dòng kết quả (record) gọi là recordset, thường tập kết quả này dùng cho các Form, các báo cáo Report
  • Total query: loại truy vấn có chức năng tổng hợp dữ liệu dựa vào một số hàm thống kê cho một nhóm dữ liệu như đếm tổng record, tính giá trị trung bình, tính tổng ... Ví dụ, liệt kê các lớp học, mỗi lớp học tính tổng số học sinh.
  • Crosstab query: là loại truy vấn để thống kê, kết quả là bảng hai chiều có các cột theo giá trị truy vấn
  • Action query: là nhưng câu truy vấn có chức năng thay đổi các bảng dữ liệu như Make-Table (tạo bảng dữ liệu), Update (cập nhật bản ghi), Delete (xóa bản ghi), Append (thêm bản ghi)

Bấm vào menu Create, chọn mục Design Query

Một hộp thoại Show Table xuất hiện, tại đây chọn những bảng có dữ liệu cần truy vấn rồi bấm vào Add

Cách sử dụng hàm Between trong Access

Màn hình để xây dựng Query chia làm hai phần, phần Khu vực các bảng truy vấn chứa các bảng, khu vực Lưới QBA (Query by example) chứa các trường tham gia vào truy vấn.

Cách sử dụng hàm Between trong Access
  • Mặc định sẽ xây dựng loại Select Query, nếu muốn thay đổi kiểu nhấn phải chuột, chọn Query type 1 tại đây có thể chọn các loại như Select Query, Update Query ...
  • Để thêm bảng vào truy vấn nhấn phải chuột chọn Show Table ... 2
  • Để thêm các trường (field) của bảng nào đó vào kết quả truy vấn, kích đúp vào tên trường, nó sẽ được đưa vào QBA. Ví dụ kích đúp vào trường Noisinh 3 thì tại QBE nó đã thêm vào: tại dòng Field là Noisinh, tại dòng Table là tên bảng HOCSINH
  • Khi muốn chạy kiểm tra kết quả truy vấn bấm vào View hoặc Run trên menu 4. Nếu Query hoàn thành có thể nhấn CTRL + S để lưu lại Query
  • Có thể đặt lại tên cột kết quả truy vấn, tại dòng Field có thể thay đổi với cấu trúc Tên cột:[Field] ví dụ: Họ:[Ho] 5, Tên:[Ten], Giới tính:GT
  • Các trường truy vấn cũng có thể thiết lập là một biểu thức, với cấu trúc Tên:nội dung biểu thức 6. Ví dụ tạo cột là Lớp nó là kết quả của việc nối chuỗi [NIENKHOA]![Tenkhoa] (Đây là cấu trúc trỏ đến một trường nào đó của bảng [tên bảng]![tên cột]) với chuỗi "-" (một chuỗi cụ thể viết trong dấu "") và chuỗi [LOP]![TENLOP] thì viết:
    Lớp:[NIENKHOA]![Tenkhoa] & "-" & [LOP]![TENLOP]
    Trong đó ký hiệu & là toán tử nối chuỗi. Còn nhiều toán tử khác để viết biểu thức.

    Để trợ giúp xây dựng biểu thức, tại cột cần xây dựng biểu thức bấm vào Builder, có một số toán tử xây dựng biểu thức như

    • Toán tử số học +-*/, ví dụ [Soluong] * [Dongia]
    • Toán tử so sánh như < <= > >= = Between In Like
    • Toán tử Logic như And Not Or
  • Dòng Sort của QBE để thiết lập sắp xếp, nếu chọn là Ascending 7 thì cột đó sắp sắp tăng dần, còn nếu chọn Descending thì sắp xếp giảm dần hoặc chọn (not sorted) là không sắp xếp.
  • Để lọc kết quả thì viết biểu thức lọc tại dòng Criteria, ví dụ tại 8 điền chuỗi "36-K1" thì cột Lớp sẽ lọc ra các giá trị bằng chuỗi đó. Nhập dữ liệu lọc tùy thuộc vào kiểu dữ liệu:
    • Text : nhập chuỗi trong "", ví dụ "Abc"
    • Date : #18-12-2000#
    • Number : 123
    Có nhiều toán tử như LIKE, so sánh ...
    • = toán tử só sánh bằng
    • < toán tử nhỏ hơn
    • <= toán tử nhỏ hơn hoặc bằng
    • > toán tử lớn hơn
    • >= toán tử lớn hơn hoặc bằng
    • <> toán tử so sánh khác
    • Between ... and ..., ví dụ Between #1-1-1983# And #31-1-1983#
    • Like ví dụ Like "*Vinh*"
    • Is Null là rỗng
    • Is Not Null khác rỗng
    • In(value1, value2 ...) ví dụ In("35-B1", "36-B1")

    Truy vấn có tham số (Parameter Query)

    Các giá trị đưa vào lọc Criteria có thể ấn định là tham số, giá trị sẽ nhập vào khi chạy. Nếu là tham số chỉ việc đưa nó vào dấu ngoặc vuông [tên tham số]

  • Dòng Show chọn cột dữ liệu đó có hiện thị ở kết quả bảng truy vấn hay không. Nhiều cột không cần chọn hiện thị, khi chỉ cần dùng nó như để lọc dữ liệu 9

Tạo Total Query - thống kê dữ liệu theo nhóm

Truy vấn này thực hiện đưa ra dòng số liệu thống kê cho những nhóm dữ liệu giống nhau, giá trị cần thống kê cho nhóm dữ liệu đó có các hàm như:

  • count - đếm tổng các record trong nhóm
  • sum - tổng giá trị trường cần thống kê
  • min/max - lấy giá trị nhỏ nhất, lớn nhất trong nhóm
  • avg - lấy giá trị trung bình

Ví dụ có truy vấn sau:

Cách sử dụng hàm Between trong Access

Truy vấn này liệt kê các học sinh (HOCSINHID) trong các lớp. Giờ nếu muốn thông kê, có bao nhiêu học sinh mỗi lớp thì bấm vào biểu tượng Total, thì trong QBE xuất hiện dòng total - tại đây thiết lập cá thông kê

Cách sử dụng hàm Between trong Access

Cần xác định trong các cột phải chỉ ra cột nào là cột cần thống kê, các cột còn lại dùng để xác định nhóm, ở ví dụ trên thì:

  • Cột TenKhoa, TENLOP là nhóm - vậy thiết lập nó là Group By
  • Cột HOCSINHID sẽ dùng thống kế, ở đây thống kê là đếm số lượng nên dùng hàm count

Như vậy kết quả thống kê như trên.

Tạo Crosstab Query

Để thiết lập là Crosstab, nhấn phải chuột và chọn Crosstab Query 1, lúc này xuất hiện dòng crosstab và total 2

Crosstab bạn cần thiết lập các cột để phân nhóm (group by), trong những cột này thiết lập một cột để thống kê - các giá trị của nó sẽ chuyển thành tên cột thống kê Column Heading còn lại là Row Heading. Tiếp theo là một cột để thống kê với thiết lập crosstab là Value

  • Thiết lập Tenkhoa, TENLOP, Dantoc là các cột để phân nhóm với giá trị Total là Group by. Trong đó TenKhoa, TENLOP là Row Heading làm tiêu đề cột. Còn DanToc chuyển thành tiêu đề cột.
  • Thiết lập cột HOCSINHID với Crosstab là Value, với hàm thống kế là count.
Cách sử dụng hàm Between trong Access
Cách sử dụng hàm Between trong Access

Các Action Query

Các Action Query thực hiện việc cập nhật, sửa đổi dữ liệu. Sau khi viết các Query này để thi hành bấm vào Run để thi hành

Update Query

Loại Query này để cập nhật cho các Record. Ví dụ cập nhật trường Ten với giá trị là Hương, cho Record có HOCSINHID là 100

Giá trị cập nhật nhập tại dòng Update to, lục các Record cần cập nhật tại Criteria

Cách sử dụng hàm Between trong Access

Delete Query

Query này xóa các record. Ví dụ xóa Record có trường tên là "Abc"

Cách sử dụng hàm Between trong Access

Append Query

Query này nối dữ liệu vào bảng có sẵn

Cách sử dụng hàm Between trong Access

Make-Table Query

Query này để tạo ra bảng mới từ các dữ liệu truy vấn. Khi chuyển là loại Query Make-table có hộp thoại xuất hiện, hãy nhập tên bảng muốn tạo.

Cách sử dụng hàm Between trong Access

Tạo bảng gồm các cột TenKhoa, TenLop, Ho, Ten

Cách sử dụng hàm Between trong Access