Thứ Sáu, 17 tháng 6, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Dùng các toán tử

James Perry, Richard Newmark


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


Dùng các toán tử


Ta hãy viết một biểu thức để biết chính xác cách tính toán trong một truy vấn bằng cách dùng các trường truy vấn và hiển thị chúng trong tập động dynaset. Trong bài tập tới, bạn viết câu truy vấn để nối hai bảng tblInvoiceLine với tblInventory và hiển thị các mục trong dòng hóa đơn đối với các hóa đơn trong cơ sở dữ liệu. Câu truy vấn sẽ hiển thị giá thành, trong số các cột khác, theo công thức:

ExtendedPrice: [Quantity] * [UnitPrice] * (1 – [Discount])

Các cột được đặt vào câu truy vấn và biểu thức là cột bổ sung mà bạn sẽ viết vào một ô trống trong dòng Field. Hãy thử tính: nếu hóa đơn được làm cho 20 pounds cà phê với giá $10.00 mỗi pound và được giảm giá 5 phần trăm, thì giá thành sẽ bằng:

ExtendedPrice: 20 * 10.00 * (1 – 0.05)

Bảng tồn kho tblInventory chứa trường đơn giá UnitPrice cho từng mặt hàng trong kho. Tuy nhiên, khách hàng có thể được hay không được tính theo giá đề xuất đó. Giá tính thực tế được lưu trong UnitPrice thuộc bảng tblInvoiceLine, và có thể thay đổi theo khách hàng. Vì trường UnitPrice xuất hiện ở cả hai bảng tblInventory tblInvoiceLine, bạn phải phân biệt bằng cách dùng tên bảng phía trước. Chẳng hạn, bạn có thể tham chiếu đến trường một cách đầy đủ, dùng tên bảng phía trước, như sau:

[tblInvoiceLine]![UnitPrice]

Cách đó không thể gây hiểu lầm về trường được tham chiếu – trong trường hợp này là trường thuộc tblInvoiceLine. Dấu chấm than là cú pháp tách tên bảng khỏi tên cột.

Kế đến, bạn sẽ viết câu truy vấn chứa biểu thức theo hai bước. Ở bước đầu, bạn sẽ thêm trường ở cả hai bảng. Ở bước hai, bạn sẽ viết biểu thức chứa trường và toán tử.

BÀI TẬP 4.4: VIẾT CÂU TRUY VẤN CƠ BẢN

1. Kích CREATE tab, kích Query Design, thêm các bảng tblInventory tblInvoiceLine vào khung thiết kế truy vấn bằng cách kích kép tên của chúng, rồi đóng hộp thoại Show Table.

2. Kéo các trường InvoiceID, InventoryID, Quantity, UnitPrice, và Discount từ bảng tblInvoiceLine vào năm ô đầu tiên trên dòng Field trong lưới QBE (theo thứ tự đã liệt kê).

3. Kích kép ItemName trong bảng tblInventory để thêm nó vào ô bìa phải trên dòng Field.

4. Kích ô Sort bên dưới cột InvoiceID trong lưới QBE, kích mũi tên sổ xuống, rồi chọn Ascending. Điều này sẽ sắp các hóa đơn theo thứ tự tăng dần của mã hóa đơn.

5. Kích Save trên thanh công cụ truy xuất nhanh Quick Access Toolbar, và gõ MyExtendedPrice trong hộp thoại Save As, rồi kích OK để lưu thiết kế truy vấn.

6. Kích nút View trong nhóm Results thuộc tab ngữ cảnh DESIGN để duyệt qua tập động dynaset. Để ý rằng cột ItemName không đủ rộng để hiển thị toàn bộ tên mặt hàng. Điều đó sẽ được sửa trong bài tập kế.

7. Kích phải (là cách khác để đổi góc nhìn) MyExtendedPrice tab rồi kích Design View trong pop-up menu.

Sau khi đã lưu câu truy vấn, bạn có thể hoàn thành câu truy vấn bằng cách viết biểu thức để tính giá thành.

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

Đăng nhận xét