Thứ Bảy, 30 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Xóa, sao chép, đổi tên, che dấu, và hiển thị bảng

James Perry, Richard Newmark


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


Xóa, sao chép, đổi tên, che dấu, và hiển thị bảng


Rất dễ xóa bảng, sao chép chúng, đổi tên chúng, che dấu chúng, hay hiển thị chúng. Tất cả các hành động này đều diễn ra ở Navigation Pane, và cách dễ nhất để triệu gọi một trong những hành động đổi đối tượng bảng là kích nút chuột phải.

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Sửa và xóa quan hệ liên bảng

James Perry, Richard Newmark


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


Sửa và xóa quan hệ liên bảng


Bạn có thể xóa hay sửa quan hệ hiện có giữa hai bảng bằng cách mở Relationships tab (chọn Relationships từ DATABASE TOOLS tab) rồi sửa các quan hệ giữa chúng với nhau. Chẳng hạn, bạn có thể xóa toàn vẹn tham chiếu giữa tblEmployee tblEmployeeDivision bằng cách mở cửa sổ quan hệ Relationships, kích phải đường nối hai bảng, chọn Edit Relationship, rồi xóa ô Enforce Referential Integrity. Điều này sẽ sửa quan hệ giữa hai bảng, nhưng không xóa nó. Để xóa quan hệ liên bảng, mở cửa sổ Relationships, kích đường nối hai bảng, rồi nhấn phím Delete. Cách khác, bạn có thể kích phải đường nối hai bảng rồi chọn Delete từ pop-up menu. Trong cả hai cách, đường liên kết sẽ biến mất.

Thứ Sáu, 29 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Thiết lập tính toàn vẹn tham chiếu liên 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 tính toàn vẹn tham chiếu liên bảng


Access cung cấp một cách áp đặt tính toàn vẹn tham chiếu (referential integrity) nhờ đó các quan hệ định nghĩa giữa các bảng được duy trì thường trực và tự động. Chẳng hạn, các qui tắc toàn vẹn tham chiếu sẽ ngăn bạn thêm một bản ghi vào bảng quan hệ nếu chưa có bản ghi kết hợp trong bảng chính. Hơn nữa, các qui tắc này sẽ ngăn việc xóa hay sửa bản ghi trong bảng chính nếu xảy ra tình trạng bản ghi mồ côi trong bảng quan hệ. Giả sử bạn muốn áp đặt toàn vẹn tham chiếu giữa bảng nhân viên (tblMyEmployees) và bảng chức danh nhân viên (tblEmployeeTitle). Một khi bạn bảo Access áp đặt các qui tắc toàn vẹn tham chiếu giữa hai bảng, bạn không thể xóa một chức danh khỏi bảng chức danh nhân viên trừ phi không có nhân viên nào có chức danh đó trong bảng nhân viên. Nếu bạn xem bảng chức danh nhân viên là cha và bảng nhân viên là con, thì bạn không thể xóa chức danh nào khiến con bị mồ côi (nhân viên với chức danh trỏ đến một dòng hiện thời đã bị xóa). Khi làm việc nhiều với Access, bạn sẽ hiểu rõ hơn cách hoạt động của tính toàn vẹn tham chiếu nhằm duy trì quan hệ “cha/con” giữa các bảng.

Trong bài tập kế, bạn sẽ làm việc với cửa sổ quan hệ Relationships, là cửa sổ hiển thị liên kết giữa các bảng trong cơ sở dữ liệu đã cho. Bạn sẽ định nghĩa liên kết thường trực – quan hệ khóa chính khóa ngoại – để việc tạo truy vấn đa bảng dễ hơn. Bạn cũng có thể quyết định cửa sổ quan hệ Relationships không hiển thị, hiển thị một vài, hay hiển thị mọi quan hệ liên bảng. Để minh họa, bạn sẽ thiết lập tính toàn vẹn tham chiếu giữa bảng nhân viên mà cơ sở dữ liệu có sẵn (tblEmployee) và bảng chi nhánh cùng địa điểm (tblEmployeeDivision). Điều này sẽ đảm bảo là một chi nhánh trong bảng tblEmployeeDivision không thể bị xóa nếu mọi nhân viên (tblEmployee) chưa được gán một chi nhánh mới hay hay chưa được xóa.

BÀI TẬP 3.6: THIẾT LẬP TÍNH TOÀN VẸN THAM CHIẾU

1. Kích DATABASE TOOLS tab trên dải lệnh rồi kích lệnh Relationships trong nhóm Relationships. Relationships tab hiện lên.

2. Kích Show Table trong nhóm Relationships thuộc tab ngữ cảnh DESIGN để hiển thị tên bảng. Hộp thoại Show Table hiện lên.

3. Kích Tables tab trong hộp thoại Show Table, nếu cần, để chỉ hiển thị tên bảng.

4. Kích kép bảng tblMyEmployees trong danh sách để thêm nó vào cửa sổ Relationships. Sau này, bạn có thể muốn kéo biên dưới của tblMyEmployees để hiển thị tất cả tên trường của nó. Và kéo biên phải, nếu cần, để hiển thị các tên trường dài.

5. Lặp lại bước 4, nếu cần, để hiển thị các bảng tblEmployeeDivision, tblEmployeeTitle, và tblEmployee. (Xem Hình 3.8.)

Hình 3.8 Hộp thoại Show Table.

6. Kích nút Close để đóng hộp thoại. Bạn có thể sắp lại các bảng trong cửa sổ Relationships bằng cách kéo thanh tiêu đề của chúng đến vì thế bạn muốn.

7. Che tblMyEmployees trong cửa sổ Relationships bằng cách kích phải bất kỳ nơi nào trong tblMyEmployees rồi kích Hide Table trong pop-up menu. Kích và kéo thanh tiêu đề tblEmployee để đặt nó vào giữa hai bảng còn lại.

8. Kích trường DivisionID trong tblEmployeeDivision rồi kích và kéo nó đến trường EmpDivisionID trong tblEmployee.

9. Đánh dấu ô áp đặt tính toàn vẹn tham chiếu Enforce Referential Integrity (xem Hình 3.9).

Hình 3.9 Liên kết hai bảng và áp đặt tính toàn vẹn tham chiếu.

10. Kích nút Create để thiết lập tính toàn vẹn tham chiếu giữa hai bảng (xem Hình 3.10).

Hình 3.10 Đường liên kết hai bảng.

11. Kích Close trong nhóm Relationships rồi kích Yes khi bạn được hỏi “Do you want to save changes to the layout of Relationships?” (Bạn có muốn lưu các thay đổi về cách bố trí các quan hệ không?) Điều này sẽ duy trì quan hệ mới được thiết lập và ràng buộc toàn vẹn tham chiếu.

Hình 3.10 trình bày cửa sổ quan hệ trước khi bạn đóng nó. Một phía của đường liên kết hai bảng có số 1, cho biết đó là phía khóa chính của quan hệ. Phía kia của đường liên kết có ký hiệu vô cực (∞), cho biết đó là phía khóa ngoại của quan hệ. Ký hiệu vô cực nghĩa là nhiều bản ghi có thể quan hệ với một bản ghi trong bảng “cha”.

Khi bạn nối hai bảng trong cửa sổ quan hệ Relationships như được minh họa ở đây, góc nhìn Datasheet của chúng hơi khác với tình trạng trước khi nối. Một cột mới gọi là chỉ dấu mở rộng (expand indicator) xuất hiện ở cột đầu tiên trong bảng cha nhằm ký hiệu mối quan hệ với bảng con. Chỉ dấu hiển thị dấu cộng (+) hay dấu trừ (-). Điều này cho biết có một datasheet con gắn với bảng và các bản ghi trong bảng. Một datasheet lồng trong một datasheet khác thì được gọi là datasheet con (subdatasheet). Nó xuất hiện bất kỳ khi nào hai bảng quan hệ với nhau trong mối quan hệ một-nhiều, chẳng hạn quan hệ giữa bảng chi nhánh tblEmployeeDivision (phía một của quan hệ) và bảng nhân viên tblEmployee. Khi xem bảng liên kết ở góc nhìn Datasheet, bạn có thể kích chỉ dấu mở rộng gắn với dòng bất kỳ để xem các bản ghi liên quan. Bài tập kế minh họa cách xem bản ghi liên quan trong các bảng tblEmployee tblEmployeeDivision.

BÀI TẬP 3.7: HIỂN THỊ CÁC BẢNG QUAN HỆ BẰNG CHỈ DẤU MỞ RỘNG

1. Với cơ sở dữ liệu Chương 3 đang mở, kích kép tblEmployeeDivision trong Navigation Pane. Theo mặc định bảng sẽ mở ở góc nhìn Datasheet.

2. Kích chỉ dấu mở rộng (+) của dòng tblEmployeeDivision đầu tiên, ứng với DivisionID 101.

3. Nếu hộp thoại Insert Subdatasheet mở lên thì kích tblEmployee từ danh sách bảng. Access sẽ điền các trường cha và con từ quan hệ đã được thiết lập trước đây. Kích OK.

Một phần của bảng nhân viên Employee sẽ mở lên, cho biết những nhân viên nào đang làm việc ở chi nhánh đó (xem Hình 3.11). Để ý rằng chỉ dấu mở rộng, thường là dấu cộng, chuyển thành dấu trừ. Dấu trừ cho biết các dòng của bảng quan hệ đang mở. Dĩ nhiên, nếu không có dòng nào quan hệ với dòng đang mở thì dòng trống sẽ xuất hiện.

Hình 3.11 Mở datasheet con của một dòng cha.

4. Kích phải tblEmployeeDivision tab rồi kích Close All để đóng mọi tabs đang mở.

5. Kích Yes nếu được hỏi bạn muốn lưu cách bài trí bảng như thế không.

Không phải mọi dòng trong tblEmployeeDivision đều có datasheet con. Chẳng hạn, hiện thời không có nhân viên nào làm việc tại chi nhánh Milford, Connecticut. Bạn có thể thêm dòng vào datasheet con đang mở bằng cách nhập dữ liệu vào dòng trống ở cuối bảng. Nếu bạn thêm một dòng vào datasheet con tức vào bảng tblEmployee, Access sẽ tự động điền giá trị trường khóa ngoại EmployeeDivisionID – tức giá trị ứng với nhóm dòng liên quan với nhau đó.

THỬ NGHIỆM

Hãy kích chỉ dấu mở rộng ứng với Lincoln trong tblEmployeeDivision. Một dòng trống sẽ xuất hiện. Điều này cho biết không có nhân viên nào đang làm việc tại đó. Kích phải tblEmployeeDivision tab rồi kích Close All để đóng tất cả các tabs.

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Di chuyển cột

James Perry, Richard Newmark


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


Di chuyển cột


Mặc dù thứ tự cột trong bảng không quan trọng, bạn có thể bố trí lại các cột bảng để chúng xuất hiện theo một trật tự khác ở góc nhìn Datasheet phù hợp với bạn. Giống như các thao tác đổi cấu trúc bảng được đề cập ở đây, bạn có thể bố trí lại các cột bảng ở góc nhìn Datasheet hay Design. Để chuyển một cột hay một nhóm cột liên tục ở góc nhìn Datasheet, bạn bắt đầu bằng việc chọn cột. Kích nút chọn trường của cột bạn muốn chuyển. Để chọn các cột kề nhau, kích nút chọn trường của một cột rồi di chuột đến các cột kề mà không thả nút chuột.

Sau khi chọn xong (thể hiện bằng các tên cột được làm tối), hãy giải phóng chuột. Sau đó kích và giữ nút chuột ở nút chọn trường một lần nữa rồi kéo (các) cột đến vị trí mới. Như thường lệ, hãy lưu cấu trúc đã đổi bằng cách nhấn Ctrl+S hay kích Save ở thanh công cụ truy xuất nhanh Quick Access Toolbar. Việc di chuyển cột sẽ không ảnh hưởng bất kỳ đối tượng nào phụ thuộc bảng đó.

Thứ Năm, 28 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Đổi tên cột

James Perry, Richard Newmark


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


Đổi tên cột


