Thứ Ba, 5 tháng 7, 2016

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

James Perry, Richard Newmark


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


Truy vấn sửa Update


Truy vấn Update cho phép bạn sửa nhiều bản ghi trong bảng bằng một thao tác. Bạn có thể sửa một trường, hay bạn có thể đồng thời sửa nhiều trường. Truy vấn Update sửa các trường trong một bảng, thay chúng bằng giá trị mới. Chẳng hạn, giả sử bạn muốn thực hiện một điều chỉnh giữa năm về phần trăm hoa hồng cho nhân viên nữ. Bạn đã quyết định tăng một phần trăm cho tất cả. (Nhân viên nam sẽ phải đợi sáu tháng sau mới được tăng.) Truy vấn Update sẽ giúp sửa bảng chứa phần trăm hoa hồng cho nhân viên. Dĩ nhiên, bảng của ta nhỏ, nhưng đây là ví dụ về loại hoạt động sửa bảng mà sẽ tốn nhiều công sức nếu làm bằng tay, mỗi lần một bản ghi. Hoạt động sau sẽ hướng dẫn bạn tạo truy vấn Update. Để không ảnh hưởng đến nội dung của bảng tblEmployee hiện hữu, đầu tiên ta sao chép bảng rồi sửa trên bản sao của bảng nhân viên.

THỬ NGHIỆM

Để tạo bản sao của bảng tblEmployee, kích tblEmployee để chọn nó trong Navigation Pane, nhấn Ctrl+C, nhấn Ctrl+V, gõ MyEmployees, rồi kích OK. Kích CREATE tab, kích Query Design, rồi kích kép MyEmployees để thêm bảng vào khung thiết kế truy vấn. Đóng hộp thoại Show Table. Kích kép các tên trường phần trăm hoa hồng EmpCommRate và giới tính EmpGender để thêm chúng vào dòng Field thuộc lưới QBE. (EmpCommRate sẽ được sửa, nhưng EmpGender sẽ giới hạn dòng được sửa phải là nhân viên nữ.) Trong dòng Criteria, gõ "F" bên dưới cột EmpGender. Trong dòng Criteria, gõ <=0.14  bên dưới cột EmpCommRate để việc sửa không vi phạm qui tắc kiểm tra phần trăm hoa hồng hợp lệ (từ 0 đến 14%). Trước khi tiếp tục, hãy xem các bản ghi bị ảnh hưởng để đảm bảo tiêu chí chọn là đúng bằng cách kích nút View trong nhóm Results. Tám bản ghi xuất hiện trong datasheet. Trở về góc nhìn Design để tiếp tục. Kích Update trong nhóm Query Type. Một dòng mới “Update To” xuất hiện trong lưới QBE. Trong dòng Update To bên dưới cột EmpCommRate, gõ biểu thức [EmpCommRate]+0.01 (cần bao EmpCommRate trong cặp ngoặc vuông). Hình 4.35 hiển thị thiết kế của truy vấn Update hoàn chỉnh trước khi thi hành. Hãy thi hành truy vấn để sửa trường EmpCommRate bằng cách kích nút Run trong nhóm Results. Kích nút Yes khi hộp thoại khuyến cáo xuất hiện “You are about to update 8 row(s)” (Bạn chuẩn bị sửa 8 dòng). Đóng truy vấn rồi lưu nó với tên MyUpdateQuery.

Hình 4.35 Thi hành một truy vấn Update.

Nếu bạn mở bảng MyEmployees, bạn sẽ thấy rằng phần trăm hoa hồng cho Patti Stonesipher đã được sửa từ năm phần trăm thành sáu phần trăm. Phần trăm hoa hồng cho các nhân viên nữ khác sẽ cao hơn ngoại trừ Alanis Morrison và Sharon Stonely. Hai người này đã có phần trăm hoa hồng tối đa là 15 phần trăm.

Lưu ý: Access không thể đảo ngược thao tác sửa khi bạn kích Undo. Bạn có thể đảo ngược một số thao tác sửa bằng cách tạo một truy vấn Update mới để hồi phục các giá trị đã bị sửa, nhưng nhiều thao tác sửa là bất khả đảo ngược. Chẳng hạn, bạn muốn sửa trường địa điểm trong địa chỉ làm việc của nhân viên thành “New York” cho mọi nhân viên mà thành phố hiện thời là Indianapolis. Điều này sẽ chuyển mọi nhân viên ở Indianapolis về New York. Tuy nhiên, bạn không thể dễ dàng đảo ngược sự thay đổi đó nếu các nhân viên khác đã được ghi nhận là đang sống ở New York. Không thể sửa trường DivisionCity là New York thành Indianapolis, vì ban đầu một số cư dân New York chẳng bao giờ ở Indianapolis! Lúc nào cũng phải chọn góc nhìn Datasheet trước khi thi hành truy vấn Update để kiểm tra phạm vi thay đổi của bạn.

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

Đăng nhận xét