Thứ Ba, 31 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Tạo kết quả truy vấn đã được sắp

James Perry, Richard Newmark


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


Tạo kết quả đã được sắp


Giả sử bạn muốn sắp lại các dòng trong tập động dynaset để chúng được hiển thị ở dạng hữu ích hơn. Chẳng hạn, danh sách trà và cà phê ở Hình 4.3 sẽ dễ dùng hơn nếu được sắp theo tên, cho dù đó là sản phẩm trà hay cà phê. Việc sắp tập động dynaset không khó. Thông thường, Acess hiển thị các bản ghi tập động dynaset theo thứ tự tăng dần của khóa chính trong bảng, nếu bảng có khóa chính, cho dù khóa chính có được hiển thị trong tập động dynaset hay không. Việc tạo truy vấn để sắp dữ liệu theo những cách khác sẽ rất hữu ích. Chẳng hạn, danh sách nhân viên có thứ tự theo họ rồi theo tên sẽ hữu ích khi bạn muốn tìm tên một nhân viên trong danh sách. Trường hợp của công ty The Coffee Merchant, giả sử bạn muốn liệt kê mọi loại trà có ướp hương liệu trong kho theo tên. Đầu tiên, bạn tạo truy vấn một bảng dựa trên bảng tblInventory. Trong dòng Field của QBE, bạn có thể có các trường InventoryID, ItemName, Flavored, và Beverage. Trong lưới QBE, chỉ InventoryID và ItemName có ô Show được đánh dấu. Flavored và Beverage sẽ chứa giá trị tiêu chí là Yes t, trong cùng dòng tiêu chí để tra chỉ các loại trà được ướp hương liệu (cả hai tiêu chí phải thỏa). Làm sao sắp chúng? Hãy làm phần Thử nghiệm sau đây.

THỬ NGHIỆM

Hãy mở ở góc nhìn Design câu truy vấn qryFlavoredTea, nhằm chọn các loại trà được ướp hương liệu và hiển thị chúng trong tập động dynaset. Để sắp kết quả tập động dynaset theo tên mặt hàng ItemName, kích ô Sort bên dưới cột ItemName – thuộc tính qua đó bạn muốn các dòng được sắp – rồi kích Ascending từ danh-sách-sổ-xuống. Chọn Datasheet View từ View menu để xem tập động dynaset. Mở rộng cột ItemName bằng cách kích kép đường phân chia ở cạnh phải của nhãn cột. Để ý các dòng được sắp theo thứ tự ItemName bắt đầu là Apricot và kết thúc là Vanilla with Vanilla Bean. Bạn rất có thể để ý là Apricot xuất hiện hai lần cũng như Earl Grey và Orange Spice. Vì ba loại trà được ướp hương liệu này thuộc hai nhóm nhỏ - có caffeine và không có caffeine. Vì thế có sự xuất hiện hai lần. Điều này có thể được “sửa”, nhưng hơi phức tạp vào lúc này. Hãy đóng câu truy vấn, nhưng đừng lưu khi được nhắc.

Bạn có thể qui định thứ tự sắp theo nhiều hơn một cột. Access sẽ sắp theo trường bên trái nhất trước, sau đó theo trường kế tiếp bên phải, theo thứ tự từ trái sang phải trong lưới QBE. Bạn có thể sắp theo các trường không được đánh dấu trong ô Show và như vậy sẽ không xuất hiện, mặc dù lý do này hơi kỳ, nhưng sẽ được giải thích sau khi cần.

Thứ Hai, 30 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Làm việc với tập động dynaset

James Perry, Richard Newmark


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


Làm việc với tập động dynaset


Access sẽ trả về kết quả truy vấn trong một tập động dynaset. Tương tự với bảng về hành vi và cấu trúc, tập động dynaset chỉ có tính tạm thời. Nó bị thay thế mỗi lần bạn chạy lại câu truy vấn. Với hầu hết câu truy vấn, bạn có thể sửa thông tin hiển thị bởi tập động dynaset ở góc nhìn Datasheet bằng cách gõ vào thông tin mới. Thông tin mới sẽ thay dòng và cột tương ứng của bảng nằm bên dưới. Như vậy, hầu hết tập động dynaset trình bày góc nhìn sống động và khả biến của dữ liệu bảng nằm bên dưới. Một số tập động dynaset bất biến, và Access sẽ khuyến cáo khi bạn thử sửa dữ liệu trong tập động dynaset bất biến. Hầu hết các tập động dynaset trình bày trong tài liệu này đều khả biến.

Bạn có thể sửa bề ngoài của tập động dynaset để dòng được sắp theo cách khác, cột được hiển thị theo thứ tự khác, hay cột được định dạng theo một cách đặc biệt. Phần tới cho thấy ta dễ dàng sửa tập động dynaset.

Chủ Nhật, 29 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Tra các dòng đã chọn trong bảng

James Perry, Richard Newmark


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


Tra các dòng đã chọn trong bảng


Truy vấn là cách tốt nhất để trích nhóm các bản ghi từ bảng lớn. Truy vấn một bảng thì dễ tạo, rút gọn về danh sách dễ quản lý. Ta sẽ tạo truy vấn một bảng trên bảng tồn kho tblInventory. Nó chứa một số mô tả sản phẩm quan trọng gồm kiểu thức uống Beverage (chỉ gồm các giá trị cho phép là c hay t, viết tắt là cà phê coffee và trà tea) và liệu cà phê hay trà có được ướp hương (Flavored) hay không (trường này có giá trị Yes hay No). Các mô tả khác bao gồm nước xuất xứ (là bảng tra cứu trỏ đến bảng tblCountry và trả về tên nước qua việc dùng cột CountryID) và những chú thích Comments sống động về hạt cà phê và lá trà cụ thể. Hình 4.3 trình bày một số dòng trong bảng tồn kho. Chỉ xuất hiện các cột đã chọn, và kết quả được sắp giảm dần theo trường thức uống Beverage rồi theo tên ItemName – có được nhờ dùng lưới QBE.

Hình 4.3 Một số dòng trong bảng tblInventory.

Sẽ hữu ích nếu biết những công ty nào mà quản lý viên chuỗi cung ứng có thể liên hệ để đặt mua thêm sản phẩm (trường UnitsOnHand) đối với những sản phẩm có số lượng gần bằng 0 hay nhỏ hơn 0 (đặt mua sau). May thay, có một bảng liên quan chứa thông tin bổ sung vào các mặt hàng trong kho – tên và địa chỉ của tất cả nhà cung ứng. Quan hệ giữa tồn kho và nhà cung ứng là quan hệ nhiều-nhiều (M-M). Cơ sở dữ liệu quan hệ không thể giải quyết tốt quan hệ M-M, vì vậy vấn đề này được giải quyết bằng cách tạo bảng trung gian nối hai bảng lẽ ra có quan hệ nhiều-nhiều. Bảng trung gian sẽ qui về hai quan hệ một-nhiều với bảng tồn kho ở phía này và bảng nhà cung ứng ở phía kia. Bảng được tạo bằng cách lấy khóa chính ở mỗi bảng bỏ vào bảng nối mới. Hình 4.2 (góc phải trên) trình bày bảng nối này. Bảng được gọi là tblInvSup và cung cấp hai quan hệ một-nhiều liên kết bảng tồn kho tblInventory với bảng nhà cung ứng tblSuppliers.

Kế đến, bạn sẽ tạo một truy vấn đơn giản để định vị và hiển thị tất cả các cà phê không ướp hương liệu mà hạt cà phê được mô tả là “hard bean” (hạt cứng) trong trường chú thích Comments. (Cà phê hạt cứng được trồng ở độ cao cao hơn các loại cà phê khác và thường ngon hơn.)

BÀI TẬP 4.1: TẠO TRUY VẤN MỘT BẢNG

1. Kích CREATE tab rồi kích Query Design trong nhóm Queries. (Thường dễ tạo truy vấn hơn nếu không dùng Query Wizard.)

2. Kích kép tên bảng tblInventory từ danh sách trong hộp thoại Show Table, rồi kích nút Close. Nếu hộp thoại Show Table không xuất hiện, kích tab ngữ cảnh DESIGN rồi kích Show Table trong nhóm Query Setup.

3. Kéo các trường InventoryID, ItemName, Comments, Beverage, và Flavored từ danh sách trường tblInventory trong khung vào các ô thứ nhất đến thứ năm vào dòng Field của lưới QBE ở khung Criteria.

4. Xóa ô đánh dấu Show bên dưới Beverage và Flavored trong lưới QBE, vì bạn không muốn hiển thị các trường này trong kết quả - chúng có trong câu truy vấn để ta có thể dùng chúng trong việc qui định tiêu chí.

5. Gõ ba tiêu chí chọn sau vào dòng tiêu chí Criteria cho các cột đã định:
bên dưới cột Comments, gõ Like “*hard bean*” (có dấu nháy kép và dấu hoa thị ở hai đầu của chuỗi),
bên dưới cột Beverage, gõ “c” (có dấu nháy kép),
và bên dưới cột Flavored, gõ no (chữ thường hay hoa không quan trọng, nhưng đừng có dấu nháy kép quanh tiêu chí này hay bất kỳ tiêu chí Yes/No).

6. Chọn Datasheet View từ View menu để xem kết quả truy vấn (tập động dynaset).

7. Để xem kết quả rõ hơn, hãy mở rộng các cột tên mặt hàng ItemName và chú thích Comments. Bắt đầu với ItemName bằng cách kích kép đường phân chia ở bên phải cột tên. Rồi kéo đường bên phải cột Comments sang phải để lấp đầy khoảng trống. Nhớ là bạn có thể kích nút đóng/mở của Navigation Pane để tạo thêm khoảng trống nhằm xem kết quả rõ hơn.

Tập động dynaset cần giống với Hình 4.4. Truy vấn này đã được lưu với tên qryHardBeanCoffee trong cơ sở dữ liệu Chương 4, nên bạn không cần lưu. Cứ đóng câu truy vấn bạn vừa tạo.

Hình 4.4 Truy vấn một bảng và tập động dynaset.

Nếu bạn muốn xem mọi mặt hàng hoặc không ướp hương liệu hoặc là cà phê thì sao? Ta sẽ đặt một tiêu chí trên dòng Criteria và tiêu chí kia trên dòng “or” bên dưới tiêu chí trước. (Kiểu truy vấn này là kiểu truy vấn OR kinh điển.) Hình 4.5 trình bày truy vấn OR và một phần kết quả. Như đã chỉ ra ở dòng trạng thái, câu truy vấn đã trả về nhiều dòng – mọi thức uống (trà hay cà phê) không ướp hương liệu và mọi cà phê (cho dù có ướp hương liệu hay không).

Hình 4.5 Truy vấn với nhiều tiêu chí độc lập.

Thứ Bảy, 28 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Tạo một truy vấn chọn cơ bản

James Perry, Richard Newmark


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


Tạo một truy vấn chọn cơ bản


Câu truy vấn cung cấp các đặc trưng sắp xếp, lọc, và nối bảng hiệu quả, cho phép bạn hiển thị các dòng, cột, và giá trị đã chọn từ một hay nhiều bảng liên quan và hiển thị kết quả theo thứ tự một hay nhiều cột. Có lẽ đặc trưng quan trọng nhất của truy vấn là khả năng nối các bảng với nhau. Bằng việc dùng công cụ truy vấn, bạn có thể liên kết các bảng với nhau bằng cách qui định cột liên quan trong cặp bảng. Bằng cách dùng giao diện QBE (Query By Example, truy vấn qua ví dụ) dễ sử dụng, bạn tùy ý đặt tiêu chí chọn, biểu thức nhóm, và cột sắp xếp. Qui định bất kỳ về sắp xếp, lọc, hay nhóm có thể độc lập hoặc phối hợp với nhau. Chẳng hạn, bạn có thể qui định tiêu chí cho một cột truy vấn cụ thể để loại dữ liệu không cần; chọn tăng dần “Ascending” hay giảm dần “Descending” cho một hay nhiều cột trong câu truy vấn để kết quả được sắp theo thứ tự cột đã chọn. Bạn có thể qui định một bảng trong câu truy vấn, hay tạo truy vấn có độ phức tạp tùy ý nối hàng chục bảng. Các bảng nối phải được liên kết trên các trường liên quan. Điều này thường nghĩa là chọn khóa chính thuộc một bảng và khớp nó với khóa ngoại của bảng liên quan.

Một ví dụ truy vấn hai bảng đơn giản là câu truy vấn liệt kê tên và địa chỉ của tất cả các khách hàng có hóa đơn trễ hạn hơn 30 ngày. Tiêu chí chọn của câu truy vấn sẽ giới hạn việc tra cứu các dòng có giá trị InvoiceDate cách đây hơn 30 ngày. Chỉ cần hai bảng để tạo truy vấn có khả năng trả lời câu hỏi đó: tblCustomertblInvoice. Bảng đầu, tblCustomer, chứa các trường tên và địa chỉ, còn bảng liên quan tblInvoice chứa cột InvoiceDate là thời điểm xuất hóa đơn cho khách hàng. Hai bảng quan hệ theo khóa chính khóa ngoại. Khóa chính trong tblCustomer là CustID, còn khóa ngoại liên quan trong tblInvoice là CustomerID. Hãy để ý chi tiết sau: khóa chính và khóa ngoại phải khớp để kết hợp các dòng từ hai bảng liên quan, nhưng tên các trường khóa không nhất thiết phải trùng!