Bạn có thể thấy rằng một tên cột không còn ý nghĩa hay không phù hợp. Đặt lại tên cột không khó. Bạn có thể đổi tên cột ở góc nhìn Datasheet hay Design. Ở góc nhìn Datasheet, chỉ cần kích kép nút chọn cột, gõ tên mới, rồi nhấn Enter. Tên mới sẽ thay thế tên trước đây. Thêm vào đó, thuộc tính phụ chú Caption của trường vừa được đổi tên sẽ bị xóa. (Bạn sẽ học các thuộc tính trường sau này trong chương.) Để đổi tên cột ở góc nhìn Design, trước tiên hiển thị bảng ở góc nhìn Design. Sau đó kích ô Field Name (để dễ dàng chọn toàn bộ tên) mà bạn muốn đổi rồi gõ đè lên tên cũ. Cuối cùng, kích Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar để lưu thiết kế bảng đã đổi.

Access sẽ tự động đổi tên trường bất kỳ khi nào bạn mở một đối tượng tham chiếu tên cũ. Thật ra, Access sẽ đi khắp nơi để đổi tên ở các đối tượng cho khớp với tên cột mới. Đặc trưng này của Access gọi là tự điều chỉnh (AutoCorrect). Tuy nhiên, coi chừng bị bẫy. Bạn phải chắc chắn là đặc trưng này được bật. Thử nghiệm kế sẽ chỉ cách kiểm tra xem đặc trưng này đã được kích hoạt chưa.

THỬ NGHIỆM

Kích FILE tab, kích Options, rồi kích Current Database từ danh sách bên trái. Hãy chắc rằng các ô Track name AutoCorrect info (theo dõi thông tin tự điều chỉnh tên) và Perform name AutoCorrect (thực hành việc twh điều chỉnh tên) đã được đánh dấu (xem Hình 3.7). Kích OK để lưu thay đổi.

Hình 3.7 Thiết đặt các tùy chọn tự điều chỉnh.

Thứ Tư, 27 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Xóa cột

James Perry, Richard Newmark


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


Xóa cột


Ta dễ dàng loại những cột không cần khỏi bảng bất kỳ hay đổi tên cột. Mặc dù hiện giờ không cần xóa cột, bạn nên học cách xóa. Bạn có thể xóa cột khi xem bảng ở góc nhìn Datasheet hay Design đều dễ như nhau. Để xóa cột bảng ở góc nhìn Design, kích phải vào nơi bất kỳ trong cột rồi kích Delete Rows trong pop-up menu. Các dòng bên dưới trường bị xóa sẽ di chuyển lên để lấp khoảng trống. Nhớ kích nút Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar để lưu các thay đổi trong cấu trúc bảng. (Bạn sẽ được nhắc lưu nếu bạn đóng bảng đã bị đổi nhưng chưa lưu.) Để xóa cột bảng ở góc nhìn Datasheet, kích phải nút chọn trường của cột rồi kích Delete Field từ pop-up menu. Ở góc nhìn Datasheet, các cột bên phải cột bị xóa sẽ di chuyển sang trái để lấp chỗ trống.

Khuyến cáo: Nếu bạn xóa một cột bảng, thì các đối tượng phụ thuộc cột bảng đó sẽ không hoạt động đúng. Chẳng hạn, nếu bạn xóa EmpLName khỏi bảng tblMyEmployees và đã tạo một truy vấn tham chiếu đến EmpLName, thì truy vấn đó sẽ nhắc bạn điền giá trị vào trường bị thiếu. Thật ra, truy vấn đó đã “hỏng” và phải được sửa chữa.

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Xóa, đổi tên, hay di chuyển cột bảng

James Perry, Richard Newmark


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


Xóa, đổi tên, hay di chuyển cột bảng


Nếu cần, bạn có thể dễ dàng xóa, đổi tên, hay di chuyển bất kỳ cột bảng. Các hệ cơ sở dữ liệu quan hệ cho phép đổi thiết kế bảng thậm chí sau khi đã nhập liệu vào đó. Thật là tiện lợi!

Thứ Ba, 26 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Thêm trường tra cứu vào bảng

James Perry, Richard Newmark


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


Thêm trường tra cứu vào bảng


Bảng chi nhánh tblEmployeeDivision trong cơ sở dữ liệu The Coffee Merchant chứa thành phố city và bang state của các chi nhánh. Sẽ hữu ích nếu đặt các chuỗi ký tự xuất hiện nhiều lần chẳng hạn thành phố và tên cơ quan vào bảng riêng cùng mã số định danh duy nhất. Sau đó, bạn có thể tham chiếu đến thành phố bằng mã số thay cho chuỗi ký tự dài nguyên bản. Một ưu điểm khác là cách này ngăn bạn gõ sai tên thành phố khi chúng thường xuyên xuất hiện trong các cột bảng. Đây là mục đích của bảng tblEmployeeDivision. Một cột liên kết, nhưng chưa đặt vào bảng tblMyEmployees, sẽ chứa một số liên kết (“trỏ đến”) mã số chi nhánh công ty trong bảng tblEmployeeDivision. Nhiệm vụ kế của bạn là thêm cột mới vào tblMyEmployees – mã số chi nhánh – đó là trường khóa ngoại liên kết khóa chính trong bảng tblEmployeeDivision. Khóa ngoại (foreign key) là cột giá trị khớp với cột giá trị khóa chính trong bảng khác. Cột khóa ngoại luôn tương ứng với cột khóa chính trong bảng khác.

Access hỗ trợ việc thiết lập liên kết giữa hai bảng liên quan bằng kiểu dữ liệu Lookup Wizard ở góc nhìn Design. Mặc dù không thật sự là một kiểu dữ liệu, Lookup Wizard sẽ thiết lập liên kết khóa chính – khóa ngoại giữa hai bảng. Quan trọng hơn, việc nhập liệu vào trường như thế sẽ đơn giản vì Access hiển thị danh sách chuỗi ký tự để chọn thay cho mã số khó nhớ khi bạn nhập liệu vào cột bảng được tạo bằng Lookup Wizard.

Một khi hai bảng tblMyEmployees tblEmployeeDivision được liên kết nhờ Lookup Wizard ở góc nhìn Design qua cặp khóa chính / khóa ngoại của chúng, bạn có thể chọn tên thành phố từ danh sách đã được kiểm soát khi bạn nhập liệu vào bảng tblMyEmployees. Điều này ngăn chặn việc gõ sai tên thành phố hay chọn một tên thành phố không nằm trong danh sách cho phép.

Mỗi dòng nhân viên cũng cần có một mục cho biết chức danh của người đó trong công ty. Để tránh trùng lặp, gõ sai, hay nhập chức danh không hợp lệ khi nhập liệu vào cột chức danh nhân viên, ta sẽ dùng Lookup Wizard để liên kết tblMyEmployees với bảng chứa danh sách các chức danh hợp lệ. Qui trình thêm hay xóa cột trong bảng được gọi là thay đổi cấu trúc bảng. Đừng nhầm hoạt động này với việc thêm hay xóa dữ liệu trong các cột bảng.

Bài tập kế sẽ chỉ cách thêm hai cột tra cứu vào bảng. Cụ thể, bạn sẽ thêm hai cột EmpDivisionID và EmpTitleID vào bảng tblMyEmployees. Cả hai cột này đều là khóa ngoại vì chúng tham chiếu đến khóa chính ở các bảng khác.

BÀI TẬP 3.4: THÊM CỘT VÀO BẢNG

1. Với tblMyEmployees đang mở ở góc nhìn Design, kích nút chọn dòng EmpCommRate (nút màu xanh da trời ở bên trái cột Field Name). Nhấn và giữ phím Shift rồi kích nút chọn dòng EmpHireDate. Nếu làm đúng, cả hai dòng EmpCommRate và EmpHireDate được bao quanh bởi một hình chữ nhật màu hồng.

2. Kích Insert Rows trong nhóm Tools thuộc tab ngữ cảnh DESIGN. Access sẽ mở ra hai dòng bên trên EmpCommRate. (Ghi chú: Nếu bạn lưu rồi mở lại bảng mà không hoàn tất các bước còn lại, Access sẽ loại bỏ các dòng trống vừa chèn ở góc nhìn Design.)

3. Kích ô trống trong cột Field Name ngay bên dưới tên trường EmpLName. Gõ EmpDivisionID, nhấn Tab, kích mũi tên sổ xuống Data Type rồi kích Lookup Wizard. Access sẽ mở hộp thoại đầu tiên, định nghĩa nguồn dữ liệu cho cột từ một bảng khác.

4. Trong hộp thoại Lookup Wizard, kích Next vì bạn muốn Access tra cứu giá trị ở một bảng khác.

5. Hãy đảm bảo nút radio Tables được chọn (trong khung View). Kích Table: tblEmployeeDivision từ danh sách chọn. Điều này bảo Access biết bảng nào chứa chuỗi ký tự ứng với tên chi nhánh của từng nhân viên. Kích Next để tiếp tục.

6. Kích nút >> (chọn tất cả các trường) để dời tất cả các trường sang khung Selected Fields (xem Hình 3.5). Điều này cho phép tất cả các trường đều xuất hiện, mặc dù khóa chính DivisionID thường được che khi bạn nhập liệu vào trường.

Hình 3.5 Chọn tất cả các trường trong Lookup Wizard.

7. Kích Next.

8. Hãy sắp các chọn lựa theo bang state rồi theo thành phố city trong bang (trong trường hợp có cùng bang): Kích mũi tên sổ xuống trong ô đầu tiên rồi kích DivisionState.

9. Kích mũi tên sổ xuống trong ô thứ hai rồi kích DivisionCity. Kích Next.

Để ý rằng các giá trị từ bảng tblEmployeeDivision được sắp theo thứ tự bản ghi rồi đến thành phố (xem Hình 3.6). Cũng để ý rằng ô Hide key column (che cột khóa) được đánh dấu. Điều này sẽ che trường khóa chính DivisionID khi cột EmpDivisionID được nhập. Tuy nhiên, khóa chính sẽ được lưu trong cột EmpDivisionID, chứ không phải các giá trị thành phố và bang mà ta thấy.

Hình 3.6 Các cột tra cứu sẽ hiển thị khi trường EmpDivisionID được kích.

10. Kích Next để sang bước Lookup Wizard cuối cùng. Kích ô Enable Data Integrity (kích hoạt tính toàn vẹn dữ liệu) để đảm bảo duy trì mối liên kết giữa các bảng. Kích Finish để hoàn tất qui trình.

11. Hộp thoại khuyến cáo xuất hiện đề nghị bạn lưu thiết kế. Kích Yes để lưu thiết kế bảng và tạo liên kết giữa hai bảng.

12. Gõ Employee’s division (chi nhánh của nhân viên) vào cột Description trên dòng EmpDivisionID.

Điều này hoàn tất qui trình dùng Lookup Wizard để định nghĩa cột tra cứu EmpDivisionID. Bạn sẽ lặp lại qui trình này để thêm cột EmpTitleID ở bài tập kế. Lần này, bạn sẽ làm nhanh hơn nhiều vì đã làm một lần rồi.

BÀI TẬP 3.5: THÊM CỘT TRA CỨU VÀO BẢNG

1. Kích ô trống ở cột Field Name ngay bên dưới tên trường EmpDivisionID. Gõ EmpTitleID, nhấn Tab, gõ Loo (viết tắt của Lookup Wizard), rồi nhấn Enter. Access sẽ mở Lookup Wizard.

2. Kích Next vì bạn muốn Access tra cứu giá trị ở một bảng khác.

3. Hãy đảm bảo nút radio Tables được chọn (trong khung View). Kích Table: tblEmployeeTitle từ danh sách chọn rồi kích Next để tiếp tục.

4. Kích nút >> (chọn tất cả các trường) để dời tất cả các trường sang khung Selected Fields rồi kích Next.

5. Sắp các chọn lựa theo chức danh, kích mũi tên sổ xuống trong ô đầu tiên, kích Title, rồi kích Next.

6. Di chuột đến cạnh phải của đầu đề cột Title. Khi chuột trở thành mũi tên hai đầu, kích kép nhằm mở rộng cột hiển thị về độ rộng tối ưu để hiển thị giá trị dài nhất.

7. Kích Next để sang bước Lookup Wizard cuối cùng. Kích ô Enable Data Integrity để đảm bảo duy trì mối liên kết giữa các bảng. Kích Finish để hoàn tất qui trình.

8. Hộp thoại khuyến cáo xuất hiện đề nghị bạn lưu thiết kế. Kích Yes để lưu thiết kế bảng và tạo liên kết giữa hai bảng. Tiếp tục kích Yes nếu cần.

9. Gõ Employee’s title (chi nhánh của nhân viên) vào cột Description.

10. Nhấn Ctrl+S để lưu thiết kế. Kích Yes nếu cần. Kích phải tab bảng tblMyEmployees, rồi kích Close trong pop-up menu để đóng bảng.

