Thứ Tư, 23 tháng 3, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Các đối tượng Access

James Perry, Richard Newmark


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


Các đối tượng Access


Access cung cấp nhiều cách lưu trữ, hiển thị, và báo cáo dữ liệu. Các cấu trúc và phương pháp dùng để lưu trữ và hiển thị dữ liệu được gọi là đối tượng. Các đối tượng Access bao gồm bảng (tables), câu truy vấn (queries), forms (biểu mẫu), báo cáo (reports), macros, và mã (code). Tài liệu này diễn giải cách dùng các đối tượng đó, nhấn mạnh 4 đối tượng đầu – là bảng, câu truy vấn, forms, và báo cáo. Phần này chứa tổng quan về 4 trong 6 lớp đối tượng quan trọng, và chỉ cách dùng chúng để xây hệ thông tin kế toán. Các phần tiếp theo sẽ dùng bảng, câu truy vấn, forms, và báo cáo chứa sẵn trong cơ sở dữ liệu Chương 1. Việc khảo sát các đối tượng này sẽ minh họa cách tổ chức và tra cứu thông tin bằng một hệ cơ sở dữ liệu, là trung tâm của hệ thông tin kế toán. Thỉnh thoảng trong chương, bạn được yêu cầu tạo những bảng nhỏ, câu truy vấn ngắn, forms đơn giản, và báo cáo nhỏ để thực hành.

Bảng (Tables). Bảng là cấu trúc lưu trữ dữ liệu cơ bản và là nơi duy nhất lưu trữ dữ liệu trong hệ quản trị cơ sở dữ liệu. Bảng là đối tượng hai chiều gồm dòng và cột. Mỗi dòng chứa mọi thông tin có thể có về một hạng mục cụ thể. Ta có thể dùng thuật ngữ bản ghi (record) thay cho thuật ngữ dòng. Mọi dòng đều có cùng số cột, mặc dù không nhất thiết mọi cột trong dòng phải chứa giá trị. Đôi khi có ô trống. Theo thuật ngữ cơ sở dữ liệu, giá trị trống được gọi là null. Giá trị null rất quan trọng, thể hiện rằng giá trị đó là “không biết”.

Hãy xét bảng chứa thông tin khách hàng. Một công ty nhỏ với 67 khách hàng lưu dữ liệu khách hàng – gồm tên, địa chỉ, hạn mức tín dụng, … – vào bảng. Mỗi cột khách hàng là một trường thông tin cụ thể. Thuật ngữ trường (field) và cột (column) là những từ đồng nghĩa. Mỗi cột chứa một kiểu (hay loại) thông tin. Chẳng hạn, một cột chứa địa chỉ tên đường của từng khách hàng; một cột chứa tên công ty của từng khách hàng; và một cột chứa thành phố và bang của từng khách hàng. Hình 1.7 là ví dụ về một bảng Access nhỏ lưu dữ liệu khách hàng. (Một số cột đã được định lại cỡ để làm tên và giá trị cột được hiển thị đầy đủ.) Khác biệt chính giữa bảng khách hàng này và bảng trong thực tế là kích cỡ - hầu hết bảng khách hàng chứa hàng ngàn, thậm chí hàng triệu dòng. Hơn nữa, bảng dữ liệu khách hàng thường chứa nhiều cột. Ví dụ này chủ ý làm nhỏ để bạn hiểu được các nguyên tắc của bảng cơ sở dữ liệu mà không cần thêm độ phức tạp về dung lượng dữ liệu lớn.

Hình 1.7 Bảng ví dụ chứa thông tin cơ bản của khách hàng.

Để ý rằng mỗi cột chỉ chứa một kiểu dữ liệu. Đây là qui tắc quan trọng cần nhớ khi tạo bảng. Mỗi dòng chứa thông tin về một khách hàng, và chỉ dữ liệu của một khách hàng được lưu trong dòng đã cho. Mặc dù bảng khách hàng này chỉ chứa dữ liệu nguyên và ký tự, các trường bảng Access cũng có thể chứa các kiểu dữ liệu Date/Time (thời điểm), Currency (tiền tệ), AutoNumber (số nguyên tăng tự động), Yes/No (có hoặc không), OLE Object, Hyperlink, Attachment (đính kèm), và Calculated (được tính toán). (Ta sẽ thảo luận các kiểu dữ liệu này sau.)