Việc tạo truy vấn không khó. Chương này cung cấp nhiều thực hành theo các bước sau đây để tra cứu thông tin từ dữ liệu bảng. Có một số cách tạo truy vấn, và đây là là danh sách các bước điển hình:

Kích CREATE tab rồi kích Query Design trong nhóm Queries.
Thêm bảng vào câu truy vấn từ hộp thoại Show Table.
Đặt trường bạn muốn trả về trong tập động dynaset vào dòng Field thuộc lưới QBE.
Nhập tiêu chí chọn nếu muốn để Access chỉ trả về những dòng khớp tiêu chí.
Nhập yêu cầu sắp xếp nếu muốn dưới cột bất kỳ xuất hiện trong dòng Field.
Kích nút Database View để kiểm tra sự tiến triển và duyệt lại kết quả.
Kích nút Design View, nếu cần, để chỉnh sửa câu truy vấn nhằm đạt kết quả mong muốn.
Thi hành câu truy vấn, in kết quả, và lưu câu truy vấn nếu bạn muốn sau này chạy lại.

Khi tạo truy vấn trên nhiều bảng, bạn theo các bước cơ bản được phác họa ở trên ngoại trừ bạn thêm nhiều bảng vào phần thiết kế truy vấn. Bạn không thể chọn bảng bất kỳ để tạo truy vấn. Các bảng được chọn phải có quan hệ với nhau. Bạn có thể chỉ định quan hệ giữa bảng này với bảng khác khi thiết kế câu truy vấn, hay bạn có thể thiết lập quan hệ thường trực hơn giữa các bảng trong cửa sổ Relationships.

Trước khi tiếp tục, hãy khảo sát tất cả các quan hệ bảng đã được thiết lập cho cơ sở dữ liệu Chương 4. Hình 4.2 hiển thị các bảng trong cơ sở dữ liệu Chương 4 và quan hệ giữa từng cặp bảng. Hãy dành thời gian khảo sát hình này.

Hình 4.2 Quan hệ giữa các bảng.


Quan sát rằng các bảng nào xuất hiện trong cửa sổ Relationships mà có quan hệ với nhau thì có đường nối khóa chính từ một bảng đến khóa ngoại của bảng mà nó quan hệ. Với mọi bảng trong Ch04.accdb, các quan hệ là một-nhiều (1-M). Chẳng hạn, tblCustomer (góc trái trên của Hình 4.2) ở “phía một” của quan hệ một-nhiều với tblInvoice. Điều đó nghĩa là mỗi bản ghi khách hàng trong bảng khách hàng có thể liên hệ với 0, 1, hay nhiều bản ghi hóa đơn khách hàng. Đường nối bảng thể hiện phía “một” của quan hệ bằng số 1 và kế khóa chính. Tương tự, Access hiển thị ký hiệu vô cực (∞) kế khóa ngoại của bảng để thể hiện phía “nhiều” của quan hệ. Dĩ nhiên, bất kỳ bảng đã cho có thể quan hệ với nhiều bảng khác trong cơ sở dữ liệu. Chẳng hạn, tblEmployee đã thiết lập mối quan hệ với ba bảng khác, gồm tblEmployeeDivision, tblEmployeeTitle, tblInvoice.

Bạn phải tự thiết lập quan hệ giữa các bảng. Có hai cách: Bạn có thể tạo quan hệ trong cửa sổ Relationships ở đó các quan hệ trở nên thường trực khi tạo truy vấn mới, hay có thể tạo quan hệ mỗi khi bạn tạo truy vấn. Trừ phi khóa chính trong một bảng trùng với khóa ngoại trong bảng khác, Access sẽ không tự động thiết lập quan hệ giữa các cặp bảng.

Ta sẽ bắt đầu bằng một truy vấn đơn bảng – truy vấn mà dữ liệu được tra cứu từ một bảng. Sau đó, bạn sẽ tạo những truy vấn phức tạp hơn gồm một số dòng và một số cột từ một bảng. Cuối cùng, bạn sẽ tạo truy vấn trích dữ liệu từ nhiều bảng liên quan.

Thứ Sáu, 27 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Các góc nhìn

James Perry, Richard Newmark


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


Các góc nhìn


Bạn có thể làm việc với câu truy vấn ở năm góc nhìn khác nhau. Mỗi góc nhìn có mục đích riêng. Các góc nhìn truy vấn gồm: góc nhìn Datasheet, góc nhìn PivotTable, góc nhìn PivotChart, góc nhìn SQL, và góc nhìn Design. Khi bạn tạo hay sửa câu truy vấn, bạn làm việc ở góc nhìn thiết kế Design. Thiết kế của một truy vấn qui định trường nào ẩn hay hiển trong kết quả, trường có được sắp xếp không, theo tiêu chí nào, và có hiển thị kết quả không trùng lặp không. Góc nhìn Design có giao diện QBE gồm khung bảng và khung tiêu chí (xem Hình 4.1). Kết quả truy vấn – dòng và cột mà nó trả về - xuất hiện ở góc nhìn Datasheet. Truy vấn hiển thị ở góc nhìn Datasheet giống cách bảng hiển thị ở góc nhìn Datasheet. Đó là lý do tại sao câu truy vấn và bảng trong Access có thể cung cấp dữ liệu cho các đối tượng khác chẳng hạn forms hay báo cáo – vì cả hai cung cấp dữ liệu dạng bảng. Ít dùng nhưng vẫn quan trọng là góc nhìn PivotTable và PivotChart. Hai góc nhìn này hiển thị thông tin gộp về hai hay nhiều cột trong câu truy vấn dưới dạng bảng hay dạng biểu đồ.  Chẳng hạn, góc nhìn PivotTable của bảng khách hàng hiển thị số khách hàng theo bang hay tổng trị giá của mọi đợt mua hàng theo sản phẩm (trục Y) và theo bang (trục X). Góc nhìn PivotChart vẽ biểu đồ kết quả của PivotTable. Góc nhìn SQL rất có thể là góc nhìn ít dùng nhất. Nó hiển thị câu truy vấn bạn đã tạo ở góc nhìn Design dưới dạng câu lệnh SQL (thường được phát âm là “sequel”). SQL là ngôn ngữ phổ quát trong hệ quản trị cơ sở dữ liệu quan hệ. Bất kỳ hiển thị kết quả của bảng hay câu truy vấn, chẳng hạn, sẽ khiến một câu lệnh SQL được gửi đến Access. Tập động dynaset được phát sinh là kết quả của việc thi hành câu lệnh SQL. Hình 4.1 trình bày năm góc nhìn của cùng một câu truy vấn – khách hàng được sắp theo tên bang. Góc nhìn PivotTable và PivotChart hiển thị số lượng khách hàng theo bang. Góc nhìn Datasheet của câu truy vấn xuất hiện ở Hình 4.1a. Góc nhìn SQL ở 4.1b, thiết kế của nó ở 4.1c, và hai phiên bản pivot ở 4.1d và 4.1e.

Hình 4.1 Năm góc nhìn của cùng một câu truy vấn.

Thứ Năm, 26 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Các kiểu truy vấn

James Perry, Richard Newmark


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


Các kiểu truy vấn


Có hai kiểu truy vấn tổng quát bạn có thể dùng. Chúng được gọi là truy vấn chọn và truy vấn hành động. Truy vấn chọn (selection queries) cho phép bạn tra và hiển thị dữ liệu từ một hay nhiều bảng hoặc câu truy vấn mà không thay đổi bất kỳ bảng. Truy vấn hành động (action queries) cho phép bạn sửa, chèn, tạo, và xóa các tập dữ liệu trong cơ sở dữ liệu của bạn – nói cách khác, sửa nội dung bảng theo một cách nào đó. Chương này cung cấp rất nhiều ví dụ về hai kiểu truy vấn, nhưng sẽ nhấn mạnh đến truy vấn chọn.

Truy vấn chọn nêu câu hỏi cho cơ sở dữ liệu. Không như bảng, vốn lưu thông tin, câu truy vấn ra lệnh cho hệ cơ sở dữ liệu tích cực tìm trong bảng đã định để trả lời câu hỏi. Chẳng hạn, bạn có thể dùng một truy vấn để trả về danh sách tất cả nhân viên ở chi nhánh San Diego theo thứ tự phòng ban và tên họ trong phòng ban đó. Một truy vấn có thể dùng để liệt kê tất cả hóa đơn đã trễ hạn hơn 30 ngày. Mặc dù bạn có thể làm nhiều việc với datasheets – bao gồm sắp xếp, sửa, lọc, và in – bạn nhanh chóng nhận ra rằng việc xử lý bằng tay ở góc nhìn Datasheet của bảng thì hạn chế và mất thời gian. Truy vấn là phương án tốt. Truy vấn chọn cho bạn cách tiện lợi để lọc, sắp xếp, và xử lý dữ liệu. Hơn nữa, bạn có thể lưu câu truy vấn để có thể lặp lại thao tác đó trên một hay nhiều bảng. Chẳng hạn, bạn có thể tạo truy vấn để khảo sát cơ sở dữ liệu của hệ thống đặt chỗ hàng không và trả về danh sách tên các hành khách trên chuyến bay Flight 590 thuộc hãng hàng không American Airlines từ San Diego đi Chicago. Bằng việc tạo truy vấn để tìm dữ liệu chuyến bay, trích tên hành khách trên chuyến bay cụ thể, rồi sắp chúng theo thứ tự tên tăng dần, bạn đã tự động qui trình tra cứu thông tin nhiều bước. Tuần tới khi bạn thi hành câu truy vấn đã lưu, cùng một câu truy vấn (định nghĩa đã lưu) sẽ trả về kết quả hoàn toàn mới. Kết quả đó được gọi là là tập động dynaset, là bảng tạm. Câu truy vấn cơ sở dữ liệu tìm trên bảng rồi tạo kết quả có cấu trúc bảng được gọi là tập đóng (closed set).

Truy vấn hành động sửa nội dung của một hay nhiều bảng theo một cách nào đó. Truy vấn sửa, một trong những kiểu truy vấn hành động, sẽ sửa giá trị trong một hay nhiều cột dựa trên các tiêu chí nhằm hạn chế những dòng phải sửa. Các truy vấn hành động khác gồm truy vấn tạo bảng Make Table, truy vấn xóa Delete, và truy vấn nối đuôi Append. Truy vấn tạo bảng Make Table sẽ tạo một bảng mới từ cấu trúc và nội dung của bảng hiện thời. Truy vấn xóa Delete sẽ xóa dòng khỏi bảng dựa trên các tiêu chí chọn hay lọc nào đó. Truy vấn nối đuôi Append sẽ chép các dòng đã chọn từ một bảng rồi đặt chúng vào một bảng khác. Truy vấn sửa Update là phương án tốt nhất khi bạn muốn tăng 10 phần trăm giá bán lẻ của từng sản phẩm cà phê trong kho. Có thể phải sửa hàng trăm giá, nếu sửa bằng tay (mỗi lần một mặt hàng) sẽ tốn thời gian và dễ mắc lỗi.

Thứ Tư, 25 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Giới thiệu về truy vấn

James Perry, Richard Newmark


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


Giới thiệu về truy vấn


Khả năng tra cứu tập con gồm một hay nhiều dòng và cột bảng của một cơ sở dữ liệu đóng vai trò trung tâm trong khả năng tra cứu thông tin của nó. Quản lý viên nào muốn tìm thông tin nhân viên thì có thể tra bảng nhân viên, nhưng việc thu thập thông tin sẽ bị hạn chế nếu chỉ có thể tra trên một bảng. Nếu không có khả năng chỉ định những dòng cụ thể và nếu không có khả năng chọn thông tin từ nhiều bảng có quan hệ với nhau thì khả năng tra cứu của cơ sở dữ liệu sẽ chẳng khá hơn khả năng của hệ file phẳng. Chẳng hạn, giả sử có người phải hiển thị toàn bộ bảng khách hàng để xác định khách hàng nào ở Idaho, hay tất cả các dòng trong bảng tồn kho để xác định những tồn kho nào do nhà sản xuất từ California hay Oregon cung ứng. Việc dò bằng tay danh sách các dòng trong bảng để thỏa các tiêu chuẩn đó sẽ mất thời gian, mệt mỏi, và dễ sai sót. Câu truy vấn sẽ cung cấp giải pháp vì bạn có thể tạo truy vấn để trả về tập con dòng theo yêu cầu – khách hàng ở Idaho hay nhà sản xuất ở California hoặc Oregon – bằng cách tạo một truy vấn đơn giản trên một hay nhiều bảng chứa thông tin cần thiết. Access cung cấp một giao diện trực quan gọi là Query By Example (QBE, truy vấn qua ví dụ) để bạn tạo truy vấn. Giao diện QBE cho phép bạn qui định những cột bảng nào bạn muốn trả về, những cột nào sắp xếp các dòng kết quả, và bất kỳ tiêu chuẩn lọc hay hạn chế các dòng trả về.