Thứ Hai, 25 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Thêm cột

James Perry, Richard Newmark


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


Thêm cột


Nếu bạn tạo rồi dùng bảng và sau này – có lẽ rất lâu về sau – phát hiện rằng bạn đã để sót một hay hai cột quan trọng, đừng lo lắng. Bạn có thể thêm cột mới vào bảng bất cứ lúc nào. Hệ cơ sở dữ liệu quan hệ cho phép bạn thêm và xóa cột thậm chí khi bảng cần sửa đã chứa dữ liệu!

Bạn có thể thêm cột vào bảng được hiển thị ở góc nhìn Datasheet hay Design. Thêm cột ở góc nhìn Design là cách tốt nhất, vì bạn có thể thêm cột và định nghĩa mọi đặc trưng của nó trong một cửa sổ. Mặt khác, bạn có thể thêm nhanh một cột ở góc nhìn Datasheet.

Rất có thể bạn để ý rằng ta đã sót trường tên nhân viên. Ta sẽ thêm cột đó vào bài tập kế.

BÀI TẬP 3.3: CHÈN CỘT VÀO BẢNG CÓ SẴN

1. Kích phải tblMyEmployees trong danh sách đối tượng Navigation Pane rồi kích Design View.

2. Kích phải ô bất kỳ ở dòng thứ hai, tức dòng EmpLName, rồi kích Insert Rows từ pop-up menu. Access sẽ mở thêm một dòng ở trên dòng EmpLName đã chọn.

3. Gõ EmpFName vào cột Field Name, nhấn Tab hai lần để chấp nhận Short Text là kiểu dữ liệu mặc định và đến cột Description, rồi gõ First name để nhập chú thích.

4. Hạn chế số ký tự tối đa cho tên nhân viên: Nhấn F6 để đến thuộc tính Field Size trong khung Field Properties rồi gõ 25 vào ô Field Size.

5. Kích biểu tượng Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar để lưu các thay đổi về thiết kế.

Hãy để tblMyEmployees mở ở góc nhìn Design để tiếp tục làm các bài tập kế. Bạn sẽ thêm hai cột nữa vào bảng.

Chủ Nhật, 24 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Tạo bảng từ đầu

James Perry, Richard Newmark


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


Tạo bảng từ đầu


Bạn sẽ làm việc nhiều với cơ sở dữ liệu Ch03 trong phần còn lại của chương này. Mọi thay đổi bạn thực hiện trên cơ sở dữ liệu sẽ diễn ra trên bản sao cơ sở dữ liệu bạn lưu trên đĩa.

Hãy chuẩn bị bài tập đầu tiên bằng việc khởi động Microsoft Access. Hãy theo các bước ở bài tập kế để tạo bảng nhân viên có cấu trúc tương tự bảng tblEmployee có sẵn trong cơ sở dữ liệu Chương 3. Số trường trong phiên bản bảng nhân viên của bạn sẽ ít hơn số trường trong tblEmployee, nhưng bạn sẽ dùng nhiều kiểu dữ liệu và kỹ thuật tương tự.

BÀI TẬP 3.1: TẠO BẢNG NHÂN VIÊN

1. Hãy khởi động Access. Kích Open Other Files (ở khung bên trái), kích Computer, rồi kích Browse để định vị Ch03.accdb trong hộp thoại Open. (Kích kép các folders để mở chúng.) Kích kép Ch03.accdb để mở cơ sở dữ liệu. (Hộp thoại Open của bạn có thể không hiển thị phần mở rộng “.accdb” vì tùy chọn đó – để hiển thị phần mở rộng của một kiểu file đã biết – có thể không được chọn.) Navigation Pane sẽ hiển thị tên của 3 bảng: bảng nhân viên tblEmployee, bảng chi nhánh tblEmployeeDivision, và bảng chức danh tblEmployeeTitle.

2. Kích CREATE tab rồi kích Table Design trong nhóm Tables để mở một bảng mới (có tên mặc định “Table1”) ở góc nhìn Design. Access sẽ tự động mở tab ngữ cảnh DESIGN trong TABLE TOOLS tab.

Kế đến, bạn sẽ định nghĩa tên, kiểu dữ liệu, và mô tả cho từng trường trong bảng. Khi hoàn thành Bài tập 3.2, bạn sẽ có một cấu trúc bảng mới và có thể nhập liệu vào đó. Bạn sẽ nhấn phím Tab để chuyển từ cột định nghĩa bảng này sang cột khác. Có những cách khác để chuyển từ trái sang phải và từ trên xuống: bạn có thể kích cột bằng chuột, hay có thể dùng phím mũi tên để đến bất kỳ nơi nào trong lưới của góc nhìn Design – giống như bạn di chuyển con trỏ trong bảng tính spreadsheet. Tab rất tiện, không như các phương án khác, vì cả ô được chọn (được làm tối). Điều này cho phép thay mọi văn bản hiện có bằng cách gõ.

BÀI TẬP 3.2: ĐỊNH NGHĨA CÁC CỘT BẢNG

1. Với bảng đang mở ở góc nhìn Design, gõ EmpID (đừng bao giờ có khoảng cách trong tên) vào dòng đầu của cột tên trường Field Name. Nhấn Tab, gõ N vào cột kiểu dữ liệu Data Type (hay chọn Number từ danh-sách-sổ-xuống), nhấn Tab để chuyển đến trường mô tả Description, gõ phần mô tả Employee identification number (mã số nhận diện nhân viên).

2. Với con trỏ ở cuối trường Description thuộc dòng định nghĩa trường EmpID, kích Primary Key (khóa chính) trong nhóm Tools thuộc tab ngữ cảnh DESIGN. Access sẽ đặt một chìa khóa nhỏ vào ô chọn dòng (ở cột bìa trái) để ký hiệu rằng EmpID là khóa chính của bảng. Bạn có thể đặt cột bất kỳ làm khóa chính của bảng.

3. Nhấn Tab để chuyển sang dòng định nghĩa trường thứ hai, gõ EmpLName (họ nhân viên) vào cột Field Name, nhấn Tab, nhấn Tab lần nữa để chấp nhận Short Text là kiểu dữ liệu mặc định và chuyển đến cột Description, rồi gõ Last name để chú thích.

4. Để đổi số ký tự tối đa cho tên nhân viên, nhấn F6 để vào thuộc tính kích cỡ trường Field Size trong khung thuộc tính trường Field Properties ở nửa dưới của cửa sổ góc nhìn Design. (Bạn có thể kích ô bên phải của Field Size.) Gõ 25 vào ô Field Size.

5. Kích ô trống ở cột Field Name ở dòng thứ ba, gõ EmpCommRate (phần trăm hoa hồng cho nhân viên), nhấn Tab, gõ N vào cột Data Type (hay chọn Number từ danh-sách-sổ-xuống), nhấn Tab để chuyển đến trường Description, rồi gõ Commission rate.

6. Nhấn Tab để chuyển đến ô Field Name ở dòng thứ tư, gõ EmpHireDate (thời điểm tuyển dụng nhân viên), nhấn Tab, kích mũi tên danh-sách-sổ-xuống Data Type, chọn Date/Time, nhấn Tab, rồi gõ Hire date (với một khoảng cách giữa các từ Hire date).

7. Nhấn Tab để chuyển đến ô Field Name ở dòng thứ năm, gõ EmpGender (giới tính nhân viên), nhấn Tab, gõ S (để tái khẳng định chọn lựa mặc định là Short Text, nhưng không cần thiết), nhấn Tab, rồi gõ Gender.

8. Nhấn Tab để chuyển đến ô Field Name ở dòng trống kế tiếp (thứ sáu), gõ EmpNotes, nhấn Tab, gõ L để chọn Long Text, nhấn Tab, rồi gõ Notes about performance (chú thích về hiệu suất), rồi gõ Tab để xác nhận phần chú thích cho cột mô tả EmpNotes.

9. Có nhiều cách lưu bảng vừa mới định nghĩa và các thay đổi cấu trúc của nó. Ta chọn phương pháp dùng bàn phím: Nhấn Ctrl+S để mở hộp thoại Save As. Gõ tblMyEmployees rồi kích OK để đặt tên và lưu bảng. Để ý rằng tên bảng mới xuất hiện trên tab bảng trong cửa sổ đang mở. (Xem Hình 3.4.)

Hình 3.4 Định nghĩa cấu trúc bảng.

10. Để đóng thiết kế bảng vừa lưu, kích phải tab bảng tblMyEmployees rồi kích Close từ pop-up menu. Access sẽ đóng bảng. (Ngoài ra, bạn có thể kích nút đóng X trên thanh tiêu đề của bảng.)

Thứ Bảy, 23 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 3 - Tạo bảng bằng cách dùng khuôn dạng

James Perry, Richard Newmark


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


Tạo bảng bằng cách dùng khuôn dạng


Các khuôn dạng bảng là những cấu trúc định sẵn, chứa các cột và kiểu dữ liệu có thể phù hợp nhu cầu ứng dụng cơ sở dữ liệu của bạn. Nếu một khuôn dạng bảng sát nhưng không khớp hoàn toàn điều bạn muốn, bạn có thể sửa một tí để khớp nhu cầu của bạn. Ưu điểm của việc dùng khuôn dạng bảng so với việc tạo bảng từ đầu là tránh hội chứng màn hình “thiết kế bảng trống trơn”. Tình trạng màn hình thiết kế bảng trống trơn có thể gây lo sợ. Việc có một bảng tạo sẵn sát với nhu cầu của bạn có thể tăng tốc quá trình thiết kế bảng vì chỉ cần một vài chỉnh sửa là có được bảng như ý. Chương này nhấn mạnh việc tạo bảng từ đầu vì chúng tôi nghĩ rằng hiểu biết sâu sắc nhất có được từ các chi tiết tạo bảng. Tuy nhiên, bạn cần quen thuộc với qui trình tạo bảng qua khuôn dạng.

Sau khi khởi động Access, màn hình như Hình 3.2 xuất hiện (nếu bạn mở một cơ sở dữ liệu Access trực tiếp từ Windows Explorer bằng cách kích kép, bạn sẽ không thấy màn hình này). Trên đỉnh màn hình bạn có thể tìm các khuôn dạng cơ sở dữ liệu Access trực tuyến bằng cách gõ vào ô Search for online templates. Ở tâm màn hình, bạn sẽ thấy nhiều khuôn dạng có sẵn, bạn có thể kích vào để tải xuống và sử dụng. Chẳng hạn, nếu kích biểu tượng Blank desktop database, Access sẽ tạo một cơ sở dữ liệu mới không chứa bất kỳ đối tượng nào có sẵn. Nếu kích biểu tượng Custom web app, sau này bạn có thể đưa ứng dụng của bạn lên máy chủ SharePoint. Các khuôn dạng khác bao gồm Asset tracking để quản lý tài sản, Contacts để quản lý thông tin liên lạc, …

Hình 3.2 Các khuôn dạng cơ sở dữ liệu có sẵn.

Các bước để tạo một cơ sở dữ liệu từ khuôn dạng được phác họa ở đây. Bạn không cần theo các bước này vì bạn sẽ tạo bảng từ đầu.

Khởi động Access.
Kích một biểu tượng khuôn dạng xuất hiện ở tâm màn hình.
Kích biểu tượng thư mục folder để chuyển đến folder mà bạn muốn tạo một cơ sở dữ liệu mới.
Kích biểu tượng Create ở góc phải dưới cửa sổ. (Access sẽ tạo một cơ sở dữ liệu từ khuôn dạng.)
Nếu cần, kích nút Enable Content trong thanh SECURITY WARNING. Đóng cửa sổ Welcome nếu thấy xuất hiện. Access sẽ tạo các cấu trúc bảng, câu truy vấn, forms, và báo cáo.
Nhập dữ liệu vào bảng.
Đóng cơ sở dữ liệu.
Nếu cần, sửa cấu trúc bảng ở góc nhìn Design rồi lưu.

Hình 3.3 hiển thị cơ sở dữ liệu thông tin liên lạc Contacts với các đối tượng khác nhau (bảng, câu truy vấn, …) trong Navigation Pane.

Hình 3.3 Cơ sở dữ liệu thông tin liên lạc Contacts mẫu.

Thứ Sáu, 22 tháng 4, 2016

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

James Perry, Richard Newmark


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


Giới thiệu về bảng