Ở đỉnh mỗi cột là tên cột, gọi là thuộc tính (attribute), dùng nhận diện tính duy nhất của cột đó. Mỗi dòng ứng với một khách hàng. Dòng không thể phân chia. Nghĩa là dữ liệu trong dòng luôn gắn liền với dòng, cả khi các dòng được sắp xếp hay được hiển thị theo một thứ tự khác. Mặc dù các dòng không có thứ tự, chúng có thể được sắp theo một trật tự có nghĩa khi cần. Đây là một trong những ưu điểm của hệ cơ sở dữ liệu quan hệ: thứ tự các dòng trong bảng không quan trọng. Nói cách khác, bạn không phải lo lắng về thứ tự nhập liệu vào bảng. Không dòng nào quan trọng hơn dòng nào.

Thứ tự các cột trong bảng cũng không quan trọng. Chúng được đặt theo một thứ tự tùy ý từ trái sang phải. Bảng tblCustomers đã được thiết kế để mã khách hàng ở vị trí đầu – thói quen chung là đặt định danh duy nhất của dòng ở cột đầu, mặc dù không bắt buộc. Nói cách khác, không có ẩn ý hay tầm quan trọng nào hiện diện trong việc bố trí cột. Trường CustomerID chứa các giá trị duy nhất. Không có trường hợp 2 khách hàng có cùng định danh. Kiểu trường này được gọi là khóa chính (primary key) của bảng. Sau này bạn sẽ học nhiều hơn về khóa chính.

Câu truy vấn (queries). Có một số kiểu truy vấn, nhưng truy vấn thông dụng nhất được gọi là truy vấn chọn (selection query). Truy vấn chọn là yêu cầu bạn có thể nêu về cơ sở dữ liệu.  (Vì truy vấn chọn là kiểu thường dùng nhất nên được goi tắt là câu truy vấn.) Chẳng hạn, một truy vấn phát biểu bằng tiếng Việt có thể là “Những khách hàng nào sống ở Fortuna, CA?” hay “Những hóa đơn khách hàng nào quá hạn trên 60 ngày?” (Không thể trả lời truy vấn thứ hai với chỉ một bảng. Ta sẽ phải nối nó với một bảng khác để trả lời truy vấn đó.) Các truy vấn đặc biệt hữu ích khi kết hợp thông tin từ nhiều bảng có quan hệ với nhau để cho ra tập kết quả đầy đủ và duy nhất. Truy vấn còn là cách giảm dung lượng dữ liệu bằng cách chỉ hiển thị tập con gồm những dòng trong bảng mà bạn quan tâm. Có thể dùng truy vấn để tổng kết dữ liệu, chỉ hiển thị kết quả tổng hợp. Chẳng hạn, có thể yêu cầu Access tính tổng tất cả các hóa đơn chưa trả từ bảng hóa đơn (được lưu trong bảng tblInvoices thể hiện ở Hình 1.7). Các kiểu truy vấn khác sẽ chèn dữ liệu mới vào bảng, xóa dữ liệu không muốn khỏi bảng, hay thay đổi giá trị trong một hay nhiều cột bảng. Các truy vấn sẽ tạo điều kiện chọn bảng liên quan đến yêu cầu của bạn, chỉ định cột nào bạn muốn thấy, và đặc tả dòng nào cần lấy ra.

Cấu trúc của một truy vấn được gọi là thiết kế (design) của nó. Kết quả truy vấn, gọi là tập hợp động hay tập động (dynaset), được hiển thị trong cửa sổ Query. Hình 1.8 trình bày ví dụ về thiết kế của một truy vấn và tập động của nó trong hai cửa sổ riêng. (Để thấy được kết quả như Hình 1.8, kích FILE, kích Options, kích Current Database ở khung bên trái, kích Overlapping Windows của Document Window Options, rồi kích OK. Sau đó đóng và mở lại cơ sở dữ liệu Chương 1. Tuy nhiên, tốt nhất là đừng thay đổi tùy chọn này trên máy tính của bạn.) Chỉ những cột xuất hiện trong thiết kế truy vấn mới xuất hiện trong tập động dynaset. Những đánh dấu (có 2 trong ví dụ này) trong dòng Show (hiển thị) của lưới truy vấn (query grid) chỉ định những cột nào xuất hiện trong tập động dynaset. Trường thứ hai thật ra là biểu thức tính tổng doanh thu theo từng tên sản phẩm và làm tròn kết quả đến 2 chữ số thập phân. Dòng Sort (sắp xếp) trong cột thứ hai của thiết kế truy vấn chứa “Descending”, nghĩa là kết quả được sắp thứ tự từ cao xuống thấp trên các giá trị của trường đó. Biểu thức >8765, gọi là tiêu chuẩn chọn (selection criterion), sẽ lọc các dòng qua đó hạn chế những dòng được trả về là những dòng thỏa các điều kiện được đặc tả trong tiêu chuẩn – ở trường hợp này là những dòng có tổng doanh thu lớn hơn $8,765.