Thứ Ba, 24 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Mục tiêu

James Perry, Richard Newmark


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


Mục tiêu


Chương này sẽ mở rộng kiến thức bạn đã lĩnh hội từ trước đến nay với thông tin chi tiết về câu truy vấn của Microsoft Access. Bạn sẽ học cách tạo truy vấn, tạo biểu thức trong câu truy vấn, sắp xếp và lọc kết quả truy vấn, cũng như tổng hợp thông tin bằng câu truy vấn. Các bài tập trong chương sẽ chú trọng đến các kỹ thuật quan trọng của Microsoft Access nhằm xây dựng các hệ thống kế toán. Như những chương trước, chương này định hướng ứng dụng và chứa nhiều bài tập thực hành. Ở chương này bạn sẽ học cách:


  • Tạo các truy vấn chọnhành động.
  • Duyệt câu truy vấn ở góc nhìn Design, Layout, PivotTable, và SQL.
  • Nối bảng và đặt ràng buộc toàn vẹn tham chiếu giữa chúng.
  • Dùng Query Wizard.
  • Làm việc ở góc nhìn Layout.
  • Nhóm và tổng kết dữ liệu bằng câu truy vấn.
  • Tạo truy vấn có tham biến.
  • Tạo truy vấn trên một bảng.
  • Tạo truy vấn trên bảng có quan hệ nhiều-nhiều.
  • Tạo truy vấn trên nhiều bảng, các giá trị cột dẫn xuất, và các biểu thức.
  • Tạo truy vấn với quan hệ nối ngoại nhằm biểu lộ thông tin ẩn.
  • Tạo và thi hành các truy vấn PivotTable và PivotChart.
  • Làm việc ở góc nhìn SQL để tạo truy vấn SQL.
  • Tạo và thi hành câu truy vấn hành động để sửa dữ liệu.

Ta sẽ tiếp tục dùng các bảng trong cơ sở dữ liệu The Coffee Merchant để làm nền cho chương. Toàn bộ các bảng của The Coffee Merchant đã sẵn sàng để bạn dùng. Ta sẽ tạo nhiều câu truy vấn khác nhau để trả lời cho các câu hỏi kế toán trên một hay nhiều bảng này – tuy nhiên có lẽ không phải toàn bộ chúng. Không giống Chương 3, bạn sẽ dành rất ít thời gian để tạo bảng ngoại trừ câu truy vấn hành động để tạo bảng và một bảng tần xuất dùng để phân tích tần xuất. Hãy tải và lưu cơ sở dữ liệu của chương tên là Ch04.accdb.

Thứ Hai, 23 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Tổng kết

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Tổng kết


Chương này đã trình bày cách dùng Access để thiết kế, nhập liệu, và hiển thị bảng. Bạn đã học cách tạo bảng từ khuôn mẫu templates và ngay từ đầu. Ở góc nhìn Design bạn đã tạo cột, đặt kiểu dữ liệu cho cột, và định nghĩa cột tra cứu lookup để hiển thị giá trị từ bảng khác và lưu khóa ngoại. Bạn đã học cách di chuyển, đổi tên, và xóa cột bảng; các hệ quản trị cơ sở dữ liệu quan hệ cho phép xử lý cột thậm chí sau khi đã nhập liệu vào bảng.

Một khi đã tạo bảng, bạn nhập liệu vào bảng và quan sát tác động của qui tắc kiểm tra hợp lệ cột trong việc hạn chế giá trị có thể nhập vào cột. Bạn đặt giới hạn về kiểu và kích cỡ thông tin người dùng có thể nhập vào cột. Để đặt quan hệ liên bảng, bạn đã học cách thiết lập tính toàn vẹn tham chiếu giữa các bảng bằng cách liên kết khóa chính của bảng này với khóa ngoại của bảng liên quan. Chương đã nhấn mạnh tầm quan trọng của việc đặc tả khóa chính khi thiết kế bảng. Bạn biết rằng bảng lưu giữ toàn bộ dữ liệu trong hệ cơ sở dữ liệu.

Góc nhìn Datasheet của bảng hỗ trợ việc sửa. Bạn có thể bố trí lại các cột bảng ở góc nhìn Datasheet mà không ảnh hưởng đến thiết kế trong bảng. Kiểu chữ, kích cỡ chữ, màu sắc, và các đặc trưng hiển thị trường văn bản khác có sẵn trên tab ngữ cảnh DATASHEET cùng các lệnh đổi kiểu dữ liệu cơ bản. Góc nhìn Datasheet của các trường số thậm chí còn cung cấp nhiều chọn lựa định dạng hơn, bao gồm định dạng tiền tệ, phần trăm, dấu phẩy, và gia giảm số vị trí thập phân. Dĩ nhiên, các thay đổi định dạng chỉ là hình thức bên ngoài và không ảnh hưởng đến dữ liệu bên trong. Trên HOME tab trong nhóm Records có lệnh Totals để thêm dòng tổng kết vào góc nhìn Datasheet của bảng và câu truy vấn (Chương 4) bất kỳ. Bạn có thể đặc tả một số hàm gộp cột gồm hàm tổng Sum, hàm trung bình Average, hàm đếm Count (cũng áp dụng cho trường văn bản), hàm giá trị lớn nhất Max, hàm giá trị nhỏ nhất Min, …

Navigation Pane cung cấp nhiều phương tiện tổ chức đối tượng. Các phân loại và nhóm tùy chỉnh trong Navigation Pane có thể được định nghĩa để lưu các đường tắt shortcut đến mọi đối tượng cơ sở dữ liệu. Bạn có thể ẩn các phân loại, nhóm, và đối tượng đơn lẻ trong nhóm. Bằng cách đặt tùy chọn của Navigation Pane, bạn có thể hiển thị các đối tượng ẩn ở dạng mờ, hay biến mất hoàn toàn.

Cuối cùng, bạn biết được các ưu điểm của việc tách bảng khỏi các đối tượng khác khi phát triển ứng dụng cơ sở dữ liệu cho khách hàng. Bằng cách tách bảng khỏi các đối tượng khác, bạn có thể liên kết đến bảng thật mà không ảnh hưởng đến chúng đồng thời tạo câu truy vấn, forms, và báo cáo trong hệ thống phát triển. Bạn liên kết các bảng thông qua nhóm Import & Links thuộc EXTERNAL DATA tab. Bạn có thể chọn liên kết với nhiều kiểu dữ liệu khác nhau, nhưng chương này chỉ minh họa việc liên kết đến các cơ sở dữ liệu Access khác.

Chủ Nhật, 22 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Liên kết đến bảng Access ngoại

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Liên kết đến bảng Access ngoại


Việc liên kết bảng trong một cơ sở dữ liệu đến bảng thực sự được lưu trong một cơ sở dữ liệu khác có một số ưu điểm bao gồm những ưu điểm đã được đề cập ở trên. Nó cũng có vài nhược điểm. Bảng liên kết là lý tưởng với nhiều người dùng cùng chia sẻ một cơ sở dữ liệu qua mạng. Từng người dùng có một cơ sở dữ liệu chứa liên kết (links) đến các bảng ở cơ sở dữ liệu trung ương. Như vậy, từng người dùng luôn thấy được mọi dữ liệu doanh nghiệp hầu như mới nhất trong cơ sở dữ liệu. Như đã đề cập ở trên, người phát triển tự do sửa các đối tượng ứng dụng mà không ảnh hưởng dữ liệu doanh nghiệp. Việc liên kết bảng thay vì lưu bản sao của chúng sẽ giảm kích cỡ của hầu hết cơ sở dữ liệu, giúp dễ dàng mang chuyển cơ sở dữ liệu sang máy tính khác. Nhược điểm nổi bật của bảng liên kết là không thể thay đổi chúng ở góc nhìn Design. Tuy nhiên, đây cũng là ưu điểm vì nó không cho người dùng thiếu kinh nghiệm hay không có thẩm quyền thay đổi thiết kế bảng.

Bài tập kế sẽ tóm lược cách tạo liên kết đến các bảng ở một cơ sở dữ liệu khác. Với bài tập này, bạn sẽ không dùng cơ sở dữ liệu Chương 3.

BÀI TẬP 3.28: LIÊN KẾT BẢNG TRONG MỘT CƠ SỞ DỮ LIỆU ACCESS KHÁC

1. Nếu cơ sở dữ liệu Chương 3 đang mở, kích FILE tab rồi kích Close trong danh sách menu để đóng. Cơ sở dữ liệu sẽ đóng nhưng Access vẫn mở.

2. Với màn hình Microsoft Access đang mở, kích lệnh Open Other Files.

3. Kích Computer, rồi kích nút lệnh Browse. Định vị cơ sở dữ liệu Developer.

4. Kích Developer để chọn rồi kích Open để mở cơ sở dữ liệu. Navigation Pane sẽ hiển thị các đối tượng truy vấn Queries, Forms, và báo cáo Reports. Hiện giờ cơ sở dữ liệu không chứa bảng. Kích nút Enable Content nếu thấy xuất hiện.

5. Kích EXTERNAL DATA tab, rồi kích nút Access trong nhóm Import & Link, hộp thoại Get External Data xuất hiện.

6. Kích nút Browse, đến thư mục folder chứa cơ sở dữ liệu Client, kích tên cơ sở dữ liệu Client trong hộp thoại File Open, rồi kích Open. Hộp thoại Get External Data lại xuất hiện.

7. Kích nút radio Link to the data source by creating a linked table (xem Hình 3.32), rồi kích OK. Hộp thoại Link Tables xuất hiện (xem Hình 3.33).

Hình 3.32 Hộp thoại Get External Data.


Hình 3.33 Hộp thoại Link Tables.

8. Kích Select All để chọn tất cả các bảng trong danh sách, rồi kích OK. Nhóm Tables ở Navigation Pane tự động xuất hiện chứa tên các bảng liên kết. Để ý mũi tên nhỏ ở bên trái từng tên bảng. Đây là chỉ dấu cho biết bảng được liên kết với bảng trong một cơ sở dữ liệu khác, chứ không được lưu trữ ở đây.

9. Mở một bảng liên kết để đảm bảo quá trình liên kết hoạt động tốt: Kích kép tblInvoiceLines trong nhóm Tables để mở ở góc nhìn Datasheet. Bảng sẽ mở và hiển thị các dòng đầu tiên trong 6149 dòng.

Như đã đề cập trước đây, bạn không thể sửa thiết kế bảng từ cơ sở dữ liệu chứa liên kết bảng. (Tuy nhiên bạn có thể thêm dữ liệu, sửa dữ liệu, hay xóa dòng.) Để củng cố khái niệm này, hãy làm Thử nghiệm sau.

THỬ NGHIỆM

Với bảng tblInvoiceLines đang mở ở góc nhìn Datasheet, kích phải tblInvoiceLines tab, rồi kích Design View trong pop-up menu. Góc dưới phải xuất hiện thông báo This property cannot be modified in linked tables (Thuộc tính này không thể được sửa trong bảng liên kết).

Bạn đã hoàn thành Chương 3. Hãy đóng Access.

Thứ Bảy, 21 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Tách bảng khỏi các đối tượng cơ sở dữ liệu khác

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Tách bảng khỏi các đối tượng cơ sở dữ liệu khác


Khi phát triển ứng dụng cho môi trường khách chủ client server, bạn sẽ thấy thuận tiện khi tách bảng khỏi câu truy vấn, forms, báo cáo và các đối tượng cơ sở dữ liệu khác. Làm vậy sẽ cho bạn lưu bảng vào một cơ sở dữ liệu và các đối tượng liên quan vào một cơ sở dữ liệu khác. Sau đó bạn có thể tạo câu truy vấn, forms, báo cáo, macros, và modules dựa trên các bảng liên kết. Bảng liên kết được lưu vào một file bên ngoài cơ sở dữ liệu đang mở từ đó Microsoft Access có thể truy xuất các bản ghi trong bảng. Bạn có thể thi hành hầu hết các thao tác cơ sở dữ liệu thông thường trên bảng liên kết giống như bạn có thể thực hiện trên các bảng lưu trong cùng một cơ sở dữ liệu. Tuy nhiên, bạn không thể sửa cấu trúc bảng liên kết trong cơ sở dữ liệu chỉ chứa liên kết. Điều này không bất tiện lắm, vì bạn lúc nào cũng có thể sửa cấu trúc bảng bất kỳ bằng cách mở cơ sở dữ liệu lưu chính bảng đó. Sau đó, bạn sửa cơ sở dữ liệu liên kết với cơ sở dữ liệu chỉ chứa bảng để hoàn tất việc thay đổi.