Thuật ngữ các đối tượng Access (Access objects) ngụ ý nhiều cách bạn có thể lưu và hiển thị thông tin trong bảng. Như hầu hết các hệ cơ sở dữ liệu, Access cung cấp nhiều đối tượng để bạn sử dụng. Bắt đầu với đối tượng cơ bản nhất, các đối tượng bao gồm bảng, câu truy vấn, forms, báo cáo, macros, và modules. Ở chương này, ta chỉ thảo luận sâu về bảng.

Bảng cơ sở dữ liệu, trong bất kỳ hệ cơ sở dữ liệu quan hệ, là đối tượng duy nhất lưu dữ liệu. Tất cả các đối tượng cơ sở dữ liệu khác, chẳng hạn câu truy vấn, báo cáo, và forms đơn thuần thu thập và hiển thị dữ liệu từ bảng. Thông tin được lưu vào một hay nhiều bảng. Bảng bao gồm các dòng và cột. Mỗi dòng chứa mọi thông tin về một mục cụ thể trong bảng. Mỗi dòng còn được gọi là một bản ghi. Các cột thuộc dòng chứa những giá trị riêng biệt cho từng thuộc tính đặc trưng cho dòng. Chẳng hạn, bảng nhân viên trong cơ sở dữ liệu The Coffee Merchant, gọi là tblEmployee, chứa một dòng cho từng nhân viên. Các cột trong bảng nhân viên chứa thông tin về 11 thuộc tính khác nhau của từng nhân viên. Chẳng hạn cột EmpID chứa số định danh nhân viên duy nhất; EmpFName là trường lưu họ của từng nhân viên; và EmpDOB lưu ngày sinh của từng nhân viên. 11 giá trị cho từng nhân viên mô tả đặc trưng của nhân viên đó, có vai trò quan trọng cho việc tạo báo cáo cũng như thông tin hữu ích khác để bộ phận quản lý sử dụng.

Mỗi cột trong bảng chỉ có thể chứa một kiểu dữ liệu. Mặc dù tên chính xác các kiểu dữ liệu này thay đổi tùy thuộc hệ quản trị cơ sở dữ liệu quan hệ (RDBMS – Relational Database Management System), chúng đều rút ra từ một tập hợp nhỏ chung. Kiểu dữ liệu của một cột cung cấp ràng buộc cơ bản trên kiểu thông tin có thể nhập vào cột đó. Chẳng hạn, khai báo cột có kiểu số Number sẽ không cho dữ liệu văn bản nhập vào đó. Access hỗ trợ các kiểu dữ liệu liệt kê ở Hình 3.1. Trong các kiểu đã liệt kê, bạn sẽ dùng kiểu đính kèm Attachment, tiền tệ Currency, thời điểm Date/Time, siêu liên kết Hyperlink, số Number, và văn bản Text cho hầu hết dữ liệu trong chương này và nói chung.

Hình 3.1 Các kiểu dữ liệu Microsoft Access.

Việc tạo và thiết kế bảng thì không phức tạp. Bạn làm theo 6 bước cơ bản ở góc nhìn Design sau:

1. Tạo bảng.
2. Chọn và gõ từng tên trường ứng với từng cột bảng rồi gán kiểu dữ liệu duy nhất vào đó.
3. Sửa thuộc tính cột và nhập các thuộc tính khác cho từng cột nếu cần.
4. Tạo chỉ mục cho các cột đã chọn để tăng tốc truy cập dữ liệu.
5. Chọn khóa chính từ một hay nhiều cột bảng.
6. Lưu thiết kế bảng vừa tạo.

Một khi đã thiết kế bảng, bạn hiển thị bảng đó ở góc nhìn Datasheet rồi gõ dữ liệu vào từng cột trên dòng. Khi thiết kế bảng, bạn có thể dùng các khuôn dạng định sẵn, chứa sẵn tên trường và kiểu dữ liệu để tăng tốc việc tạo bảng, hay bạn có thể tạo và thiết kế bảng bằng cách đi theo 6 bước ở trên. Đầu tiên, bạn sẽ học cách tạo bảng bằng cách dùng một khuôn dạng có sẵn.

Thứ Năm, 21 tháng 4, 2016

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

James Perry, Richard Newmark


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


Mục tiêu


Chương này sẽ mở rộng kiến thức bạn đã thu được ở Chương 1 với thông tin chi tiết hơn về Microsoft Access. Bạn sẽ học cách tạo bảng, dùng các khuôn mẫu bảng, sửa thiết kế bảng, áp đặt các ràng buộc cho bảng qua các thuộc tính trường, và nhập dữ liệu vào bảng. Các bài tập trong chương sẽ minh họa việc dùng các kỹ thuật Access để tạo nền móng cho hệ thông tin kế toán – đó là tập hợp bảng nhằm lưu thông tin quan trọng. Giống Chương 1, chương này định hướng ứng dụng và chứa rất ít lý thuyết; chương sẽ củng cố lý thuyết trình bày ở Chương 2. Chương cung cấp những chi tiết quan trọng nhất để tạo và bảo trì bảng, gồm cách:


  • Định nghĩa cấu trúc bảng.
  • Sửa cấu trúc bảng và thiết lập tính toàn vẹn dữ liệu giữa các bảng liên quan.
  • Đặt thuộc tính trường trong bảng gồm những thuộc tính hạn chế miền giá trị dữ liệu được phép đối với cột.
  • Nhập dữ liệu vào bảng.
  • Sửa thuộc tính hiển thị datasheet.
  • Tùy chỉnh Navigation Pane để che dấu hay hiển thị đối tượng cũng như tạo phân loại mới trong Navigation Pane.
  • Giải thích ưu điểm của việc tách bảng khỏi các đối tượng cơ sở dữ liệu khác.


Cơ sở dữ liệu The Coffee Merchant sẽ được dùng ở đây và trong nhiều chương khác. Cơ sở dữ liệu có tên Ch03.accdb. Nó chứa mọi đối tượng cần để hoàn thành các bài tập trong chương. Đó là nơi bạn lưu mọi kết quả làm việc.

Thứ Tư, 20 tháng 4, 2016

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

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Tổng kết


Bạn đã học rất nhiều về hệ cơ sở dữ liệu nói chung và hệ cơ sở dữ liệu Access nói riêng. Bạn hiểu cơ sở dữ liệu quan hệ là gì và tại sao đó là chọn lựa tốt nhất khi làm việc với các tập hợp thông tin có quan hệ với nhau.

Bảng là thành phần xây dựng cơ bản của một hệ cơ sở dữ liệu, bao gồm các cột và dòng. Có nhiều cách xử lý bảng để cho kết quả mong muốn. Access duy trì trật tự các dòng bảng khi bảng có khóa chính. Các nút di chuyển ở góc nhìn Datasheet giúp di chuyển đến các dòng trong bảng. Bạn có thể di chuyển một cột trong bảng bằng cách kéo đầu đề của nó sang trái hay phải. Điều này thay đổi đặc trưng hiển thị bảng nhưng không thật sự thay đổi vị trí cột trong lưu trữ bảng.

Ngoài bảng, Access còn chứa các đối tượng khác, bao gồm câu truy vấn, forms, và báo cáo. Câu truy vấn dùng giao diện QBE để đặt câu hỏi về dữ liệu lưu trong một hay nhiều bảng. Nhờ khả năng tra cứu tập con dòng và cột, câu truy vấn thu hẹp việc tìm kiếm thông tin thích hợp về những thành phần quan tâm. Bạn đã học cách tạo truy vấn dùng các tiêu chí đơn giản cũng như dùng các biểu thức phức tạp chứa các toán tử so sánh. Bạn đã tạo tiêu-chí-và AND trong đó các điều kiện phải thỏa đồng thời. Bạn đã thấy cách tạo các tiêu-chí-hay OR bằng cách đặt các điều kiện trên nhiều dòng trong mô hình truy vấn.

Forms cung cấp một giao diện đơn giản hơn so với bảng, vì mỗi lần chỉ hiển thị một dòng. Bạn đã dùng form và tạo nhanh một form từ bảng. Forms có thể được tạo giống với biểu mẫu thường gặp trong kinh doanh. Khi form giống bản in giấy quen thuộc, form trên máy tính khá trực quan và dễ dùng. Bạn đã biết rằng chỉ việc kích một mục trong form rồi gõ, bạn có thể đổi dữ liệu trong bảng. Khi đến một bản ghi khác, thay đổi đó sẽ được áp vào bảng. Và bạn đã biết rằng bạn có thể lọc dữ liệu trong bảng, qua đó hạn chế những dòng nào được hiển thị trong form.

Cuối cùng, bạn đã xem qua kết xuất in giấy mà Access hỗ trợ: báo cáo Access. Đầu tiên bạn xem trước khi in một báo cáo có sẵn. Sau đó bạn tạo nhanh một báo cáo mặc định từ bảng. Báo cáo là cách in và tổng kết thông tin từ một hay nhiều bảng dưới dạng bắt mắt. Báo cáo chỉ là kết xuất, bạn không thể đổi nội dung trong bảng từ báo cáo.

Chương này đã cung cấp các công cụ cơ bản để bắt đầu dùng Access xây dựng hệ thống. Chương 2 trình bày chặt chẽ hơn các nền tảng của hệ quản trị cơ sở dữ liệu quan hệ. Ở đó bạn sẽ biết một số qui tắc và kỹ thuật nhằm giúp thiết kế và xây dựng hệ thông tin kế toán bằng bảng, vốn rất phù hợp cho mục đích này.

Thứ Ba, 19 tháng 4, 2016

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

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


In báo cáo


Lý do thực tế của việc tạo một báo cáo hấp dẫn là để tạo ra bản sao in giấy. Hãy thử in vài trang báo cáo trong cơ sở dữ liệu Chương 1.

THỬ NGHIỆM

Kích phải báo cáo rptProducts rồi kích Print Preview trong pop-up menu để hiển thị báo cáo ở góc nhìn xem trước khi in Print Preview. Kích nút đến trang kế Next Page ở đáy màn hình để đến trang 2. Kích Next Page lần nữa để đến trang cuối. Sau cùng kích nút First Page để về lại trang đầu. Kích lệnh Print trong nhóm Print. Chỉ in trang đầu tiên bằng cách kích nút radio Pages trong hộp thoại Print. Gõ 1 vào ô From. Kích OK để in trang 1. Kích phải tab báo cáo rồi kích Close All để đóng tất cả các cửa sổ.

Nếu cẩn thận theo các hướng dẫn trong bài tập Thử nghiệm ở trên, bạn đã tạo ra một báo cáo hiển thị các sản phẩm của Incredible Cheesecake Company, đầu tiên là Karat Cheesecake sau đó là khoảng 35 dòng sản phẩm khác. Hãy để ý các dòng xám xen kẽ. Chúng giúp phân biệt các dòng kề nhau. Đây chỉ là một trong vô số định dạng báo cáo. Đến đây bạn đã sẵn sàng đóng toàn bộ cơ sở dữ liệu Access.

BÀI TẬP 1.20: ĐÓNG CƠ SỞ DỮ LIỆU VÀ ĐÓNG ACCESS

1. Kích FILE tab.

2. Kích Close để đóng cơ sở dữ liệu.

3. Kích nút X ở góc trái trên cửa sổ Access để đóng Access.

Thứ Hai, 18 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Lưu báo cáo

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Lưu báo cáo


Báo cáo được lưu tương tự các đối tượng khác – bằng cách kích lệnh Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar hay chọn Save từ FILE tab menu. Sau này, nếu muốn xóa báo cáo, bạn chỉ việc kích phải tên báo cáo trong Navigation Pane rồi kích Delete trong pop-up menu.

BÀI TẬP 1.18: LƯU BÁO CÁO

1. Với báo cáo đang mở trước đây, kích phải tab báo cáo rồi kích Save trong pop-up menu.

2. Gõ rptCustomerTest trong ô Report Name của hộp thoại Save As.

3. Kích OK để hoàn tất thao tác lưu.

4. Kích phải tab báo cáo, giờ có tên rptCustomerTest, rồi kích Close để đóng cửa sổ báo cáo.

Khi không còn cần đối tượng nào đó chẳng hạn bảng, câu truy vấn, form, hay báo cáo, bạn có thể xóa để giải phóng không gian lưu trữ. Với việc chọn đối tượng bất kỳ, bạn có thể xóa nó bằng nhiều cách. Chẳng hạn, để xóa một báo cáo, bạn kích tên của nó trong Navigation Pane để làm nổi bật rồi nhấn phím Delete. Các khác là kích phải tên đối tượng trong Navigation Pane rồi chọn Delete trong pop-up menu.