Hình 1.8 Ví dụ về câu truy vấn và tập động.

Forms (biểu mẫu). Thường sẽ tốt hơn nếu làm việc với dữ liệu bảng mỗi lần một dòng. Bảng không là giao diện trực quan với nhiều người, đặc biệt với người không quen làm việc với cơ sở dữ liệu. Access forms giải quyết vấn đề này. Forms hiển thị dữ liệu từ bảng hay từ câu truy vấn ở dạng dễ hiểu hơn. Bạn có thể xem một hay nhiều dòng trong bảng. Hình 1.9 trình bày form ví dụ hiển thị thông tin khách hàng, từ bảng tblCustomer, trong một giao diện hấp dẫn và trực quan.

Hình 1.9 Form ví dụ hiển thị thông tin khách hàng.

Form có thể là cách dễ dàng hơn khi xem và thay đổi dữ liệu lưu trong cơ sở dữ liệu. Một trong những bản ghi xuất hiện trong form. Có thể chuyển đến bản ghi kế, bản ghi trước, bản ghi đầu hay cuối bằng cách kích các nút di chuyển ở góc trái dưới của cửa sổ. Có thể đến một bản ghi cụ thể bằng cách đến ô số bản ghi, gõ số bản ghi, rồi nhấn phím Emter. Nút mũi tên phải sẽ di chuyển mỗi lần một bản ghi, hiển thị bản ghi kế trong form. Nút mũi tên phải có vạch đứng ở bên phải của nó sẽ chuyển ngay đến bản ghi cuối. Hành vi ngược lại sẽ áp dụng cho các nút mũi tên trái.

Báo cáo (reports). Hãy hình dung việc trình bày cho nhiều người dự họp bản báo cáo tài chính từ màn hình máy tính xách tay của bạn. Đó là cách kỳ cục và không chuyên nghiệp. Bản in giấy – tức báo cáo Access – là giải pháp hay hơn. Bằng việc chuẩn bị sẵn báo cáo, bạn có thể dễ dàng phát cho mọi người. Access cung cấp phương tiện phát sinh báo cáo toàn diện, bạn sẽ tìm hiểu sâu về nó ở Chương 6.

Báo cáo Access thường là kết xuất giá trị nhất do hệ cơ sở dữ liệu sản sinh. Ngoài việc quan trọng là lưu thông tin nợ phải thu vào cơ sở dữ liệu và truy vấn cơ sở dữ liệu để được đáp ứng, hoạt động có tầm quan trọng tương tự là phát sinh kết quả in ấn. Chẳng hạn, bạn có thể muốn liệt kê tất cả khách hàng đã quá hạn chi trả 60 ngày. Nếu có hơn vài chục khách hàng như thế, thì báo cáo in ấn là kết xuất hữu ích nhất. Bạn có thể duyệt qua danh sách, đánh dấu những tài khoản cần đặc biệt quan tâm. Bạn cũng có thể in ra rồi chuyển đến các bộ phận và quản lý viên thích hợp.

Bạn có thể dùng các đặc trưng và công cụ thiết kế báo cáo của Access để tùy chỉnh báo cáo theo mong muốn. Báo cáo có thể hiển thị dữ liệu từ một hay nhiều bảng có quan hệ với nhau. Hình 1.10 trình bày ví dụ về một báo cáo đơn giản gồm biểu tượng công ty, đầu đề cột hấp dẫn, và các khách hàng được sắp xếp và được nhóm theo tên thành phố. Mọi dữ liệu báo cáo đều đến từ bảng khách hàng tblCustomers. Báo cáo đơn giản thì dễ tạo và trông chuyên nghiệp. Không như Access, có thể phải mất vài giờ để tạo một báo cáo tương tự khi dùng ngôn ngữ lập trình như Java hay C++, và cần nhiều dòng mã và kỹ năng lập trình để tạo kết quả.

Hình 1.10 Báo cáo minh họa.

Các phần tiếp theo mô tả qui trình sử dụng và tạo bảng, câu truy vấn, forms, và báo cáo. Bạn hãy thực hành các bài tập vì phần còn lại của chương có tính tương tác. Bạn sẽ tiếp thu tốt nhất nếu lặp lại các bước đã trình bày và thật sự sử dụng cũng như tạo các đối tượng. Để giúp bạn trong quá trình này, nhiều bảng, câu truy vấn, forms và báo cáo đã được cấp sẵn để bạn có thể thực hành với chúng. Ngoài ra, tự bạn sẽ tạo một số.

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

Đăng nhận xét