Tại sao bạn lại mất công tách bảng – những đối tượng cơ sở dữ liệu duy nhất lưu dữ liệu – khỏi các đối tượng cơ sở dữ liệu khác? Lý do quan trọng nhất là tạo nên sự độc lập khi phát triển ứng dụng. Là người phát triển, bạn có thể tiếp tục cải thiện và phát triển câu truy vấn, forms, và báo cáo trong phiên bản cơ sở dữ liệu dành cho người phát triển. Sau đó, khi bạn sẵn sàng cập nhật ứng dụng phía khách client, bạn chỉ cần thay các đối tượng cơ sở dữ liệu ở phía khách client bằng câu truy vấn, forms, báo cáo, macros, và modules mới nhất từ cơ sở dữ liệu dành cho người phát triển – không đụng vào các bảng ở phía khách client. Bằng cách này, các bảng ở phía khách client không bị ảnh hưởng, và phía khách client có thể tiếp tục xử lý bằng cách dùng cơ sở dữ liệu đó. Phương pháp này cho phép bạn cập nhật phần mềm liên tục mà không ảnh hưởng đến vận hành hàng ngày ở phía khách client mà phụ thuộc ứng dụng cơ sở dữ liệu. Hình 3.31 trình bày hình ảnh biểu diễn việc tách bảng/đối tượng nên làm khi phát triển ứng dụng khách-chủ client-server. Hình dùng cơ sở dữ liệu Chương 1 làm ví dụ, và cơ sở dữ liệu “Developer” chứa liên kết đến các bảng trong cơ sở dữ liệu “Client”. Cả hai cơ sở dữ liệu Developer và Client đều chứa các câu truy vấn, forms, … Cơ sở dữ liệu Developer chứa phiên bản mới nhất của các đối tượng khác. Khi đến lúc cập nhật các đối tượng ứng dụng phía khách client gồm câu truy vấn, forms, và báo cáo, người phát triển chỉ cần chuyển chúng vào cơ sở dữ liệu Client từ cơ sở dữ liệu Developer. Các bảng trong Client không đổi. Kỹ năng duy nhất bạn chưa thực hành để tách bảng là tạo liên kết đến bảng trong một cơ sở dữ liệu khác. Bạn sẽ làm điều đó trong phần tới.

Hình 3.31 Tách bảng khỏi các đối tượng cơ sở dữ liệu khác.

Thứ Sáu, 20 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Tổ chức bảng vào các phân loại tùy chỉnh

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Tổ chức bảng vào các phân loại tùy chỉnh


Một cách tùy chỉnh tiện lợi các đối tượng cơ sở dữ liệu trong Navigation Pane là đặt chúng vào một hay nhiều phân loại tùy chỉnh. Bạn tạo một phân loại tùy chỉnh bằng cách đổi tên phân loại Custom (có sẵn) hay tạo một phân loại mới và tùy ý đặt tên – như bạn đã làm ở trên. Tốt nhất là giữ cho số phân loại tùy chỉnh và các nhóm thuộc từng phân loại ở mức độ tối thiểu để dễ dàng tìm kiếm đối tượng trong cơ sở dữ liệu. Các phân loại và nhóm tùy chỉnh có tính cục bộ trong cơ sở dữ liệu mà bạn đã tạo chúng. Nói cách khác, bạn không thể chuyển phân loại và nhóm tùy chỉnh sang các cơ sở dữ liệu khác – mặc dù bạn có thể tạo lại chúng trong các cơ sở dữ liệu khác. Một khi bạn đã tạo nhóm tùy chỉnh trong phân loại tùy chỉnh bất kỳ, bạn có thể đặt các đường tắt (shortcuts) đến đối tượng cơ sở dữ liệu vào nhóm – không phải bản thân các đối tượng đó. Giả sử bạn đã tạo phân loại tùy chỉnh Managerial và nhóm tùy chỉnh CEOReports trong phân loại đó. Bạn tham chiếu đến một báo cáo bằng cách đặt một đường tắt shortcut vào nhóm CEOReports – rất giống việc bạn tạo đường tắt shortcuts trên Windows desktop đại diện cho chương trình thật sự lưu trong các thư mục folders trên đĩa của bạn. Access cho phép bạn tạo nhiều đường tắt shortcuts đến các đối tượng cơ sở dữ liệu – mỗi đường tắt shortcut trong một nhóm khác nhau. Điều này đặc biệt tiện lợi khi một báo cáo hay form có ích cho hai hay nhiều nhóm người dùng khác nhau được đại diện bởi hai nhóm trong một phân loại ở Navigation Pane. Bất kỳ khi nào bạn xem bất kỳ phân loại tùy chỉnh và các nhóm trong đó ở Navigation Pane, bạn luôn thấy đường tắt shortcuts đến các đối tượng. Bạn có thể dễ dàng nhận diện các đường tắt shortcuts nhờ mũi tên nhỏ nằm kế biểu tượng ở góc trái dưới.

BÀI TẬP 3.25: THÊM ĐỐI TƯỢNG VÀO MỘT NHÓM TÙY CHỈNH

1. Kích menu ở đỉnh Navigation Pane rồi kích Managers, phân loại mới bạn đã tạo ở các bài tập trước.

2. Mở rộng Navigation Pane để hiển thị tên nhóm tùy chỉnh bằng cách kéo cạnh phải của Navigation Pane sang phải.

3. Trong nhóm Unassigned Objects, kích tblEmployee rồi kéo nó vào trong tên nhóm Employee Data Entry Form. Một đường tắt shortcut đến tblEmployee sẽ xuất hiện trong nhóm Employee Data Entry Form.

4. Đây là một cách khác để đặt một đường tắt shortcut đối tượng vào nhóm tùy chỉnh: kích phải tblEmployeeTitle trong nhóm Unassigned Objects, trỏ đến Add to group trong pop-up menu, rồi kích Employee Title Form trong menu phân cấp (xem Hình 3.29). Access sẽ đặt một đường tắt shortcut vào nhóm Employee Title Form. Để ý rằng nhóm Unassigned Objects chỉ còn chứa một đối tượng – tblEmployeeDivision – vì nó chưa được đặt vào bất kỳ nhóm tùy chỉnh nào.

Hình 3.29 Thêm đường tắt shortcut đối tượng vào nhóm tùy chỉnh.

Bạn có thể che nhóm Unassigned Objects để người dùng không phải bối rối với những đối tượng và phân loại mà họ không dùng. Bạn đã làm việc này với các nhóm chuẩn trong một bài tập trước. Để ôn lại, hãy che nhóm Unassigned Objects.

BÀI TẬP 3.26: CHE NHÓM UNASSIGNED OBJECTS

1. Kích phải menu ở đỉnh Navigation Pane rồi kích Navigation Options trong pop-up menu.

2. Kích tên nhóm Managers trong khung Categories.

3. Ở khung Groups for “Managers”, xóa ô Unassigned Objects (xem Hình 3.30).

Hình 3.30 Che nhóm Unassigned Objects.

4. Xóa ô Show Hidden Objects để các nhóm ẩn không xuất hiện.

5. Kích OK để hoàn tất thủ tục này và đóng hộp thoại Navigation Options.

Bạn có thể thấy tên phân loại Managers xuất hiện ở đỉnh Navigation Pane. Bên dưới đó là hai nhóm tùy chỉnh Employee Data Entry FormEmployee Title Form. Ta nhận ra rằng tên nhóm không mô tả được các đối tượng mà chúng chứa. Chúng đơn thuần minh họa cách bạn có thể tạo nhóm với tên bạn muốn đặt.

Làm thế nào bạn hiển thị lại Navigation Pane “chuẩn” với các kiểu đối tượng và tên nhóm chuẩn của chúng? Dễ thôi. Chỉ việc kích Navigation Pane menu rồi kích tên phân loại Object Type.

THỬ NGHIỆM

Kích Navigation Pane menu rồi kích tên phân loại Object Type. Khung Navigation Pane sẽ hiển thị nhóm Tables thuộc phân loại All Access Objects.

Việc dọn dẹp các phân loại và nhóm của bạn cũng quan trọng. Đôi khi, bạn cần loại bỏ nhóm hay toàn bộ phân loại. Ta sẽ làm điều đó trong bài tập sau đây.

BÀI TẬP 3.27: XÓA PHÂN LOẠI TÙY CHỈNH VÀ CÁC NHÓM CỦA CHÚNG

1. Kích phải menu ở đỉnh Navigation Pane rồi kích Navigation Options trong pop-up menu. Hộp thoại Navigation Options xuất hiện.

2. Kích Managers trong khung Categories, rồi kích nút Delete Item.

3. Kích OK để xác nhận việc xóa phân loại và tất cả các nhóm nó chứa. Access sẽ loại bỏ phân loại tùy chỉnh Managers và xóa các nhóm cùng đường tắt shortcut mà nó chứa.

4. Kích OK để đóng hộp thoại Navigation Options.

Hãy xác thực rằng nhóm Managers đã bị xóa, nếu bạn muốn, bằng cách kích Navigation Pane menu. Để ý rằng không còn phân loại Managers – chỉ có Custom, Object Type, xuống đến Modified Date xuất hiện trong danh sách phân loại.

Thứ Năm, 19 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Tạo phân loại mới

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Tạo phân loại mới


Bất kỳ khi nào bạn tạo cơ sở dữ liệu mới mà không dùng một khuôn mẫu có sẵn, Microsoft Access sẽ tự động tạo một phân loại tùy chỉnh Custom. Phân loại tùy chỉnh hiển thị nhóm chứa tất cả các đối tượng cơ sở dữ liệu. Bạn có thể đổi tên phân loại tùy chỉnh, tự tạo các nhóm tùy chỉnh mới, và thêm đối tượng vào nhóm. Để giúp bạn hiểu rõ phân loại và nhóm, hãy khảo sát tất cả các hình từ chương đầu đến nay, hiển thị Navigation Pane với phân loại Object Type và nhóm All Access Objects thuộc phân loại đó. Các nhóm khác thuộc phân loại Object Type là bảng Tables, câu truy vấn Queries, Forms, báo cáo Reports, … Bạn có thể đóng các nhóm đã chọn và để các nhóm khác mở - chẳng hạn đóng tất cả các nhóm ngoại trừ Tables trong phân loại Object Type.

Nếu bạn phát sinh nhiều kiểu báo cáo cho nhân viên bán hàng và các báo cáo khác cho quản lý viên, bạn có thể tổ chức cơ sở dữ liệu của bạn bằng cách tạo phân loại Company Reports (báo cáo cho công ty) rồi tạo các nhóm trong phân loại đó gọi là Salesperson Reports (báo cáo cho nhân viên bán hàng) và Managerial Reports (báo cáo cho quản lý), chẳng hạn. Nhóm Salesperson Reports chứa tất cả các báo cáo liên quan đến nhân viên bán hàng; tương tự, nhóm Managerial Reports chỉ chứa các báo cáo quản lý. Đây là nguyên tắc tổ chức rất tiện lợi nhằm tránh vấn đề có quá nhiều đối tượng lẫn lộn. Để hiểu ý nghĩa của phân loại và nhóm, bạn sẽ tạo cả hai và nhập vào đó những tham chiếu đến đối tượng thích hợp. Access cho phép có tối đa 10 phân loại tùy chỉnh. Hãy tạo một phân loại và vài nhóm để hiểu cách vận hành.

BÀI TẬP 3.23: TẠO MỘT PHÂN LOẠI TÙY CHỈNH

1. Mở cơ sở dữ liệu Chương 3, nếu cần, kích phải menu ở đỉnh Navigation Pane, rồi kích Navigation Options. Hộp thoại Navigation Options xuất hiện.

2. Trong hộp thoại Navigation Options ở danh sách Categories, kích Add Item. Một phân loại mới xuất hiện trong danh sách (xem Hình 3.28).

Hình 3.28 Tạo một phân loại tùy chỉnh.

3. Gõ Managers để thay tên Custom Category 1 rồi nhấn Enter. Phân loại mới xuất hiện trong danh sách Categories. Nó hiển thị Groups for “Managers” ở đầu đề. Về mặc định, Access tạo một nhóm tên là Unassigned Objects. Hãy để hộp thoại Navigation Options mở cho bài tập kế.

Sau khi tạo phân loại tùy chỉnh, bạn có thể đặt vào đó nhóm bất kỳ khi cần.

BÀI TẬP 3.24: TẠO NHÓM TÙY CHỈNH

1. Dưới khung Groups for “Managers” ở bên phải hộp thoại Navigation Options, kích Add Group. Tên nhóm Custom Group 1 xuất hiện.

2. Đặt tên cho nhóm mới: Gõ Employee Data Entry Form, rồi nhấn Enter.

3. Kích Add Group lần nữa, gõ Employee Title Form, rồi nhấn Enter để tạo nhóm tùy chỉnh thứ hai. Access sẽ hiển thị tên các nhóm mới trong khung Groups for “Managers”.

4. Kích OK để đóng hộp thoại Navigation Options.

Để ý rằng Navigation Pane không hiển thị phân loại mới bạn vừa tạo cũng như các nhóm tùy chỉnh trong phân loại đó. Bạn phải chọn phân loại tùy chỉnh để nó xuất hiện cùng với các nhóm vừa tạo mới. Trong phần kế, bạn sẽ làm phân loại đó khả kiến rồi thêm bảng vào các nhóm tùy chỉnh đã tạo.