BÀI TẬP 1.19: XÓA BÁO CÁO

1. Kích rptCustomerTest trong phân loại Reports ở Navigation Pane.

2. Nhấn Del làm trên bàn phím.

3. Kích Yes khi được nhắc với hộp thoại thông báo “Do you want to permanently delete the report…” (Bạn có muốn xóa vĩnh viễn báo cáo…) để xác nhận quyết định của bạn. Access sẽ xóa báo cáo đó.

Chủ Nhật, 17 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Tạo nhanh một báo cáo

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Tạo nhanh một báo cáo


Việc tạo báo cáo từ bảng thì tương tự việc tạo form từ bảng. Bạn chọn tên bảng trong Navigation Pane, kích tab lệnh CREATE, rồi kích Report trong nhóm Reports. Báo cáo có định dạng sẵn sẽ xuất hiện. Trong bài tập sau bạn sẽ tạo một báo cáo dựa trên bảng tblCustomers.

BÀI TẬP 1.17: TẠO NHANH MỘT BÁO CÁO

1. Kích tblCustomers trong phân loại Tables ở Navigation Pane để làm nổi bật tên của nó.

2. Kích tab lệnh CREATE rồi kích Report (trong nhóm Reports). Access sẽ tạo một báo cáo và hiển thị nó ở góc nhìn Layout. Để ý rằng đầu đề của báo cáo có hiển thị thời điểm. Vạch đứt nét thẳng đứng ở bên phải cho biết báo cáo rộng hơn kích cỡ trang giấy ở chế độ chân dung.

3. Kích tab ngữ cảnh Page Setup rồi kích Lanscape (chế độ phong cảnh) trong nhóm Page Layout.

4. Kích nút xem trước khi in Print Preview trong thanh trạng thái Access (góc phải dưới) để xem biểu diễn chính xác của báo cáo. Thu gọn Navigation Pane rồi dùng thanh trượt thu phóng (Zoom scroll control) để hiển thị chiều rộng của toàn bộ báo cáo trong cửa sổ (xem Hình 1.32).

Hình 1.32 Một báo cáo cơ bản.

5. Sau khi khảo sát báo cáo, bạn có thể lưu để dùng về sau. Bạn sẽ làm điều đó trong bài tập kế.

Thứ Bảy, 16 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Xem báo cáo trước khi in

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Xem báo cáo trước khi in


Báo cáo thường hiển thị thông tin từ một bảng, một tập hợp bảng có liên quan, hay một truy vấn. Chúng tôi đã tạo sẵn một báo cáo dẫn xuất từ 2 bảng và một truy vấn với kết quả tương tự câu truy vấn mà bạn đã khảo sát trước đây (xem Hình 1.26). Mặc dù có thể thu nhận được nhiều điều khi nhìn vào kết quả truy vấn trên màn hình, sẽ hữu ích hơn nếu rà soát kết quả trong một báo cáo có định dạng hấp dẫn. Đầu tiên, hãy học cách mở một báo cáo có sẵn và xem qua trước khi in ra.

BÀI TẬP 1.16: NẠP VÀ XEM TRƯỚC BÁO CÁO

1. Hãy mở một đối tượng trong Navigation Pane bằng một phương pháp khác: Kích phải rptCustomerInvoices rồi kích Open trong shortcut menu. Báo cáo sẽ mở ở góc nhìn Report.

2. Dùng thanh cuộn thẳng đứng để duyệt qua vài trang báo cáo. Hình 1.30 trình bày vài dòng đầu của báo cáo ở góc nhìn Report. Bốn góc nhìn báo cáo cũng được biểu thị bằng các nút ở biên phải của thanh trạng thái (xem Hình 1.31).

Hình 1.31 Báo cáo khách hàng và hóa đơn.

3. Đóng báo cáo (kích phải tab rồi kích Close).

Thứ Sáu, 15 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Thiết kế báo cáo

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Thiết kế báo cáo


Thông thường bạn muốn xem báo cáo trên màn hình hoặc in ra giấy để có thể phân phát trong cuộc họp hay để lưu thường trực. Báo cáo Access phục vụ cho mục đích đó. Bạn không thể nhập hay sửa dữ liệu trong báo cáo. Báo cáo có thể tiện dụng đơn giản hay có thể chuyên nghiệp với nhiều kiểu chữ, màu sắc, và hình ảnh.

Báo cáo có thể được hiển thị ở 4 góc nhìn khác nhau: Report, Print Preview, Layout, và Design. Hai góc nhìn cuối cho bạn sửa cấu trúc báo cáo, còn góc nhìn Report và Print Preview hiển thị báo cáo trên màn hình và không cho sửa.

Phát triển HTTT kế toán bằng MS Access - Chương 1 - In form

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


In form


Forms phù hợp nhất khi làm việc trên màn hình, và bạn còn có thể in chúng. Để in một bản ghi hiển thị trong form, hãy mở form, định vị bản ghi, rồi kích FILE tab, kích Print, rồi kích Print trong khung Print. Khi hộp thoại Print xuất hiện, kích nút radio Selected Record(s) để chỉ in form hiển thị. (Nếu bạn quên kích nút radio, Access sẽ in tất cả các forms và tất cả các bản ghi – rất có thể đó là điều bạn không muốn.) Bạn sẽ để ý rằng thanh tiêu đề cũng như các nút di chuyển của form sẽ không được in.

Việc in nhiều bản ghi qua form thì không quá đơn giản vì nhiều forms in trên mỗi trang. Hãy mở hộp thoại Print theo cách như trên. Nhưng lần này kích nút radio Pages, nhập số trang đầu và trang cuối vào ô, rồi kích OK. Access sẽ in các dòng bảng theo dạng hiển thị form. Tuy nhiên, rất có thể bạn không muốn in nhiều bản ghi theo cách này. Có cách hay hơn khi in lượng lớn thông tin từ bảng. Báo cáo Access là cách tiện lợi nhất để thiết kế và tạo kết xuất dạng bảng cho các bản ghi trong bảng hay từ kết quả truy vấn. Báo cáo Access sẽ được trình bày ở phần kế.

Thứ Năm, 14 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Tạo và dùng split form (biểu mẫu phân cách)

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Tạo và dùng split form (biểu mẫu phân cách)


Form cho phép bạn xem dữ liệu do bảng hay câu truy vấn cung cấp, mỗi lần một bản ghi. Form có tính trực quan và có thể được thiết kế để bắt chước dạng in giấy quen thuộc với doanh nghiệp. Các nút chuyển ở đáy form cho phép dễ dàng di chuyển trên form. Tuy nhiên, một ưu điểm của việc xem bảng ở góc nhìn Datasheet là bạn có thể di chuyển dễ dàng nhanh chóng qua các bản ghi bằng cách dùng thanh trượt và bàn phím – chẳng hạn PgUp và PgDn. Split form hỗ trợ việc di chuyển nhanh nhờ góc nhìn Datasheet cùng với một bài trí form đẹp hơn. Nó thực hiện việc này bằng cách chia cửa sổ thành 2 nửa: nửa trên là form và nửa dưới là datasheet. Ý tưởng đằng sau split form là bạn dùng datasheet để định vị bản ghi mà bạn muốn, dữ liệu trong bản ghi đó đồng thời được hiển thị trong form. Rất dễ tạo split form. Bạn tạo nó trong bài tập kế.

BÀI TẬP 1.15: TẠO SPLIT FORM

1. Kích bảng tblCustomers trong phân loại Tables ở Navigation Pane. (Bạn không cần mở bảng.)

2. Kích tab lệnh CREATE. Trong nhóm Forms, kích More Forms rồi kích Split Form trong danh sách forms. Access sẽ tạo một split form và hiển thị nó ở góc nhìn Layout.

3. Kích nút Form View ở nhóm Views.

4. Tạo thêm không gian cho phần datasheet bằng cách di chuột lên đường phân chia hai nửa, gọi là thanh phân chia (splitter bar). Khi con trỏ chuột thành mũi tên hai đầu, kích và kéo thanh phân chia lên sát trường cuối là Zip. Cẩn thận đừng làm khuất các trường trong phần form thuộc split form.

6. Kích nút đóng/mở trên Navigation Pane để thu gọn Navigation Pane (xem Hình 1.30).

Hình 1.30 Ví dụ về split form.

Khi đã khảo sát xong split form, bạn có thể đóng và bỏ qua. Chương này sẽ không bàn đến split form nữa.

Thứ Tư, 13 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Soạn thảo dữ liệu với form

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Soạn thảo dữ liệu với form


Việc sửa dữ liệu trong bảng bằng việc dùng form thì thường dễ hơn. Vì thường chỉ có một dòng bảng được hiển thị trên form, bạn sẽ ít gây lỗi. Việc soạn thảo dữ liệu bảng bằng form thì đơn giản. Khi xét form ở góc nhìn Form (không phải góc nhìn Design), bạn chỉ việc kích trường muốn sửa. Hãy thử soạn thảo một bản ghi trong bảng khách hàng Customers qua form.

BÀI TẬP 1.14: SOẠN THẢO DỮ LIỆU VỚI FORM

1. Kích kép form frmCustomers trong phân loại Forms ở Navigation Pane. Form sẽ mở ở góc nhìn Form.

2. Chuyển đến bản ghi khách hàng có tên Caffe Tazza bằng cách nhấn phím PgDn 3 lần hay dùng nút di chuyển.

3. Nhấn Tab liên tục để đến trường số nhà và tên đường Street. (Toàn bộ giá trị sẽ được làm nổi bật nếu bạn dùng Tab hay phím mũi tên để chuyển đến trường đã chọn thay vì dùng chuột.)

4. Gõ 24 Oak Street để sửa tên đường.

5. Kích nút đến bản ghi kế Next Record để Access sửa vào bảng tương ứng. Rồi kích nút đến bản ghi trước Previous Record để kiểm chứng sự thay đổi.

6. Kích phải form tab rồi kích Close để đóng form.

Nhớ rằng Access sẽ không sửa bảng cho đến khi bạn sang bản ghi khác, đóng bảng, hay đóng cơ sở dữ liệu. Nhớ rằng form đơn thuần hiển thị dữ liệu bảng. Bản thân form không đổi. Chỉ dữ liệu bảng bị đổi. Bạn không bao giờ cần lưu form trừ phi bạn sửa thiết kế của nó.

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

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Lưu form


Bạn có thể lưu thiết kế form bằng cách kích biểu tượng Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar rồi gõ tên form vào hộp thoại Save As. Hành động đó sẽ lưu form mới tạo, không lưu dữ liệu. Bất kỳ dữ liệu mới hay có thay đổi sẽ được Access lưu tự động vào bảng khi bạn chuyển sang một bản ghi mới trong form hay khi đóng form.

THỬ NGHIỆM

Với form mới tạo vẫn được hiển thị ở góc nhìn Form, kích Save trong thanh công cụ truy xuất nhanh Quick Access Toolbar. Gõ tên frmCustomersAutoForm vào ô Form Name của hộp thoại Save As. Kích OK để hoàn tất thao tác lưu form. Kích phải form tab rồi kích Close All để đóng form và mọi cửa sổ đang mở.

Thứ Ba, 12 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Tạo nhanh một form

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Tạo nhanh một form


Cách tốt nhất để nhập hay sửa dữ liệu là qua form. Việc sửa dữ liệu ở góc nhìn Datasheet của bảng đôi khi làm nản lòng những ai không quen Access, nhưng form cung cấp giao diện trực quan và ngăn nắp thậm chí với người không có kinh nghiệm. Việc tạo một form hoạt động tốt và hấp dẫn thì rất dễ, chỉ cần chọn bảng rồi kích nút.

THỬ NGHIỆM

Kích tab lệnh CREATE rồi kích tblCustomers trong Navigation Pane để chọn (nhưng không mở) bảng khách hàng. Kích nút Form trong nhóm Forms. Mọi form và subform (form con) của nó sẽ xuất hiện ở góc nhìn Layout. Kích nút View trong nhóm Views thuộc tab lệnh HOME để hiển thị nó ở góc nhìn Form – đây là cách người dùng thường tương tác với forms (xem Hình 1.29).

Hình 1.29 Một form được tạo tự động.

