Thứ Tư, 6 tháng 7, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Truy vấn xóa Delete

James Perry, Richard Newmark


Chương 4
Tạo và dùng câu truy vấn


Truy vấn xóa Delete


Truy vấn Delete sẽ xóa các bản ghi trong bảng. Nó không dùng để xóa toàn bộ bảng. Để xóa toàn bộ bảng, bạn có thể kích phải tên bảng trong Navigation Pane rồi kích Delete trên pop-up menu. Access sẽ loại bỏ toàn bộ bảng – cấu trúc và dữ liệu – khỏi cơ sở dữ liệu.

Xóa bản ghi là hành động tế nhị hơn nhiều, bạn phải cẩn thận để không xóa sai bản ghi. Một khi đã xóa, các bản ghi không thể được phục hồi. Chẳng hạn, giả sử bạn muốn xóa khỏi bảng tblInvoice mọi hóa đơn (và các dòng hóa đơn tblInvoiceLine quan hệ với chúng) trước ngày 01/01/2012. Một truy vấn Delete với tiêu chí chọn thích hợp sẽ làm được. Đầu tiên, tạo một truy vấn chọn với tiêu chí lọc phù hợp rồi kiểm tra góc nhìn Datasheet của nó để chắc chắn rằng các bản ghi thích hợp xuất hiện trong tập động dynaset – những bản ghi mà Access sẽ xóa. Kế đến, sửa truy vấn thành truy vấn Delete rồi thi hành nó.

Một khi đã định nghĩa đúng truy vấn Delete, bạn chỉ việc thi hành nó để xóa các bản ghi đã định. Vì các dòng trong tnlInvoice và tblInvoiceLine có quan hệ với nhau và bạn “áp dụng toàn vẹn tham chiếu” khi tạo quan hệ giữa hai bảng, Access sẽ hiển thị hộp thoại khuyến cáo cho biết có vi phạm về khóa và hỏi bạn có muốn xóa các bản ghi không. Hình 4.36 trình bày một ví dụ truy vấn Delete nhằm xóa khỏi bảng tblInvoice mọi hóa đơn trước ngày 01/01/2012. Để ý rằng chỉ những trường cần thiết trong lưới QBE là những trường dùng trong tiêu chí. Trong ví dụ này, chỉ cần trường InvoiceDate, vì đó là tiêu chí chọn duy nhất – thời điểm tạo hóa đơn ghi nhận giao dịch. Dĩ nhiên, Access sẽ xóa toàn bộ bản ghi nào thỏa tiêu chí xóa. Khuyến cáo: Nếu bạn bỏ qua tiêu chí trong truy vấn Delete, Access sẽ xóa tất cả các dòng trong bảng. Chỉ còn cấu trúc bảng sau thao tác đó.

Hình 4.36 Một thiết kế truy vấn Delete.

Không có nhận xét nào:

Đăng nhận xét