Thứ Tư, 18 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Ẩn và hiện tên đối tượng

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Ẩn và hiện tên đối tượng


Bạn có thể ẩn một số hay tất cả các nhóm trong một phân loại. Nhớ là trước đây trong chương bạn có thể kích phải đối tượng bất kỳ trong nhóm rồi kích Hide in this Group (ẩn trong nhóm này) từ pop-up menu. Thường thì thao tác này sẽ làm đối tượng mờ đi trong nhóm. Cũng nhớ rằng bạn có thể khiến nhóm ẩn bất kỳ biến mất khỏi danh sách đối tượng. Hai bài tập Thử nghiệm sau đây sẽ đưa bạn đi qua quá trình hai bước này.

Thử nghiệm đầu tiên sẽ làm mờ đối tượng, chuẩn bị cho việc làm ẩn nó. Thử nghiệm thứ hai sẽ làm tên của đối tượng mờ biến mất khỏi danh sách đối tượng trong Navigation Pane.

THỬ NGHIỆM

Hãy làm mờ một đối tượng bảng trong Navigation Pane: Với cơ sở dữ liệu Chương 3 đang mở và mọi cửa sổ tab được đóng, kích phải tblEmployeeTitle trong Navigation Pane. Kích Hide in this Group. Hãy chọn một bảng khác để xác thực rằng tblEmployeeTitle đã bị mờ: Kích tblEmployee trong Navigation Pane. Trừ phi bạn đã đặt tùy chọn cho Navigation Pane không hiển thị các đối tượng ẩn, tên bảng sẽ bị mờ nhưng vẫn khả kiến trong danh sách Navigation Pane.

THỬ NGHIỆM

Hãy làm tên bảng biến mất: Kích phải menu của Navigation Pane ở trên đỉnh của nó rồi kích lệnh Navigation Options trong danh sách pop-up. Hộp thoại Navigation Options xuất hiện. Xóa ô Show Hidden Objects bằng cách kích nó, nếu cần, để xóa đánh dấu. Kích OK. Để ý rằng bảng bị ẩn tblEmployeeTitle không còn xuất hiện trong nhóm Tables. Hãy làm lại hai bài tập Thử nghiệm này để đảo ngược điều bạn vừa làm và khiến cho tblEmployeeTitle tái xuất hiện. Đầu tiên, hãy đánh dấu ô Show Hidden Objects trong Thử nghiệm thứ hai, rồi làm lại Thử nghiệm đầu tiên (kích Unhide in this Group).

Thứ Ba, 17 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Tổ chức bảng trong Navigation Pane

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Tổ chức bảng trong Navigation Pane


Định vị ở cạnh trái màn hình, Navigation Pane chứa danh sách tất cả đối tượng trong cơ sở dữ liệu, và đó là vị trí đầu não từ đó bạn hiển thị và soạn thảo mọi đối tượng cơ sở dữ liệu của bạn. Về mặc định, Navigation Pane xuất hiện khi bạn mở cơ sở dữ liệu. Như đã làm nhiều lần, bạn có thể kích kép một đối tượng trong Navigation Pane để mở nó, hay bạn có thể kéo tên đối tượng vào cửa sổ mở để mở nó. Kích phải đối tượng rồi chọn Design View để soạn thảo thiết kế của đối tượng.