Access tạo form và subform kết hợp với nó do có các quan hệ giữa bảng khách hàng tblCustomers, bảng hóa đơn tblInvoices, và bảng dòng-hóa-đơn tblInvoiceLines. Form liên kết 3 bảng với nhau cho phép bạn sửa bảng bất kỳ qua việc dùng form – là “cửa sổ” dẫn đến 3 bảng. Đầu đề form hiển thị tblCustomers, là tên bảng bạn đã chọn trước khi tạo form. Bạn có thể dễ dàng sửa đầu đề cho phù hợp cũng như sửa phần mỹ thuật. Sau này ta sẽ làm điều đó.

Hãy để form mở vì tí nữa bạn sẽ lưu nó. Rất có thể bạn đồng ý rằng form và subform khả dụng và hấp dẫn.

Thứ Hai, 11 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Xem truy vấn qua form

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Xem truy vấn qua form


Bạn có thể tạo form từ câu truy vấn cũng như từ bảng. Chẳng có khác biệt nào khi form hiển thị nội dung của bảng hay của câu truy vấn. Hình 1.28 trình bày một form dựa trên câu truy vấn qryFebFedEx bạn đã tạo trước đây ở Bài tập 1.10 trong chương này. Để ý dòng trạng thái cửa sổ form hiển thị bản ghi hiện thời và tổng số bản ghi. Trong trường hợp này, tổng số bản ghi phụ thuộc số dòng được câu truy vấn chọn. Nhiều khả năng bạn sẽ tạo và dùng nhiều forms dựa trên câu truy vấn.

Hình 1.28 Dữ liệu form được câu truy vấn qryFebFedEx cung cấp.

Chủ Nhật, 10 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Xem bảng qua form

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Xem bảng qua form


Để giúp bạn hiểu form tốt hơn, chúng tôi đã tạo và lưu một số forms trong cơ sở dữ liệu Chương 1. Chẳng hạn, form sản phẩm frmProducts dựa trên bảng tblProducts. Theo qui ước đề cập trước đây trong chương, mọi tên form, với rất ít ngoại lệ, đều có tiền tố frm. Hãy làm bài tập kế để mở form sản phẩm.

BÀI TẬP 1.13: MỞ FORM CÓ SẴN

1. Đóng tất cả các cửa sổ đang mở bằng cách kích phải tab cửa sổ đang mở bất kỳ rồi kích Close All.

2. Nếu nút đóng mở Forms trong Navigation Pane đang đóng thì kích nó để mở danh sách forms trong cơ sở dữ liệu Chương 1.

3. Kích kép form frmProducts. Form sản phẩm sẽ hiện ra.

4. Kích nút di chuyển Last record ở gần đáy form để đến bản ghi cuối cùng.

5. Kích nút di chuyển First record để đến bản ghi đầu tiên trong bảng. Mặc dù đây là form hết sức đơn giản, bạn có thể thấy rằng cách trình bày ngăn nắp và trực quan hơn khi dùng (xem Hình 1.27).

Hình 1.27 Một form sản phẩm đơn giản nhưng dễ dùng.

6. Kích phải formProducts tab rồi kích Close để đóng form.

Các nút di chuyển quen thuộc bạn đã dùng trong Bài tập 1.13 xuất hiện dọc theo đáy form. Những nút đó thực hiện các hành động thông thường: chuyển đến đầu bảng, chuyển lên một dòng, … Khi dùng nút di chuyển, rất có thể bạn đã thấy rằng form hiển thị bản ghi theo thứ tự mã sản phẩm Product ID. Form được tạo từ bảng tblProducts và bảng này có khóa chính là ProductID nhằm duy trì các dòng trong bảng (và như vậy cũng duy trì form) theo thứ tự của trường ProductID. Nếu muốn các dòng hiển thị trong form theo thứ tự mô tả sản phẩm, bạn có thể tạo truy vấn trả về các dòng được sắp theo cột ProductDescription trong bảng tblProducts (qui định thứ tự tăng dần Ascending trong lưới QBE ở cột ProductDescription). Rồi bạn có thể tạo form từ câu truy vấn. Phần kế sẽ minh họa cách tạo form từ câu truy vấn.

Thứ Bảy, 9 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Dùng forms (biểu mẫu)

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Dùng forms (biểu mẫu)


Form cung cấp một không gian làm việc thuận tiện và ngăn nắp, qua đó bạn có thể nhập, sửa, hay đơn thuần là xem dữ liệu bảng. Form có thể hiển thị thông tin từ một hay nhiều bảng. Ngoài ra, form có thể hiển thị thông tin từ câu truy vấn (tức tập động dynaset của câu truy vấn).

Một trong những ưu điểm của việc dùng form để nhập hay sửa dữ liệu là form có thể giống bản giấy mà bạn và khách hàng đã quen thuộc. Khi form trên màn hình giống bản giấy, người dùng form biết ngay vị trí các thông tin, và họ thường thấy thoải mái với giao diện quen thuộc. Việc nhập dữ liệu trực tiếp vào bảng có thể gây bối rối và dễ sai sót hơn, đặc biệt với người chưa quen cơ sở dữ liệu nói chung hay Access nói riêng. Một ưu điểm khác của form là bạn có thể áp đặt nhiều kiểm tra dữ liệu hợp lệ trên các giá trị được nhập vào bảng qua form.

Phát triển HTTT kế toán bằng MS Access - Chương 1 - In tập động dynaset

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


In tập động dynaset


Trước khi in, lúc nào cũng cần kiểm tra tập động dynaset để chắc chắn có kết quả mong muốn. Ví dụ, bạn có thể đặt một truy vấn quá rộng và bao gồm quá nhiều bản ghi cơ sở dữ liệu. Hay có thể bạn sơ ý bỏ qua một cột cần thiết. Trước khi in tập động dynaset, hãy mở nó lên (điều này không bắt buộc nhưng đảm bảo bạn in đúng đối tượng). Kích FILE tab, kích lệnh Print, rồi kích Print hay Print Preview trong khung Print bên phải. Việc kích Print sẽ hiển thị trực tiếp hộp thoại Print. Việc kích Print Preview sẽ hiển thị kết quả xem trước. Trong trường hợp sau, kích nút Print trong nhóm Print để hiển thị hộp thoại Print. Thực hiện các chọn lựa thích hợp trong hộp thoại Print rồi kích OK để in tập động dynaset. Khuyến cáo: Nhiều bảng rất dài và chiếm nhiều trang. Tốt nhất là xem trước kết quả rồi qui định trang đầu và trang cuối để in.

Thứ Sáu, 8 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Bao gồm biểu thức trong câu truy vấn

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Bao gồm biểu thức trong câu truy vấn


Phần lớn các ứng dụng đều có phần tính toán những giá trị không lưu sẵn trong cơ sở dữ liệu. Các ứng dụng kế toán cũng vậy. Chẳng hạn, quản lý viên thường xuyên để mắt đến các tổng trị giá đã được lập hóa đơn. Một cách cộng dồn các doanh số đã được lập hóa đơn là ghi nhận tổng trị giá từng dòng-hóa-đơn trong tblInvoiceLines. Tuy nhiên, bảng tblInvoiceLines không ghi nhận giá trị đó – vì đó là điều không nên nếu bảng tuân thủ các chuẩn thiết kế cơ sở dữ liệu đã được thừa nhận rộng rãi. Có hai cách giải quyết vấn đề này; một cách đúng và một cách sai hoàn toàn.

Giải pháp sai là tạo một cột mới trong bảng tblInvoiceLines để lưu tổng trị giá của từng mặt hàng đã mua. Mặc dù đây có thể là giải pháp khả dĩ khi dùng phần mềm bảng tính spreadsheet, làm vậy với cơ sở dữ liệu có thể đưa đến bất nhất trong cơ sở dữ liệu và gây khó về sau. Tại sao? Giả sử tổng trị giá được tính bằng tích số lượng Quantity nhân đơn giá UnitPriceCharged. Bây giờ giả sử có người phát hiện lỗi nhập số lượng cho một mặt hàng cụ thể. Thay vì nhập số lượng là 20 (hai mươi) cho mặt hàng đó, người ta lại nhập 200 (hai trăm). Khi phát hiện sai sót, số lượng được điều chỉnh về 20 trong cột Quantity của tblInvoiceLines.

Chú thích đặc biệt: Access cung cấp khả năng đặt một trường tính toán vào bảng nếu đó là biểu thức liên quan đến các trường thuộc bảng đó. Có thể đây là ý kiến hay, nhưng vi phạm qui tắc chuẩn hóa cơ sở dữ liệu. Bạn nên tạo các trường tính toán bằng một truy vấn lên bảng.

Mặc dù giá trị Quantity giờ đây đã đúng trong bản ghi cơ sở dữ liệu ứng với giao dịch bị lỗi, tổng trị giá vẫn chưa đúng. Không như bảng tính spreadsheet, giá trị trường trong dòng cơ sở dữ liệu không tự động đổi khi các giá trị khác mà nó phụ thuộc thay đổi. Đây là qui tắc quan trọng cho tình huống này: Đừng bao giờ lưu vào bảng bất kỳ giá trị (trường) nào phụ thuộc hàm nhiều hơn một trường trong bản ghi. Đó là một đơn giản hóa của qui tắc được trình bày ở Chương 2 và đơn thuần phát biểu rằng bạn không nên lưu vào bảng giá trị bạn có thể tính toán hay dẫn xuất từ một hay nhiều bảng trong cơ sở dữ liệu.

Như vậy, cách nào là đúng để tính tổng trị giá cho từng dòng-hóa-đơn? Cách đúng là thêm một biểu thức (expression) vào truy vấn để tính giá trị động – mỗi khi thi hành truy vấn. Thay vì bạn phải tạo một truy vấn như thế, chúng tôi cung cấp một ví dụ để bạn thi hành. Bạn sẽ thấy truy vấn này chứa tính toán được mô tả ở đây trong cơ sở dữ liệu Chương 1. Trong phân loại Queries, đó là qryInvoices.

THỬ NGHIỆM

Kích kép truy vấn hóa đơn qryInvoices. Truy vấn này hiển thị các dòng từ hai bảng: bảng dòng-hóa-đơn tblInvoiceLines và bảng sản phẩm tblProducts. (Bảng tblProducts không cần để minh họa tính toán, nhưng việc thêm bảng thứ hai cho phép ta hiển thị tên sản phẩm trong tập động dynaset.) Hãy khảo sát truy vấn ở Hình 1.26 cũng như tập động dynaset hiển thị kết quả tra cứu và tính toán. Biểu thức được tính và được hiển thị ở cột Extended thật ra phức tạp hơn phép nhân hai số một chút. Nó còn tính đến phần trăm giảm giá áp trên mặt hàng rồi làm tròn toàn bộ biểu thức về hai vị trí thập phân. Bây giờ hãy bỏ qua vấn đề làm tròn và giảm giá. Cứ để mở câu truy vấn để dùng về sau.

Hình 1.26 Một truy vấn chứa biểu thức số học.

Kích nút Design View rồi khảo sát thiết kế truy vấn. Đặc biệt để ý đến biểu thức trên dòng Field. (Bạn có thể phải kích thanh trượt ngang để thấy được trường đó.) Biểu thức

Extended: Round([Quantity]*[UnitPriceCharged]*(1-[Discount]),2)

sẽ tính giá mở rộng (extended price) cho từng dòng rồi tạo cột mới trong tập động dynaset. Từ Extended theo sau là dấu hai chấm và khoảng trống là tên cột (còn được gọi là biệt danh alias). Các biến biểu thức [Quantity] và [UnitPriceCharged] tham chiếu đến các tên trường trong bảng và nhận giá trị từ chúng cho từng dòng.

Thứ Năm, 7 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Tạo tiêu chí chọn dùng toán-tử-hay OR

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Tạo tiêu chí chọn dùng toán-tử-hay OR


Bạn có thể gặp những truy vấn tương tự như sau: “Liệt kê các khách hàng đã đặt hàng trong 30 ngày qua hay đã mua hơn $500 trong 90 ngày qua.” Một ví dụ khác là: “Liệt kê mọi sản phẩm có từ chocolate trong phần mô tả hay có giá dưới $10.” Cả hai câu hỏi trên bao gồm hai điều kiện, chỉ cần một trong hai điều kiện đó thỏa. Tiêu chí đó được gọi là điều kiện OR. Không như điều kiện AND, trong đó mọi điều kiện phải thỏa thì dòng mới được trả về trong tập động dynaset, điều kiện OR chỉ cần một trong hai điều kiện thỏa là dòng được trả về.

Làm thế nào bạn tạo truy vấn có điều kiện OR? Có hai cách cơ bản để tạo tiêu chí OR, tùy thuộc tiêu chí đó liên quan một trường hay nhiều trường. Nếu bao gồm hai trường khác nhau (mô tả sản phẩm và giá sản phẩm trong ví dụ trên), bạn tạo truy vấn chứa hai dòng tiêu chí Criteria – mỗi dòng cho một điều kiện. Nếu tiêu chí chỉ gồm một trường, bạn có thể đặt các giá trị chấp nhận trong một trường và phân cách chúng bằng từ Or.

Bài tập kế dùng phương pháp đầu tiên, vì bao gồm hai trường khác nhau. Hãy đóng mọi cửa sổ Access đang mở nhưng vẫn mở cơ sở dữ liệu Chương 1.

BÀI TẬP 1.12: TẠO TRUY VẤN VỚI TIÊU CHÍ “OR”

1. Kích tab lệnh CREATE rồi kích Query Design trong nhóm Queries.

2. Kích kép bảng tblProducts trong hộp thoại Show Table rồi kích nút Close.

3. Kích kép dấu * (hoa thị) trong danh sách trường của tblProducts để đặt nó vào ô đầu tiên trên dòng Field trong lưới QBE. (Điều này qui định là câu truy vấn sẽ bao gồm mọi trường bảng.)

4. Kích kép trường mô tả sản phẩm ProductDescription và giá bán lẻ RetailPrice trong danh sách trường để tự động đặt chúng vào cột thứ hai và thứ ba trên dòng Field.

5. Xóa trống các ô bên dưới cột ProductDescription và RetailPrice để Access không hiển thị các cột đó hai lần trong tập động dynaset.

6. Kích ô tiêu chí Criteria bên dưới cột ProductDescription trong lưới QBE, nhấn Shift+F2 để mở hộp thoại thu phóng Zoom để phóng to ô Criteria (hành động này gọi là “mở cửa sổ Zoom”). Trong hộp thoại Zoom gõ tiêu chí like “*choc*” (gõ luôn các dấu nháy kép) rồi kích OK để đóng. Access sẽ không phân biệt chữ hoa khi tìm chuỗi ký tự. (Thật ra, hộp thoại Zoom không cần ở đây. Tuy nhiên, chúng tôi muốn bạn biết rằng bạn có thể hiển thị hộp thoại này khi cần để bạn có được khoảng không rộng rãi cho ô Fields hay ô Criteria khi gõ vào đó.)

7. Kích dòng thứ hai thuộc dòng Criteria bên dưới cột RetailPrice. (Hãy đảm bảo là tiêu chí này nằm trên dòng khác với dòng tiêu chí ProductDescription.) Gõ biểu thức <10.

8. Kích nút View để xem tập động dynaset. (Vẫn để mở câu truy vấn để làm tiếp bài tập Thử nghiệm dưới đây.)

Tập động dynaset sẽ trả về các dòng được sắp tăng dần theo khóa chính ProductID. Tập động dynaset và câu truy vấn được thể hiện ở Hình 1.25. Thường thì bạn thấy hoặc câu truy vấn hoặc tập động dynaset chứ không thấy cả hai, vì chúng là hai mặt của cùng một “đồng xu”.

Hình 1.25 Dùng tiêu chí or trong câu truy vấn.

Để ý rằng để tạo một truy vấn OR, bạn có số dòng tiêu chí Criteria trong lưới truy vấn QBE bằng số tiêu chí chọn độc lập. Mỗi dòng chứa ký tự, giá trị, hay biểu thức trong một cột. Khi các điều kiện OR chỉ bao gồm một trường, có cách viết tiêu chí khác. Chẳng hạn, giả sử bạn muốn hiển thị các dòng trong bảng sản phẩm mà cột mô tả sản phẩm chứa chocolate hay peanut (đậu phộng). Vì cả hai tiêu chí áp dụng trên cùng một trường, ProductDescription, bạn có thể viết cả hai trên cùng một dòng tiêu chí, phân cách chúng bằng từ khóa OR (viết thường hay hoa):

Like “*peanut*” Or Like “*chocolate*”

Mặc dù hầu hết các hệ cơ sở dữ liệu khác phân biệt chữ thường chữ hoa, Access thì không. Access lờ đi chữ thường chữ hoa và chỉ so khớp dựa trên nội dung. Tuy nhiên, qui tắc so khớp ký tự thay đổi tùy thuộc sản phẩm cơ sở dữ liệu. Bạn phải thí nghiệm điều này trước khi áp dụng. Nếu bạn không dùng Microsoft Access, Chocolate Fudge trong câu truy vấn có thể không khớp với chocolate fudge trong cơ sở dữ liệu.

Dấu hoa thị ở trước và sau từ chocolate là một trong các ký tự thay thế (wildcard). Dấu hoa thị có thể thay cho 0 hay nhiều chữ. Cách này cho kết quả khớp với chuỗi như Dutch German Chocolate, Chocolate Creme, … Dấu hoa thị có thể được dùng ở một trong hai phía hoặc cả hai phía của chuỗi truy vấn bất kỳ. Khi bạn dùng ký tự thay thế cho chuỗi ký tự, Access sẽ tự động thêm từ Like phía trước. Dĩ nhiên, thứ tự chuỗi phân cách bởi OR sẽ không quan trọng.

Điều gì sẽ xảy ra nếu bạn tạo truy vấn với duy nhất một dòng và đặt biểu thức <10 bên dưới RetailPrice và (trên cùng dòng Criteria) Like “*choc*” bên dưới ProductDescription? Chẳng có dòng nào trong tập động dynaset được trả về vì không có dòng nào trong bảng thỏa đồng thời cả hai tiêu chí. Truy vấn đó là một ví dụ qui định tiêu chí AND. Tóm lại, mỗi dòng Criteria sẽ qui định điều kiện phải thỏa toàn bộ.

THỬ NGHIỆM

Hãy sửa truy vấn bạn đã tạo trước đây ở Bài tập 1.12 bằng cách di chuyển tiêu chí <10 lên cùng dòng với tiêu chí Like “*choc*” (bằng cách dùng kỹ thuật cắt dán chuẩn trong Windows). Kích nút View. Bạn thấy gì trong tập động dynaset? Chỉ có một dòng trống xuất hiện. Điều đó nghĩa là không có dòng nào thỏa tiêu chí. Kích phải Query1 tab, kích Close trên pop-up menu, rồi kích No khi được hỏi bạn có muốn lưu các thay đổi không.

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

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Dùng các tiêu chí chọn phức tạp hơn

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Dùng các tiêu chí chọn phức tạp hơn


Giả sử quản lý viên của Incredible Cheesecake Company muốn cô lập mọi dòng hóa đơn trong đó phần trăm giảm giá khác không nhưng bé hơn 11%. Các dòng hóa đơn khách hàng với phần trăm giảm giá bé hơn 11% sẽ được kiểm toán để đảm bảo các đại lượng trong đó là phù hợp. Mặc dù các hóa đơn sẽ không đổi, kết quả sẽ giúp nhân viên tài chính duyệt lại hay điều chỉnh các qui định về giảm giá.