Ở cạnh phải của Navigation Pane là thanh đóng/mở. Để đóng/mở Navigation Pane, bạn kích nút đóng/mở trên thanh (hay nhấn F11) (xem Hình 3.26) để thu gọn Navigation Pane bất kỳ khi nào bạn cần nhiều không gian màn hình hơn. Navigation Pane được chia thành phân loại và nhóm. Phân loại xuất hiện ở đỉnh Navigation Pane, bao gồm Tables and Related Views (bảng và các góc nhìn liên quan), Object Type (kiểu đối tượng), Created Date (thời điểm tạo), và Modified Date (thời điểm sửa). Các đối tượng trong cơ sở dữ liệu Chương 3 được hiển thị xuyên suốt ở phân loại Tables and Related Views. Bên trên phân loại Object Type là Custom (tùy chỉnh). Phân loại này cho phép bạn tạo và đặt tên phân loại mới đồng thời nhóm các đối tượng vào đó. Các phân loại trong Navigation Pane có các nhóm của chính chúng. Phân loại Object Type chứa các nhóm quen thuộc là bảng Tables, câu truy vấn Queries, Forms, báo cáo Reports, và All Access Objects (mọi đối tượng Access). Các phân loại khác sẽ có những nhóm khác. Phân loại Tables and Related Views tổ chức các đối tượng theo tên bảng, các đối tượng liên quan được nhóm vào bảng đó. Cách này rất tiện, chẳng hạn khi bạn muốn biết những forms và queries nào phụ thuộc một bảng cụ thể. Hình 3.26 trình bày ví dụ về phân loại này và các nhóm liên quan trong Navigation Pane. Ví dụ cơ sở dữ liệu ở Hình 3.26 là cơ sở dữ liệu Chương 1 do chứa nhiều và đa dạng đối tượng hơn cơ sở dữ liệu Chương 3. Phân loại Object Type là phân loại bạn thấy ở Chương 3 (https://drive.google.com/open?id=0B6H3SJm51Z-BVXpKTVlHR2hNLUE) – bảng được nhóm lại với nhau, sau đó là tất cả câu truy vấn, rồi đến forms, … Phân loại Object Type bạn đang dùng, nhóm các đối tượng theo kiểu. Các nhóm thuộc phân loại này bao gồm All Access Objects (mặc định), và từng kiểu đối tượng lọc theo nhóm là Tables, Queries, Forms, Reports, Macros, hay Modules. Chẳng hạn, bạn chỉ hiển thị bảng bằng cách chọn Tables từ danh sách nhóm. Hình 3.27 trình bày Navigation Pane trước khi chọn Queries. Một khi được kích, chỉ các câu truy vấn xuất hiện trong Navigation Pane. Nếu cần, bạn có thể hiển thị các đối tượng theo thứ tự thời điểm tạo hay thời điểm sửa.

Hình 3.26 Phân loại bảng cùng nhóm đối tượng liên hệ với bảng đó.

Hình 3.27 Chuẩn bị hiển thị nhóm Queries thuộc phân loại Object Type.

Thứ Hai, 16 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - In các bản ghi

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


In các bản ghi


Bạn có thể in bảng theo dòng cột như ở góc nhìn Datasheet. Không may, bạn chỉ có thể kiểm soát một vài chi tiết dàn trang như đầu đề, chân đề (footers), số trang, tiêu đề, … Nếu cần bản in chất lượng cao, bạn phải thiết kế báo cáo dựa trên bảng với đầu đề, chân đề, số trang, đầu đề cột, và các đặc trưng báo cáo khác. Báo cáo là cách tạo kết quả in ấn chất lượng cao. Nếu bạn muốn đơn giản, thì bản in bình thường với các thiết đặt mặc định sẽ đủ trong những tình huống khác. Việc in bảng không khó. Các Thử nghiệm sau sẽ hướng dẫn cách làm.

THỬ NGHIỆM

Hãy đóng các tab cửa sổ đang mở. Kích tên bảng tblEmployee trong Navigation Pane. (Không cần mở bảng lên.) Với tblEmployee được làm nổi bật, kích FILE tab, kích Print trong danh sách menu, rồi kích Print Preview. Lúc này cũng cần xem trang đầu trong phần hiển thị của Print Preview để đảm bảo các thiết đặt in ấn là đúng. Tab ngữ cảnh PRINT PREVIEW hiển thị tất cả các lệnh, bao gồm nhóm dàn trang Page Layout. Kích nút Landscape để định hướng lại bản in. Rất có thể bạn để ý rằng không phải tất cả các cột nhân viên đều xuất hiện trên trang. Hãy canh lề để chỉnh sửa vấn đề này: Kích lệnh Margins, rồi kích Normal. Cột thiếu duy nhất trong phần preview có thể là EmpNotes (xem Hình 3.25). Điều đó không sao. Kích nút Print trong nhóm Print thuộc tab ngữ cảnh PRINT PREVIEW. Giới hạn trang in chỉ là trang 1: Kích ô From: rồi gõ 1. Kích OK để in. Kích nút Close Print Preview trong nhóm Close Preview.

Hình 3.25 Xem trước bản in bảng nhân viên.

Hãy duyệt lại kết quả in. Bên trên là tên bảng và thời điểm hôm nay. Bên dưới là số trang. Nếu bạn phải nộp bản in, hãy dụ Access in tên bạn trên đầu đề. Hãy dùng mẹo đơn giản sau. Đầu tiên sao chép bảng bạn muốn in rồi dán vào lại Navigation Pane. Đổi tên bản sao thành họ tên của bạn. Chọn bản sao này để in. Bây giờ bạn có thể theo hướng dẫn chi tiết trong phần Thử nghiệm ở trên. Vì Access in tên bảng ở đầu trang, việc in bảng có tên bạn sẽ làm tên bạn xuất hiện ở đầu đề trang in.

Chủ Nhật, 15 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Hiển thị các tổng cột

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Hiển thị các tổng cột


Có thể đặt giá trị gộp (tổng, trung bình, …) ở dòng cuối của bảng hay câu truy vấn ở góc nhìn Datasheet. Việc kích lệnh lấy tổng Totals trong nhóm Records trên HOME tab sẽ bật tắt dòng tổng Total. Kích lệnh Totals một lần thì dòng Total xuất hiện bên dưới dòng trống cuối bảng ở góc nhìn Datasheet. Kích lệnh này lần nữa thì Access sẽ bỏ dòng Total.

Các ô trong dòng Total có thể được tùy chỉnh để hiển thị nhiều giá trị gộp gồm trung bình, số đếm, giá trị lớn nhất, giá trị nhỏ nhất, độ lệch chuẩn, tổng, và phương sai cho các cột số. Trung bình, số đếm, giá trị lớn nhất, và giá trị nhỏ nhất có thể áp dụng cho các cột thời điểm. Duy nhất số đếm có thể áp dụng cho tất cả các kiểu dữ liệu kể cả văn bản. Số đếm là số lượng dữ liệu khác null trong cột.

Ta sẽ dùng bảng tblEmployee để minh họa dòng Total. Tuy nhiên, công dụng của dòng Total sẽ phù hợp hơn trong câu truy vấn hiển thị các tổng kết như tổng hóa đơn nhóm theo khách hàng. Trong trường hợp đó, dòng Total sẽ phục vụ nhu cầu tối quan trọng là hiển thị tổng tất cả các hóa đơn chưa thanh toán, chẳng hạn. Ở đây ta chỉ dùng bảng tblEmployee để minh họa.

BÀI TẬP 3.22: THÊM DÒNG TOTAL

1. Mở tblEmployee ở góc nhìn Datasheet.

2. Kích HOME tab, nếu cần, rồi kích nút Totals trong nhóm bản ghi Records. Một dòng mới xuất hiện bên dưới bản ghi cuối cùng. Từ Total xuất hiện ở cột đầu tiên.

3. Kích ô trống trong dòng Total bên dưới cột EmpTitleID, kích mũi tên sổ xuống của ô để hiển thị danh sách hàm gộp. Chỉ thấy xuất hiện None Count. (None sẽ loại hàm gộp khỏi ô đã chọn.) Kích Count. Access hiển thị 22 – số ô không trống trong cột đó.

4. Kích ô trống trong dòng Total bên dưới cột EmpCompRate hiển thị phần trăm hoa hồng nhân viên . Kích mũi tên sổ xuống của ô để hiển thị danh sách hàm gộp. Có 7 hàm cùng với None. Kích Average. Ngay sau đó Access hiển thị giá trị 8.59%, là phần trăm hoa hồng trung bình của tất cả các nhân viên.

5. Kích ô trống trong dòng Total bên dưới cột EmpHireDate, kích mũi tên sổ xuống, rồi kích Minimum trong danh sách 4 hàm gộp. Access sẽ hiển thị thời điểm tuyển dụng sớm nhất (“minimum”) là 5/16/1996 (xem Hình 3.24).

Hình 3.24 Chèn các thống kê cột vào dòng Total.

6. Kích phải tblEmployee tab, kích Close, rồi kích No khi được hỏi bạn muốn lưu thay đổi cách bài trí không. Không cần hiển thị các giá trị tổng lần sau khi bạn mở tblEmployee ở góc nhìn Datasheet.

Thứ Bảy, 14 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Định dạng Datasheet

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Định dạng Datasheet


HOME tab của dải lệnh hiển thị nhóm nút lệnh cho phép bạn định dạng bảng đang mở ở góc nhìn Datasheet. Các nút lệnh đó gồm các tùy chọn để đổi kiểu chữ, màu chữ, màu nền, và chế độ canh văn bản. Mọi thay đổi định dạng chỉ tác động đến bảng đang hiển thị ở góc nhìn Datasheet, và chúng được lưu khi bạn lưu cách bài trí bảng cũng như xuất hiện khi bạn đóng rồi mở lại bảng ở góc nhìn Datasheet. Tới đây bạn sẽ trải nghiệm một vài thay đổi định dạng.

BÀI TẬP 3.21: ĐỊNH DẠNG GÓC NHÌN DATASHEET

1. Hãy đảm bảo tblEmployee đang mở ở góc nhìn Datasheet.

2. Kích HOME tab, nếu cần.

3. Kích mũi tên danh sách lệnh Font Color thuộc nhóm Text Formatting. Kích ô đỏ thẫm Dark Red (cột trái, dòng cuối của bảng màu chuẩn Standard Colors). (Gợi ý: Trỏ đến một màu để hiển thị tên màu dưới dạng tool tip.) Màu chữ của toàn bộ văn bản sẽ chuyển sang màu đã chọn.

4. Kích mũi tên danh sách lệnh Background Color thuộc nhóm Text Formatting. Kích ô màu vàng Yellow (dòng cuối, cột thứ tư sang phải của bảng màu chuẩn Standard Colors). Màu nền của mọi dòng bảng sẽ chuyển sang màu đã chọn. Để ý rằng các ô màu chữ và màu nền đã chọn xuất hiện trong khung màu hiện hành Recent Colors trong bảng màu sổ xuống (xem Hình 3.23).

Hình 3.23 Định dạng cột.

5. Kích mũi tên danh sách lệnh Alternate Row Color thuộc nhóm Text Formatting. Kích ô màu nâu Maroon 3 (dòng thứ tư tính từ trên xuống, cột thứ sáu sang phải của bảng màu chuẩn Standard Colors). Màu nền cách dòng sẽ chuyển sang màu đã chọn. Chà! Việc chọn màu trông khá lộn xộn. Nhưng chúng tôi muốn bạn biết cách đặt màu.

6. Kích phải tblEmployee tab, kích Close All trong pop-up menu, rồi kích No khi xuất hiện hộp thoại hỏi bạn muốn lưu thay đổi cách bài trí không.

Thứ Sáu, 13 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Ẩn cột và đóng băng cột

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Ẩn cột và đóng băng cột


Đôi khi bạn không muốn thấy và in tất cả các cột trong bảng. Nhưng bạn không thể xóa cột bạn không muốn thấy ở góc nhìn Datasheet vì như vậy sẽ hủy dữ liệu quan trọng và có thể phá vỡ các quan hệ đã được thiết lập giữa các bảng. Chẳng hạn, hiện thời bạn có thể muốn ẩn các cột EmpID, EmpPhone, và EmpNotes ở góc nhìn Datasheet. Tương tự, bạn có thể muốn đóng băng các cột tên và họ sao cho việc cuộn sang phải không làm các cột đó ẩn vào bên trái màn hình. Hành động đó – giữ cho cột vẫn hiển thị khi cuộn ngang – gọi là đóng băng (freezing) cột. Bài tập kế sẽ chỉ cách ẩn cột và đóng băng cột.

BÀI TẬP 3.18: ẨN CỘT

1. Kích kép tblEmployee trong Navigation Pane để mở bảng ở góc nhìn Datasheet.

2. Kéo chuột qua các nhãn cột EmpID EmpPhone để chọn cả hai cột. (Chúng cần ở cạnh nhau nếu bạn đã hoàn thành Bài tập 3.17 ở trên.)

3. Kích phải bất kỳ nơi nào trong các cột đã chọn rồi kích Hide Fields trong pop-up menu. Access sẽ ẩn hai cột. (Bạn có thể hiển thị bảng ở góc nhìn Design để xác tín rằng hai cột vẫn tồn tại nhưng không được hiển thị.)

4. Để tblEmployee mở ở góc nhìn Datasheet.

Việc đóng băng cột đặc biệt hữu ích khi các cột bảng ở góc nhìn Datasheet nằm ngoài biên phải màn hình. Việc đóng băng các cột bên trái sẽ duy trì việc hiển thị chúng khi bạn cuộn sang phải ở góc nhìn Datasheet.

BÀI TẬP 3.19: ĐÓNG BĂNG CỘT

1. Kéo chuột qua các nút chọn cột của EmpFName EmpLName để chọn cả hai cột.

2. Kích bất kỳ nơi nào trong các cột đã chọn rồi kích Freeze Fields trong pop-up menu. Không có gì xảy ra, nhưng Access đã đóng băng hai cột đó ở biên trái (xem Hình 3.21).

Hình 3.21 Đóng băng cột ở góc nhìn Datasheet.

3. Kích bất kỳ nơi nào bên ngoài các cột đã chọn để không chọn chúng nữa.

4. Kéo thanh cuộn nằm ngang sang phải để thấy rằng EmpDivisionID và các cột bên phải bị cuộn mất. Các cột EmpFName và EmpLName vẫn được hiển thị ở bên trái Datasheet.

Việc khử ẩn và khử đóng băng không khó. Chỉ cần nhớ kích phải đầu đề cột .

BÀI TẬP 3.20: KHỬ ẨN VÀ KHỬ ĐÓNG BĂNG CỘT

1. Kích phải đầu đề cột bất kỳ rồi kích Unhide Fields. Mẹo: Nếu không thấy “Unhide Fields” trong pop-up menu, rất có thể bạn đã kích phải vào trong nội dung cột – một trong những ô thuộc cột đó, chứ không phải đầu đề. Hãy thử lại lần nữa. Access sẽ hiển thị hộp thoại Unhide Columns cho biết những cột hiển (ô được đánh dấu) và những cột ẩn (ô không được đánh dấu). Xem Hình 3.22.

Hình 3.22 Khử ẩn cột ở góc nhìn Datasheet.

2. Kích các ô EmpID EmpPhone để đánh dấu chúng rồi kích Close để đóng hộp thoại.

3. Kích phải đầu đề cột bất kỳ rồi kích Unfreeze All Fields (khử đóng băng tất cả các trường).

Tất cả các cột tblEmployee đều xuất hiện và các cột tên cũng như họ không còn bị đóng băng. Hãy để tblEmployee mở ở góc nhìn Datasheet. Khi bạn đóng góc nhìn Datasheet, Access sẽ hỏi bạn có muốn lưu thay đổi cách bài trí không. Bạn có thể kích Yes để duy trì thay đổi cách bài trí (ẩn, đóng băng, …) hay kích No để bỏ qua. Trong trường hợp này, bạn đã không sửa gì nên kích gì cũng được khi bạn đóng góc nhìn Datasheet.

Thứ Năm, 12 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Sửa cỡ và bố trí lại cột

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Sửa cỡ và bố trí lại cột


Việc sửa cỡ của cột bảng ở góc nhìn Datasheet sẽ cho bạn hiển thị cột khác với chiều rộng mặc định. Chẳng hạn, cột chức danh nhân viên EmpTitleID rất có thể quá hẹp để có thể thấy toàn bộ chức danh liên quan – những chức danh được trích từ bảng tblEmployeeTitle. Tương tự, bạn có thể tiết kiệm không gian màn hình bằng cách thu hẹp những cột quá rộng. Bạn có thể di chuyển cột khỏi vị trí mặc định do góc nhìn Design qui định mà không thực sự tác động đến thiết kế bảng. Chẳng hạn, có thể hiển thị thời điểm tuyển dụng nhân viên ở sát biên trái; hay có thể dời cột khóa chính EmpID về sát biên phải để các cột tên ở sát biên trái trong góc nhìn Datasheet.

BÀI TẬP 3.17: SỬA CỠ VÀ BỐ TRÍ LẠI CÁC CỘT BẢNG Ở GÓC NHÌN DATASHEET

1. Kích phải tblEmployee rồi kích Open trong pop-up menu để mở bảng ở góc nhìn Datasheet.

2. Di chuyển con trỏ chuột đến dòng đầu đề cột ở giữa EmpFName và EmpLName. Khi con trỏ chuột chuyển thành mũi tên trái phải thì kích kép để sửa cỡ cột về dữ liệu rộng nhất hay nhãn rộng nhất. EmpLName sẽ mở rộng để hiển thị toàn bộ tên cột.

3. Tương tự bước 2, kích kép cạnh phải của tên cột EmpLName để mở rộng cột đó một tí.

4. Kích kép cạnh phải của nhãn EmpTitleID để mở rộng nó. Bây giờ có thể thấy toàn bộ chức danh nhân viên dài nhất.

5. Di chuyển chuột đến nhãn cột EmpFName. Khi con trỏ chuột chuyển thành mũi tên trỏ xuống, kích và kéo qua EmpLName để cả hai cột được chọn. Thả chuột. (Bạn có thể thấy chúng được chọn vì cả hai cột chuyển màu xanh nhạt và được bao quanh bởi hình chữ nhật màu hồng.)

6. Kích nhãn cột EmpFName hay nhãn cột EmpLName và kéo hai cột sang trái cho đến khi xuất hiện vạch đứng đen đậm ở bên trái cột EmpID. Thả chuột để hoàn tất quá trình di chuyển cột. Bây giờ tên và họ ở bên trái khóa chính.

7. Kích phải tblEmployee, kích Close, rồi kích Yes khi được hỏi “Do you want to save changes to the layout…?” để lưu thay đổi cách bài trí bảng.

8. Kích kép tblEmployee trong Navigation Pane để kiểm chứng là thay đổi cách bài trí đã được lưu.

Nếu bạn muốn biết bạn có thay đổi thiết kế của tblEmployee hay không, hãy thực hành phần Thử nghiệm để có đáp án.

THỬ NGHIỆM

Kích phải tblEmployee trong Navigation Pane rồi kích Design View. Để ý rằng cột EmpID vẫn ở cột biên trái của thiết kế bảng – khác với góc nhìn Datasheet của tblEmployee. Kích phải tblEmployee rồi kích Close.

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Hiệu chỉnh Datasheet

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Hiệu chỉnh Datasheet


Phần lớn các hiệu chỉnh bạn đã thực hiện với bảng tblMyEmployees trong chương này là với thiết kế bảng. Một số đặc trưng của góc nhìn Datasheet cũng có thể được hiệu chỉnh. Bạn có thể muốn mở rộng hay thu hẹp một hay nhiều cột để xem (và in) dữ liệu cho rõ hơn. Tương tự, bạn có thể muốn sắp bảng theo thứ tự tăng dần hay giảm dần của một hay nhiều cột. Thêm vào đó, bạn có thể che những cột mà bạn không muốn hiển thị trong góc nhìn Datasheet hay hé lộ chúng. Việc định dạng cột kể cả việc đặt kiểu chữ và màu sắc là có thể ở góc nhìn Datasheet – tương tự cách bạn định dạng Excel worksheet. Cuối cùng, bạn có thể muốn hiển thị giá trị gộp ở dòng cuối. Các phần tới sẽ minh họa một số hiệu chỉnh hiển thị ở góc nhìn Datasheet.

Bất kỳ thay đổi bạn thực hiện với góc nhìn Datasheet – che hay đóng băng một cột, sửa kiểu hay màu chữ, … - được gọi là sửa cách bài trí (layout change), không phải sửa thiết kế. Nếu bạn thử đóng bảng mà không lưu, Access sẽ hỏi bạn có muốn lưu thay đổi cách bài trí bảng hay không. Nếu bạn kích Yes, các thay đổi định dạng được duy trì. Tuy nhiên, làm thế sẽ không thay đổi thiết kế bảng. Nói cách khác, việc sửa góc nhìn Datasheet chỉ thay đổi cách hiển thị bảng. Vì vậy, bạn có thể an toàn đáp No với thay đổi cách bài trí bất kỳ mà không lo làm hại đặc trưng thiết kế quan trọng nào đó của bảng. Về cơ bản, thay đổi cách bài trí chỉ tác động đến hình dáng bên ngoài.

Thứ Tư, 11 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Nhập liệu vào bảng

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Nhập liệu vào bảng


Khi nhập liệu, bạn đặt dữ liệu vào bảng đã có cấu trúc. Nhập liệu vào bảng thì dễ. Đầu tiên, đảm bảo cơ sở dữ liệu Chương 3 đang mở. Hãy theo các bước ở Bài tập 3.15 để đặt dữ liệu vào bảng khách hàng của bạn. Bạn sẽ dùng ba phương pháp khác nhau để chuyển từ trường này sang trường kia: nhấn Tab, kích trường kế, và nhấn Enter. Bạn có thể chọn phương pháp bạn ưa thích để nhập liệu vào các bảng khác.

BÀI TẬP 3.15: NHẬP LIỆU VÀO MỘT BẢN GHI

1. Kích kép tên bảng tblMyEmployees trong Navigation Pane để mở ở góc nhìn Datasheet. (Theo mặc định, việc kích kép tên bảng sẽ mở bảng ở góc nhìn Datasheet.)

2. Gõ 1301 vào trường mã nhân viên EmpID.

3. Nhấn Tab để đến ô tên EmpFName rồi gõ Patti.

4. Kích ô trống bên dưới cột tên họ EmpLName rồi gõ Stonesifer.

5. Nhấn Enter để đến cột mã chi nhánh EmpDivisionID.

6. Kích mũi tên sổ xuống rồi kích dòng Indianapolis trong danh-sách-sổ-xuống, nhấn Tab để đến cột mã chức danh EmpTitleID.

7. Kích mũi tên sổ xuống ở cột EmpTitleID, kích Sales Associates, rồi nhấn Tab để đến cột phần trăm hoa hồng Rate.

8. Gõ 5, rồi nhấn Enter để nhập phần trăm hoa hồng của Patti là 5% rồi đến cột thời điểm tuyển dụng EmpHireDate.

9. Kích biểu tượng chọn thời điểm Date Picker, kích nút Today để đặt thời điểm tuyển dụng Patti là hôm nay, rồi nhấn Enter để đến cột giới tính Gender.

10. Gõ W (viết tắt của woman, tức phụ nữ) rồi nhấn Enter. Hộp thoại thông báo xuất hiện “Only F or M allowed in this field” (xem Hình 3.19). Trong Bài tập 3.11 bạn đã đặt  thuộc tính của trường này (ràng buộc) để ngăn việc nhập dữ liệu không được phép vào cột. Hơn nữa, để ý rằng thuộc tính mặt nạ nhập liệu Input Mask bạn đã đặt ở Bài tập 3.11 sẽ tự động chuyển ký tự bạn gõ sang chữ hoa.

Hình 3.19 Biểu hiện của một qui tắc hợp lệ.

11. Kích OK để đóng hộp thoại. Nhấn Backspace để xóa dữ liệu hiện thời rồi gõ F.

12. Nhấn Enter để đến trường chú thích EmpNotes.

13. Gõ như sau: She has worked hard her whole career. She embodies a true type A personality. (Cô ấy luôn làm việc chăm chỉ. Cô ấy thực sự có kiểu cá tính A). Nhớ có dấu chấm thứ hai trong trường. Nhấn Enter để đặt dòng văn bản đó vào cột EmpNotes.

Bạn có để ý biểu tượng bút chì nhỏ ở nút chọn dòng của bảng trước khi bạn nhấn Enter ở bước trước không? Biểu tượng bút chì nhỏ biểu thị rằng nội dung của bản ghi đã thay đổi nhưng chưa được lưu vào bảng. Bạn lưu thay đổi vào bảng bằng cách chuyển đến bản ghi khác. Bạn sẽ làm điều đó ngay đây.

Nếu bạn sơ sót bất kỳ đâu trong dòng, chỉ cần dùng các phím mũi tên sang trái hay phải trong trường, hay dùng các phím Backspace hoặc Delete để xóa thông tin. Việc nhấn phím sẽ chèn ký tự vào trường tại vị trí con trỏ chèn. Để sửa giá trị một trường bên trái trường hiện thời, nhấn Shift+Tab liên tục để đặt con trỏ vào trường cần thay đổi. Để làm vị trí chèn nhấp nháy, chỉ cần nhấn F2. Sau đó bạn có thể dùng các phím mũi tên để di chuyển điểm chèn bên trong trường. Nhấn Tab (đi tới) hay Shift+Tab (đi lui) để đến ô khác và đánh dấu toàn bộ giá trị ô đó.

Đây là mẹo hay cần nhớ khi bạn nhập lượng dữ liệu lớn vào trường văn bản. Bạn có thể nhấn Shift+F2 để hiển thị trường trong ô phóng Zoom. Làm thế sẽ cho bạn thấy nhiều dữ liệu hơn bình thường khi gõ. Phần Thử nghiệm sau sẽ minh họa điều này.

THỬ NGHIỆM

Với tblMyEmployees mở ở góc nhìn Datasheet, kích ô chú thích EmpNotes ứng với dòng của Patti Stonesifer. Nhấn Shift+F2 để mở ô phóng Zoom. Kích chuột vào cuối đoạn văn bản, thêm một khoảng trống, rồi gõ What a great resource. (Một tài nguyên quí.) Xem Hình 3.20. Kích nút OK để đóng ô Zoom. Nhấn Enter để đến dòng dữ liệu thứ hai và lưu thay đổi.

Hình 3.20 Ô phóng Zoom.

Bạn sẽ không cần bảng tblMyEmployees nữa. Cơ sở dữ liệu đã có sẵn bảng tblEmployee với nhiều dữ liệu nhân viên và bạn sẽ dùng bảng này trong phần còn lại của chương. Vì vậy hãy xóa bảng.

BÀI TẬP 3.16: XÓA BẢNG VÀ TỰ ĐỘNG XÓA CÁC QUAN HỆ CỦA NÓ

1. Đóng tblMyEmployees; kích phải tên bảng tblMyEmployees trong Navigation Pane rồi kích Delete trong pop-up menu.

2. Kích Yes khi hộp thoại hiển thị khuyến cáo “Do you want to delete the table ‘tblMyEmployees’? Deleting this object will remove it from all groups.” (Bạn muốn xóa bảng ‘tblMyEmployees’ phải không? Việc xóa đối tượng này sẽ loại bỏ nó khỏi tất cả các nhóm.) Khuyến cáo này cho biết có các quan hệ khóa chính và khóa ngoại với các bảng khác (tblEmployeeTitle tblEmployeeDivision).

3. Kích Yes một lần nữa để bảo Access xóa các quan hệ với các bảng khác rồi xóa tblMyEmployees. Access sẽ xóa bảng và loại bỏ tên bảng ra khỏi danh sách bảng trong Navigation Pane.

Thứ Ba, 10 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - In thông tin cấu trúc bảng

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


In thông tin cấu trúc bảng


Việc in thông tin cấu trúc bảng (tên trường, kiểu dữ liệu, …) là cách làm tốt để làm tư liệu chi tiết về bảng. Một khi in ra giấy, bạn có thể bổ sung vào tài liệu hệ thống. Đây là tài liệu đặc biệt quan trọng nếu người khác chịu trách nhiệm bảo trì cơ sở dữ liệu. Phần Thử nghiệm sau đây minh họa thủ tục đơn giản phát sinh báo cáo thông tin cấu trúc bảng.

THỬ NGHIỆM

Kích DATABASE TOOLS tab, rồi kích lệnh Database Documenter trong nhóm Analyze. Kích Tables tab trong hộp thoại Documenter; kích ô kế tên bảng tblMyEmployees để đánh dấu. Kích OK. Một báo cáo xuất hiện ở góc nhìn Print Preview. Kích lệnh Print trong nhóm Print thuộc tab ngữ cảnh PRINT PREVIEW để mở hộp thoại Print. Điền vào hộp thoại Print (tất cả các trang hay chọn một số trang, …) Kích OK để in báo cáo. Bằng không, kích Cancel để bỏ qua việc xuất báo cáo. Kích nút Close Print Preview trong nhóm Close Preview.

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Lưu thiết kế bảng

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Lưu thiết kế bảng


Xuyên suốt chương này, bạn đã lưu bảng sau khi tạo và sửa chúng. Access luôn nhắc bất kỳ khi nào bạn sửa rồi đóng đối tượng nhưng chưa lưu. Nhớ rằng bạn phải lưu bất kỳ khi nào bạn sửa thiết kế của một đối tượng – tạo bảng mới, sửa bảng, tạo hay sửa câu truy vấn, … Bạn không phải lưu dữ liệu nhập vào bảng – về cơ bản, bất kỳ khi nào bạn rời khỏi dòng dữ liệu bị sửa, Access sẽ lưu dữ liệu bị sửa. Như vậy, ta chỉ cần nhớ sự khác biệt giữa hai kiểu lưu: Access tự động lưu dữ liệu khi bạn nhập vào bảng; bạn chịu trách nhiệm lưu những thay đổi cấu trúc đối tượng, kể cả bảng. Việc lưu cấu trúc bảng rất đơn giản. Chỉ việc kích biểu tượng lưu trong thanh công cụ truy xuất nhanh Quick Access Toolbar.

Thứ Hai, 9 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Khảo sát và đặt thuộc tính bảng

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Khảo sát và đặt thuộc tính bảng


Bảng có tập thuộc tính riêng. Ta sẽ khảo sát một vài thuộc tính, gồm Subdatasheet Expanded, Description, Default View, Filter, Order By, Filter On Load, và Order By On Load. Nói chung, các thuộc tính này tác động lên toàn bộ bảng. Subdatasheet Expanded là thuộc tính yes/no, cho biết bảng ở phía nhiều của quan hệ có thể được hiển thị trên từng dòng hay không. Description là chú thích cho bảng. Default View là góc nhìn mặc định, ban đầu là “Datasheet”. Thuộc tính Filter đặc tả việc tự động áp đặt tiêu chuẩn lọc khi bạn mở bảng ở góc nhìn Datasheet. Thuộc tính Order By cho phép bạn đặc tả một cột qua đó bảng sẽ được sắp bất kỳ khi nào bảng được mở. Giá trị yes/no cho các thuộc tính Filter On Load và Order By On Load xác định xem bảng có được lọc hay sắp xếp khi được mở ở góc nhìn Datasheet không – dựa trên giá trị của các thuộc tính liên quan là Filter và Order By. Hãy trải nghiệm các thuộc tính này bằng cách làm theo các bước trong bài tập kế.

BÀI TẬP 3.14: ĐẶT THUỘC TÍNH BẢNG

1. Đầu tiên, hãy đóng tất cả tabs trong cơ sở dữ liệu Chương 3.

2. Kích phải tblEmployeeDivision rồi kích Design View trong pop-up menu.

3. Kích lệnh Property Sheet trong nhóm Show/Hide thuộc tab ngữ cảnh DESIGN. Khung thuộc tính Property Sheet xuất hiện.

4. Kéo cạnh trái của khung Property Sheet sang trái để thấy đầy đủ nội dung trường Description (Company division’s location, địa điểm chi nhánh công ty).

5. Kích thuộc tính Order By rồi gõ DivisionCity để tự động hiển thị bảng theo thứ tự tên công ty khi mở bảng.

6. Đảm bảo giá trị Order By On Load là Yes (xem Hình 3.17).

Hình 3.17 Đặt thuộc tính bảng.

7. Kích nút Datasheet View trong nhóm Views thuộc tab ngữ cảnh DESIGN. Kích Yes khi được nhắc lưu bảng. Datasheet mở theo thứ tự từ điển của tên thành phố (xem Hình 3.18).

Hình 3.18 Tự động sắp bảng.

8. Hãy trở về trạng thái thuộc tính bảng ban đầu: Kích nút Design View thuộc nhóm Views ở biên trái dải lệnh.

9. Kích kép thuộc tính Order By rồi nhấn Del để xóa giá trị đó. Kích nút Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar để lưu.

10. Kích nút đóng X trên thanh tiêu đề Property Sheet rồi kích nút Datasheet View để hiển thị lại bảng tblEmployeeDivision. Để ý bảng đã trở về thứ tự ban đầu – theo khóa chính.

11. Đóng bảng: Kích phải tblEmployeeDivision tab rồi kích Close All.

Chủ Nhật, 8 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Thiết lập khóa chính

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Thiết lập khóa chính


Khóa chính là một hay nhiều trường bảng nhằm nhận diện duy nhất từng dòng. Bảng phải có khóa chính nếu được tham chiếu bởi bảng khác. Chẳng hạn, mỗi khách hàng phải có cột như mã khách hàng CustomerID nhằm nhận diện duy nhất từng khách hàng. Nếu không, sẽ không có cách hợp lý chẳng hạn để kết hợp các đơn đặt hàng lưu trong bảng của riêng chúng với khách hàng đã đặt mua chúng. Bạn biết rằng thiết kế cơ sở dữ liệu tốt sẽ lưu các sự kiện phân biệt trong các bảng phân biệt. Khả năng kết hợp các bảng lại với nhau nằm ở giá trị khóa ngoại và khóa chính. Chẳng hạn, các dòng đặt hàng trong bảng đơn đặt hàng sẽ kết hợp đúng với khách hàng bằng cách so khớp mã khách hàng trong bảng đơn đặt hàng (khóa ngoại) với mã khách hàng có cùng giá trị trong bảng khách hàng. Bảng không có khóa chính sẽ đứng một mình và không quan hệ với bảng khác – điều này hiếm khi xảy ra. Các bảng đó tạo nên hệ thống file phẳng.

Access là ví dụ của hệ cơ sở dữ liệu không yêu cầu bảng phải có khóa chính. Khi bạn lưu một định nghĩa bảng mà không có khóa chính, Access sẽ hiển thị hộp thoại báo rằng “There is no primary key defined. Although a primary key isn’t required, it’s highly recommended…” (Khóa chính chưa được định nghĩa. Mặc dù khóa chính không bắt buộc, bạn được khuyên nên có…) và đề nghị chèn thêm cột khóa chính có kiểu dữ liệu là AutoNumber.

Đôi khi khóa chính gồm nhiều cột. Khóa chính đó gọi là khóa chính phức hợp (composite-, compound-, hay complex primary key). Cơ sở dữ liệu Chương 3 chưa cần khóa chính phức hợp.

Việc chỉ định một hay nhiều cột làm khóa chính (hay loại bỏ chỉ định khóa chính) thì không khó. Ta hãy thực hành nó.

BÀI TẬP 3.12: LOẠI BỎ CHỈ ĐỊNH KHÓA CHÍNH TỪ MỘT CỘT

1. Mở cơ sở dữ liệu Chương 3, nếu cần, và đóng tất cả các tabs.

2. Kích phải tblMyEmployees rồi kích Design View trong pop-up menu.

3. Kích nơi bất kỳ trong dòng EmpID rồi kích lệnh Primary Key trong nhóm Tools thuộc tab ngữ cảnh DESIGN. Access sẽ loại bỏ biểu tượng khóa chính khỏi nút chọn dòng của EmpID.

BÀI TẬP 3.13: CHỈ ĐỊNH HAI CỘT LÀM KHÓA CHÍNH PHỨC HỢP CỦA BẢNG

1. Với tblMyEmployees vẫn đang mở ở góc nhìn Design, kích nút chọn dòng của EmpFName, nhấn và giữ phím Shift rồi nhấn mũi tên xuống để chọn tiếp EmpLName. Một khung chữ nhật màu hồng sẽ bao hai trường.

2. Kích lệnh Primary Key trong nhóm Tools thuộc tab ngữ cảnh DESIGN. Access sẽ đặt một chìa khóa nhỏ ở cả hai nút chọn dòng (xem Hình 3.16).


Hình 3.16 Chỉ định khóa chính phức hợp.

3. Để tái lập EmpID làm khóa chính đơn cột, kích phải cột bất kỳ trong dòng EmpID (kể cả nút chọn cột). Kích Primary Key trong pop-up menu. (Bạn có thể kích lệnh Primary Key như trước đây, nhưng bạn có thể thích cách kích phải này hơn.) Access sẽ loại bỏ dấu chỉ khóa chính ở hai dòng trước và đặt chỉ dấu đó vào nút chọn dòng của EmpID.

4. Kích phải tblMyEmployees tab, kích Close trong pop-up menu, rồi kích No khi được hỏi “Do you want to save changes …” (bạn có muốn lưu các thay đổi …). Điều này sẽ duy trì khóa ban đầu trước khi bạn mở bảng ở góc nhìn Design.

Thứ Bảy, 7 tháng 5, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Thiết lập việc kiểm tra hợp lệ dữ liệu ở cấp bảng

James Perry, Richard Newmark


Chương 3
Tạo, nhập liệu, và hiển thị bảng


Thiết lập việc kiểm tra hợp lệ dữ liệu ở cấp bảng


Để hiểu cách đặt thuộc tính, bạn sẽ đặt thuộc tính cho EmpCommRate và EmpGender trong bảng tblMyEmployees. Bạn sẽ thay đổi một số thuộc tính của trường phần trăm hoa hồng. Phần trăm hoa hồng là số nhỏ, vì vậy bạn sẽ qui định cỡ trường của nó là Single cho phù hợp với số nhỏ có vài vị trí thập phân. Chẳng hạn, giá trị 0.0895 sẽ hiển thị 8.95% ở góc nhìn Datasheet. Bạn sẽ đổi thuộc tính ghi chú Caption để cột phần trăm hoa hồng hiển thị đầu đề “Rate” thay cho đầu đề mặc định kỳ dị “EmpCommRate,” là tên trường của cột. Nhân viên mới và nhân viên quản lý không nhận tiền hoa hồng, vì vậy bạn muốn đặt giá trị mặc định cho trường hoa hồng là 0. Sau cùng, bạn sẽ đặt miền giá trị hợp lệ cho phần trăm hoa hồng để tránh nhập sai phần trăm hoa hồng bất hợp lý chẳng hạn 45%. Qui tắc hợp lệ Validation Rule sẽ hạn chế dữ liệu phần trăm hoa hồng nhập vào, và thông báo hợp lệ Validation Text sẽ hiển thị khi giá trị phần trăm hoa hồng bất hợp lệ.

Trường giới tính EmpGender cần có qui tắc hợp lệ chỉ cho phép nhập m hay f ở dạng chữ thường hay chữ hoa. Việc thay thuộc tính ghi chú Caption thành “Gender” sẽ làm rõ nghĩa cho cột.

BÀI TẬP 3.10: ĐẶT THUỘC TÍNH CHO TRƯỜNG PHẦN TRĂM HOA HỒNG

1. Hãy đảm bảo cơ sở dữ liệu Chương 3 đang mở và mọi cửa sổ (tabs) đều đóng. Kích phải tblMyEmployees rồi kích Design View trong pop-up menu để mở bảng ở góc nhìn Design.

2. Kích bất kỳ nơi nào trong dòng EmpCommRate rồi nhấn F6 (phím tắt) để đến thuộc tính kích cỡ trường Field Size trong khung Field Properties.

3. Kích mũi tên danh-sách-sổ-xuống của Field Size rồi kích Single.

4. Kích thuộc tính định dạng Format, kích mũi tên danh-sách-sổ-xuống, rồi kích Percent (phần trăm).

5. Kích thuộc tính Decimal Places, kéo chuột để đánh dấu giá trị hiện thời, rồi gõ 2 để chỉ định hai vị trí thập phân.

6. Kích thuộc tính chú thích Caption rồi gõ Rate. Để ý chú thích (bằng tiếng Anh) ở bên phải khung Field Properties. Đó là thông tin hữu ích về thuộc tính đang chọn.

7. Kích thuộc tính giá trị mặc định Default Value rồi gõ 0.

8. Kích thuộc tính qui tắc hợp lệ Validation Rule rồi gõ between 0 and 0.15 (giữa 0 và 0,15) để đặc tả miền giá trị hợp lệ (kể cả giá trị biên) cho phần trăm hoa hồng. Hãy chắc giá trị thứ hai là 0.15, không phải 15. Giá trị 15 nghĩa là 1500%! (Để ý là biểu thức >=0 and <=0.15 tương đương với biểu thức trên.)

9. Nhấn Tab để đến thuộc tính Validation Text. Để ý rằng từ “between” trong thuộc tính Validation Rule đã đổi thành “Between” thể hiện rằng Access đã nhận ra đây là từ khóa.

10. Trong ô thuộc tính Validation Text, gõ Commission rates range from 0% to 15% (phần trăm hoa hồng có giá trị từ 0% đến 15%). Hình 3.14 trình bày tblMyEmployees ở góc nhìn Design và các thuộc tính mới bạn đã đặt cho đến nay.

Hình 3.14 Các thuộc tính EmpCommRate đã thay đổi.

11. Kích Save trên thanh công cụ truy xuất nhanh Quick Access Toolbar để bảo toàn các thay đổi vừa thực hiện.

Nếu bạn kích Save để bảo toàn các thay đổi vừa thực hiện trên một bảng đã có dữ liệu, một hộp thoại sẽ hiện lên khuyến cáo là các qui tắc toàn vẹn dữ liệu đã thay đổi và dữ liệu hiện thời có thể bất hợp lệ. Khuyến cáo này phát sinh vì bạn vừa thiết lập tiêu chuẩn cho trường phần trăm hoa hồng – tiêu chuẩn này chưa tồn tại trong quá trình nhập liệu trước đây.

BÀI TẬP 3.11 ĐẶT THUỘC TÍNH CHO TRƯỜNG EMPGENDER

1. Với tblMyEmployees vẫn hiển thị ở góc nhìn Design, kích nơi bất kỳ trong dòng EmpGender rồi nhấn F6 để chuyển đến thuộc tính Field Size trong khung Field Properties.

2. Gõ số 1 để giới hạn chiều dài dữ liệu cho giới tính là một ký tự.

3. Nhấn Tab hai lần để chuyển đến thuộc tính mặt nạ nhập liệu Input Mask rồi gõ >L, tức chuyển bất kỳ dữ liệu nhập ở góc nhìn Datasheet thành chữ hoa. Hãy chức là bạn đã gõ chữ L hoa. Bằng không bạn sẽ không được kết quả mong muốn.

4. Kích thuộc tính Caption rồi gõ Gender.

5. Kích Validation Rule rồi gõ “F” or “M” để qui định các giá trị được phép. Để ý là ta không phải lo trường hợp chữ thường (“f” hay “m”) vì thuộc tính mặt nạ nhập liệu Input Mask đã buộc dữ liệu nhập phải là chữ hoa. Qui tắc này hạn chế các chữ hoa phải là một trong hai giá trị qui định.

6. Kích Validation Text rồi gõ Only F or M allowed in this field (chỉ được phép là F hay M trong trường này).

7. Kích Save trên thanh công cụ truy xuất nhanh Quick Access Toolbar để lưu các thay đổi. Như đã đề cập trước đây, nếu bảng của bạn đã có dữ liệu, một khuyến cáo sẽ xuất hiện cho biết dữ liệu hiện thời có thể bất hợp lệ. Trong trường hợp đó, bạn kích Yes để áp đặt sự thay đổi.

Bạn có thể đặc tả các giá trị mặt nạ nhập liệu Input Mask lý thú hơn cho các trường số và trường thời điểm. Một số ký hiệu thuộc tính Input Mask cần được diễn giải. Chẳng hạn, bạn có thể đặc tả Input Mask cho trường số điện thoại như sau

000\-0000;1;_

Để buộc bất kỳ số điện thoại phải tuân theo qui ước “555-1212” – tức ba chữ số sau đó là dấu gạch ngang sau đó là bốn chữ số. Các số 0 trong Input Mask nghĩa là cần một chữ số ở vị trí đó. Dấu chéo ngược \ ký hiệu rằng ký tự sau đó, trong trường hợp này là dấu gạch ngang, là ký tự cụ thể chứ không phải là toán tử chẳng hạn dấu trừ. Dấu chấm phẩy đầu tiên kết thúc phần đầu của Input Mask. Số 1 giữa hai dấu chấm phẩy ký hiệu rằng dấu gạch ngang trong số điện thoại bất kỳ mà người dùng có thể nhập vào sẽ không được lưu vào trường – chỉ lưu 7 chữ số điện thoại. Dấu chấm phẩy thứ hai kết thúc phần thứ hai của Input Mask. Cuối cùng, phần thứ ba của Input Mask, ký tự gạch dưới ký hiệu đó là ký tự Access sẽ hiển thị tại vị trí người dùng cần nhập một ký tự. Nói cách khác, dấu gạch dưới sẽ xuất hiện trong trường điện thoại Phone ở nơi người dùng chưa nhập chữ số. Phần Thử nghiệm sau sẽ trình bày hoạt động của các thuộc tính đã chọn và trường mặt nạ.

THỬ NGHIỆM

Hãy mở tblMyEmployees ở góc nhìn Datasheet. Gõ 4567 vào cột EmpID rồi nhấn Tab để sang cột kế. Gõ tên của bạn vào EmpFName, nhấn Tab, gõ họ của bạn vào EmpLName. Nhấn Tab rồi chọn Milford từ danh-sách-sổ-xuống. Nhấn Tab rồi chọn Sales Manager (quản lý viên bán hàng) từ danh-sách-sổ-xuống. Nhấn Tab để đến cột phần trăm giảm giá Rate, gõ 55 rồi nhấn Tab. Điều gì xảy ra? Nhấn OK để chấp nhận thông báo rồi gõ phần trăm giảm giá hợp lệ là 12. Nhấn Tab hai lần để đến trường giới tính Gender rồi gõ A. Nhấn Tab. Điều gì xảy ra? Một lần nữa, qui tắc kiểm tra hợp lệ dữ liệu của bạn đã bắt được lỗi nhập liệu này. Kích OK để thừa nhận lỗi rồi gõ giới tính của bạn bằng chữ thường. Nhấn Tab. Để ý rằng Access tự động chuyển chữ thường sang chữ hoa. Hãy chuyển sang dòng mới để ghi dòng nhân viên mới vào bảng bằng cách kích cột EmpID ở dòng mới. Bạn có thể đã để ý rằng biểu tượng bút chì ở nút chọn bản ghi ở dòng đầu tiên đã biến mất. Điều này cho biết dữ liệu vừa nhập đã được lưu vào cơ sở dữ liệu.

Xóa bản ghi mới: Kích trường bất kỳ bạn vừa thêm, kích mũi tên sổ xuống của lệnh Delete (Delete ở trong nhóm Records thuộc HOME tab), rồi kích Delete Records. Kích Yes khi hộp thoại xuất hiện để xác nhận thao tác xóa bản ghi. Kích phải tblMyEmployees tab rồi kích Close trong pop-up menu để đóng cửa sổ góc nhìn Datasheet.

Hãy cẩn thận khi bạn đặt cả hai thuộc tính Default và Validation Rule cho trường. Chúng có thể xung đột với nhau nếu bạn không cẩn thận. Chẳng hạn, bạn đặt giá trị mặc định cho trường là 2 và sau đó gõ qui tắc hợp lệ là Between 3 And 25 (giữa 3 và 25). Rõ ràng giá trị mặc định không thuộc miền giá trị cho phép, được qui định bởi thuộc tính Validation Rule. Xung đột vô tình phát sinh khi bạn bỏ qua trường đó, khiến Access phải chèn giá trị mặc định 2 vào trường, làm vi phạm qui tắc hợp lệ.