Để đáp ứng yêu cầu trên, quản lý viên có thể tạo truy vấn để trả về mọi dòng trong bảng dòng-hóa-đơn tblInvoiceLines có giá trị trong cột phần trăm giảm giá lớn hơn 0 và bé hơn 11%. Tiêu chí rõ ràng bao gồm hai điều kiện – hai phần trăm khác nhau trong trường hợp này. Hơn nữa, cả hai điều kiện phải đúng để dòng được trả về trong tập động dynaset. Với những tình huống thế này, tiêu chí sẽ dùng toán-tử-logic-và AND. Thật vậy, bạn có thể dùng toán-tử-và AND trong tiêu chí khi bạn chọn dòng dựa trên vùng giá trị trong một cột bảng. Tiêu chí thời điểm bạn đã dùng trước đây (between #2/16/2012# and #2/29/2012#) đã dùng toán-tử-và AND cùng với “between” để lọc dòng.

Với truy vấn này, không phải mọi cột trong bảng dòng-hóa-đơn tblInvoiceLines sẽ được kê ra. Chỉ cần kê ra cột số lượng quantity, đơn giá unit price charged, và phần trăm giảm giá discount. Trong ví dụ này, ta bao gồm một tập con các cột thuộc bảng dòng-hóa-đơn tblInvoiceLines trong tập động dynaset. Để chuẩn bị cho bài tập kế, hãy đóng tất cả các tab bằng cách kích phải một tab bất kỳ rồi kích Close All.

BÀI TẬP 1.11: TẠO CÂU TRUY VẤN VỚI TOÁN-TỬ-VÀ “AND”

1. Kích tab lệnh CREATE rồi kích Query Design trong nhóm Queries.

2. Kích kép tên bảng tblInvoiceLines trong hộp thoại Show Table rồi kích nút Close.

3. Kích Quantity trong danh sách trường bảng tblInvoiceLines, giữ xuống phím Ctrl, rồi kích lần lượt UnitPriceChargedDiscount. Thả phím Ctrl.

4. Kích vào trong bất kỳ trường đã chọn ở danh sách trường bảng, kéo danh sách đó vào ô đầu tiên trong dòng Field, rồi thả nút chuột. Khi bạn thả nút chuột, Access sẽ đặt 3 trường vào 3 ô khác nhau trên dòng Field thuộc lưới QBE.

5. Kích ô tiêu chí Criteria bên dưới cột phần trăm giảm giá Discount rồi gõ >0 and < 0.11 để xác lập tiêu chí chọn. (Đặt một khoảng trống trước và sau từ and. Không cần khoảng trống sau ký hiệu > hay <.) Nhấn Enter hay Tab để hoàn tất việc nhập. Để ý rằng Access tự động viết hoa từ And nếu bạn gõ đúng. Nếu bạn gõ trật, kích ô tiêu chí, sửa lỗi, rồi nhấn Enter.

6. Kích Ascending (tăng dần) trong ô sắp xếp Sort bên dưới cột Quantity để sắp kết quả theo cột Quantity.

7. Kích nút View trong nhóm Results thuộc tab lệnh ngữ cảnh DESIGN để xem kết quả truy vấn (xem Hình 1.22).

Hình 1.22 Dùng toán-tử-và and trong tiêu chí.

8. Khi bạn khảo sát xong tập động dynaset, kích phải tab câu truy vấn rồi kích Close All để đóng mọi cửa sổ đang mở.

9. Kích No khi được hỏi bạn có muốn lưu truy vấn vừa tạo không.

Hãy xét cẩn thận biểu thức trong lưới QBE ở Hình 1.22 trên dòng Criteria cột Discount. Biểu thức đó sẽ lọc dòng, chỉ chọn những dòng có giá trị phần trăm giảm giá Discount thuộc miền giá trị đã cho.

Ba ký hiệu mới và một toán tử logic đã được đưa vào tiêu chí. Toán-tử-và and phân cách hai biểu thức. Điều này qui định vế trái và vế phải đồng thời phải thỏa. Nói cách khác, dòng chỉ được hiển thị nếu giá trị phần trăm giảm giá lớn hơn 0 và bé hơn 0.11.

Bạn rất có thể đã quen với các ký hiệu lớn hơn (>) và bé hơn (<). Đây là hai toán tử so sánh mà Access cung cấp. Danh sách đầy đủ các toán tử so sánh được trình bày ở Hình 1.23. Danh sách các toán tử logic được trình bày ở Hình 1.24.

Hình 1.23 Các toán tử so sánh.

Hình 1.24 Các toán tử logic.

Khi muốn dùng tiêu chí đồng thời trên hai trường trở lên, bạn đặt các điều kiện đó dưới tên cột tương ứng trên dòng Criteria thuộc lưới truy vấn. Chẳng hạn, giả sử bạn muốn liệt kê mọi hóa đơn liên quan đến một nhà vận chuyển cụ thể vào tháng cụ thể trong năm đã cho. Truy vấn này bao gồm một tổ hợp các tiêu chí tương tự các truy vấn bạn đã tạo trong những bài tập trước.

Thứ Ba, 5 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Sắp xếp kết quả

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Sắp xếp kết quả


Thông thường, Access hiển thị tập động dynaset theo thứ tự khóa chính của bảng. (Chẳng hạn, cột khóa của bảng hóa đơn tblInvoices là InvoiceID.) Nếu bảng mà câu truy vấn tham chiếu không có khóa chính thì các dòng tập động dynaset không được hiển thị theo một thứ tự đặc biệt nào. Tuy nhiên, bạn có thể qui định thứ tự sắp – như đã làm trong ví dụ trước – để các dòng tập động dynaset được hiển thị theo một thứ tự có nghĩa và hữu ích hơn. Bạn qui định thứ tự sắp bằng cách chọn Ascending (tăng dần) hay Descending (giảm dần) bên dưới cột thích hợp trong dòng Sort thuộc lưới QBE. Có thể qui định thứ tự sắp trên nhiều dòng. Trong trường hợp đó, thứ tự sắp được qui định từ trái sang phải.

THỬ NGHIỆM

Hãy hiển thị truy vấn qryFebFedEx ở góc nhìn Design, rồi kích dòng Sort dưới cột đầu tiên. Chọn Ascending hay Descending từ danh-sách-sổ-xuống. Nếu cần, tiếp tục chọn các cột bên phải trong lưới QBE. Bạn có thể chọn Ascending hay Descending cho cột bất kỳ, nhưng cột nào ở bìa trái có ô Sort không trống sẽ là cột sắp xếp chính. Tầm quan trọng của các cột sắp xếp khác được xác định qua vị trí tương đối của chúng trong lưới QBE, từ trái sang phải. Bạn có thể muốn kéo một hay nhiều cột sang trái để nâng tầm ảnh hưởng của chúng trong thứ tự sắp. Tốt hơn là bạn thêm cột vào bên phải tất cả các cột truy vấn hiện có để qui định thứ tự sắp cho từng cột. Hãy để trống ô Show cho các cột lặp để dùng chúng cho sắp xếp, nhưng không hiển thị trong tập động dynaset. Kích phải câu truy vấn, kích Close trong pop-up menu, rồi kích No khi được hỏi “Do you want to save the changes to the design of query ‘qryFebFedEx’?” (Bạn muốn lưu những thay đổi trên thiết kế câu truy vấn ‘qryFebFedEx’ không?) Hành động đó sẽ đóng câu truy vấn mà không lưu những thử nghiệm bạn vừa làm.

Thứ Hai, 4 tháng 4, 2016

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

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Lưu câu truy vấn


Bạn có thể hỏi tại sao cần lưu câu truy vấn nếu nó không đổi. Mặc dù định nghĩa câu truy vấn có thể không đổi (trừ phi bạn đổi nó), các dòng mà câu truy vấn rút trích có thể đổi. Chẳng hạn, một khi bạn đã tạo một truy vấn linh hoạt để rút trích các khách hàng có hóa đơn quá hạn hơn 59 ngày, kết quả tập động dynaset sẽ đổi theo thời gian, tuy câu truy vấn không đổi. Đó là lý do tại sao bạn nên lưu truy vấn để dùng về sau. Nhờ lưu truy vấn, sau này bạn có thể chạy lại để được thông tin kịp thời chính xác về những thay đổi dữ liệu. Bạn không thể lưu tập động dynaset vì đó không phải là một đối tượng. Tập động dynaset đơn thuần hiển thị dữ liệu từ bảng mà thỏa tiêu chí đã cho. (Bạn có thể tạo truy vấn đặc biệt, gọi là truy vấn tạo bảng Make Query, có thể lưu tập động dynaset vào một bảng. Sau này ta sẽ khảo sát truy vấn đó cùng các kiểu truy vấn đặc biệt khác ở Chương 4.)

Bạn lưu một truy vấn mới hay truy vấn bị thay đổi bằng cách chọn Save hay Save Object As từ FILE tab menu (hay kích nút Save trên thanh công cụ truy xuất nhanh Quick Access Toolbar).

THỬ NGHIỆM

Với truy vấn mới bạn đã tạo ở Bài tập 1.10 còn đang mở (ở góc nhìn Design hay Datasheet), kích nút Save trên thanh công cụ truy xuất nhanh Quick Access Toolbar. Gõ tên qryFebFedEx vào ô Query Name. Kích OK. Câu truy vấn được lưu. Kích phải qryFebFedDex tab rồi kích Close để đóng cửa sổ.

Chủ Nhật, 3 tháng 4, 2016

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

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Tạo truy vấn trên một bảng


Bạn có thể tạo các truy vấn mới bằng phương pháp truy vấn qua ví dụ Query by Example (QBE). Chẳng hạn, giả sử bạn muốn có danh sách tất cả các khách hàng có hóa đơn trễ hạn từ 60 ngày trở lên. Việc in và hiển thị bảng hóa đơn invoices sẽ không thỏa mãn vì Access sẽ in tất cả các hóa đơn có trong bảng. Điều bạn cần là một cách duyệt tất cả hóa đơn, định vị và hiển thị chỉ những hóa đơn trễ hơn 59 ngày.

Cách tốt nhất để có kết quả mong muốn là tạo truy vấn. Có nhiều cách tạo truy vấn. Bạn có thể tạo truy vấn từ đầu hay có thể dùng Query Wizard. Việc tạo truy vấn bắt đầu bằng cách kích tab lệnh CREATE. Sau đó kích nút Query Wizard hay Query Design trong nhóm Queries. Nếu bạn tạo truy vấn theo cách thủ công, lưới truy vấn sẽ mở lên (chẳng hạn xem Hình 1.19) và bạn thêm trường và tiêu chí để ra lệnh Access tìm trong bảng hóa đơn invoices tất cả hóa đơn đã trễ hơn 59 ngày. Các dòng thỏa điều kiện sẽ xuất hiện trong tập động dynaset khi bạn thi hành câu truy vấn.

Ta hãy đi qua quá trình tạo một truy vấn chọn đơn giản nhằm tìm kiếm trong bảng hóa đơn tblInvoices rồi trả về một tập con các dòng. Bạn sẽ tạo một truy vấn liệt kê tất cả các dòng hóa đơn trong đó nhà vận chuyển là FedEx và ngày lập hóa đơn trong đoạn từ 2/16/2012 đến 2/29/2012 (2012 là năm nhuận). Bạn muốn định vị các dòng đó vì bạn phát hiện rằng FedEx đã sai sót về phí vận chuyển trong giai đoạn đó. Đây là cách đơn giản kiểm tra các dòng trong bảng hóa đơn invoices. Hãy chuẩn bị làm bài tập bằng cách đóng tất cả tabs đang mở, kích phải một tab bất kỳ rồi kích Close All trong pop-up menu.

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

1. Kích tab lệnh CREATE rồi kích Query Design trong nhóm Queries. Hộp thoại Show Table mở ra. (Nếu không thì kích Show Table trong nhóm Query Setup thuộc tab lệnh ngữ cảnh DESIGN.)

2. Kích kép tblInvoices trên Tables tab trong hộp thoại Show Table; kích nút Close trong hộp thoại Show Table.

3. Kích kép thanh tiêu đề danh sách trường, danh sách này thuộc nửa trên của cửa sổ thiết kế truy vấn. Các trường trong danh sách sẽ được làm nổi bật. Kích vào trong tên cột rồi kéo chúng vào ô ở bìa trái trên dòng Field thuộc lưới truy vấn. Sáu ô sẽ được điền tên 6 trường.

4. Kích ô trên dòng Criteria (tiêu chí) dưới cột InvoiceDate (thời điểm lập hóa đơn) rồi gõ biểu thức dưới đây. Sau khi gõ xong, nhấn Enter để hoàn thành biểu thức.

Between #2/16/2012# and #2/29/2012#

(các thời điểm được bao quanh bởi ký hiệu # để Access biết rằng đó là thời điểm, không phải biểu thức số học.)

5. Kích ô trên dòng Sort (sắp xếp) thuộc cột InvoiceDate, kích mũi tên bên phải ô, rồi chọn Ascending (tăng dần) trong danh sách để sắp dòng theo cột InvoiceDate. (Một cách khác: kích dòng Sort, gõ a, rồi nhấn Enter.)

6. Kích ô Criteria dưới cột  Shipper (nhà vận chuyển) – cùng dòng với tiêu chí thời điểm. Đây là phần khá mưu mẹo: Gõ 2 (đừng thêm bất kỳ dấu chấm câu nào) vào ô. Điều này có vẻ phản trực quan, nhưng cột Shipper thật ra chứa giá trị số ứng với tên nhà vận chuyển thuộc bảng khác. Tiêu chí phải khớp giá trị số, không phải chuỗi văn bản chẳng hạn “FedEx”. Giá trị 2 ứng với công ty vận chuyển FedEx. Hình 1.20 trình bày bản thiết kế truy vấn hoàn chỉnh. (Cột InvoiceDate rộng hơn để bạn có thể xem toàn bộ tiêu chí.)

Hình 1.20 Thiết kế truy vấn với các tiêu chí và điều kiện sắp xếp.

7. Kích nút View trong nhóm Results thuộc tab lệnh ngữ cảnh DESIGN để xem tập động dynaset. Tập động dynaset ở Hình 1.21 hiển thị kết quả truy vấn – những lần chuyển hàng của FedEx vào nửa cuối tháng 02/2012. (Hãy để nguyên kết quả truy vấn cho đến khi bạn làm bài tập Thử nghiệm dưới đây.)

Hình 1.21 Tập động dynaset từ câu truy vấn trên một bảng.

Thứ Bảy, 2 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Dùng câu truy vấn

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Dùng câu truy vấn


Giả sử bạn thuộc phòng tiếp thị của Incredible Cheesecake Company và bạn muốn có danh sách tất cả các khách hàng sống ở Arcata, California. Hơn nữa, bạn muốn danh sách được sắp theo zip code (mã bưu cục). Vì bạn có kế hoạch gửi tài liệu đến các khách hàng đó, bạn muốn tên và địa chỉ khách hàng (kèm theo zip code). Tuy nhiên, bạn không cần mã khách hàng. Để trích thông tin cần thiết, bạn tạo truy vấn bằng cách trưng cho Access một ví dụ về điều bạn muốn. Hình 1.19 trình bày thiết kế và tập kết quả động của câu truy vấn. Nhắc lại là để hiển thị cả hai cửa sổ, bạn sẽ phải sửa giao diện thành “Overlapping Windows” trong hộp thoại Access Options. Một lần nữa, bạn không được khuyên làm thế.

Hình 1.19 Thiết kế và tập kết quả động của một truy vấn.

Hãy thử thi hành câu truy vấn trên để quan sát quá trình hình thành câu hỏi. Câu truy vấn ở Hình 1.19 đã được lưu vào cơ sở dữ liệu Chương 1 với tên qryArcataCustomers. Bằng cách dùng tiền tố “qry” trên mọi tên truy vấn, ta có thể dễ dàng phân biệt câu truy vấn với các đối tượng cơ sở dữ liệu khác.

Một chú thích về việc đặt tên đối tượng: Ta theo qui ước là tên truy vấn có tiền tố qry sau đó là tên truy vấn. Khoảng cách trong tên đối tượng có thể gây phiền hà nên bạn cần tránh. Chẳng hạn, tên qryNewCustomers được chuộng hơn tên qry New Customers, với khoảng cách giữa các từ. Hãy dồn các từ lại với nhau và phân biệt chúng bằng chữ đầu của mỗi từ được viết hoa ngoại trừ tiền tố (tbl, qry, frm, và rpt). Định dạng này được gọi là ký pháp lạc đà (camel case) và được dùng rộng rãi trong công nghiệp phần mềm.

Bài tập kế minh họa việc dùng một truy vấn có sẵn. Đầu tiên hãy khởi động Access nếu cần, và đảm bảo cơ sở dữ liệu Ch01 đang mở, rồi hoàn thành bài tập sau để mở và thi hành một truy vấn.

BÀI TẬP 1.9: THI HÀNH MỘT TRUY VẤN

1. Trong phân loại Queries ở Navigation Pane, kích kép qryArcataCustomers. (Việc kích kép tên đối tượng trong Navigation Pane là cách mở nhanh nhất ở góc nhìn Datasheet.) Một cách khác, bạn có thể kích phải tên truy vấn rồi kích Open trong pop-up menu. Tập động dynaset sẽ xuất hiện hiển thị kết quả truy vấn.

2. Sau khi xem xét kết quả, kích phải tab của câu truy vấn rồi kích Close trong pop-up menu.

Tập động dynaset hiển thị các khách hàng sống ở Arcata, California, sắp theo zip code. Các dòng được trích từ bảng khách hàng tblCustomers. Nếu bạn tò mò về cấu trúc câu truy vấn, hãy kích phải tên câu truy vấn ở Navigation Pane rồi kích Design View (góc nhìn thiết kế) trong pop-up menu.