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

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

James Perry, Richard Newmark


Chương 5
Tạo và dùng forms


Mục tiêu


Chương này mở rộng kiến thức Access của bạn bằng việc cung cấp thông tin chi tiết về forms trong Microsoft Access. Bạn sẽ học các ưu điểm khi dùng forms và định nghĩa cũng như dùng forms kế toán. Trong chương, bài tập sẽ chú trọng các kỹ thuật Access rất quan trọng cho việc xây dựng hệ thông tin kế toán. Như những chương trước, chương này định hướng ứng dụng và chứa rất ít lý thuyết. Các bài tập chủ động khuyến khích bạn áp dụng lý thuyết đã học trước đây để tạo forms và báo cáo kế toán điển hình. Cụ thể, bạn sẽ học cách:


  • Dùng forms trong nhiều ứng dụng kế toán.
  • Tạo form với các trường định dạng sẵn và có các yếu tố thẩm mỹ.
  • Thêm các thành phần điều khiển, gồm nhãn, ô văn bản, danh-sách-sổ-xuống vào form.
  • Tạo forms và forms con từ truy vấn và bảng.
  • Tạo navigation form làm form chính, hiển thị khi mở cơ sở dữ liệu.


Ta sẽ tiếp tục dùng hệ cơ sở dữ liệu The Coffee Merchant làm ứng dụng nền cho chương. Cơ sở dữ liệu của chương chứa các đối tượng bạn cần để làm tất cả các bài tập trong chương. Nó có tên là Ch05.accdb.

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

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

James Perry, Richard Newmark


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


Tổng kết


Chương đã trình bày cách tạo và thi hành các truy vấn Access. Truy vấn chọn Select của Access tra dữ liệu từ một hay nhiều bảng để cho ra kết quả tổng hợp, hiển thị các trường dữ liệu có quan hệ với nhau cũng như kết quả tính toán từ các cột bảng. Bạn đã học cách tạo truy vấn bằng cách dùng wizards và bằng tay. Bạn biết cách viết và lưu truy vấn trên một và nhiều bảng có quan hệ với nhau dùng phép nối nội và phép nối ngoại. Truy vấn có thể chứa biểu thức gồm toán tử so sánh, toán tử số học, và ký tự thay thế. Bằng cách dùng truy vấn, bạn có thể tập trung vào những thành phần dữ liệu quan trọng đối với bạn. Bạn đã học các quan hệ một-một, một-nhiều, và nhiều-nhiều giữa các bảng. Bạn đã học về truy vấn có tham biến, cách tạo biểu thức dùng toán tử và trình xây dựng biểu thức Expression Builder, cách dùng hàm toán học và các hàm khác có sẵn trong Access để viết biểu thức. Thỉnh thoảng, bạn cần viết truy vấn bằng ngôn ngữ SQL. Bạn đã học cách dùng lệnh SQL làm tiêu chí trong lưới QBE, và bạn đã tạo truy vấn hoàn toàn bằng SQL. Access còn hỗ trợ các truy vấn hành động gồm truy vấn tạo bảng Make Table, truy vấn sửa Update, truy vấn xóa Delete, và truy vấn nối đuôi Append. Không giống truy vấn chọn Select, tất cả các truy vấn hành động đều sửa nội dung bảng theo một cách nào đó.

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

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Truy vấn nối đuôi Append

James Perry, Richard Newmark


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


Truy vấn nối đuôi Append


Truy vấn Append sẽ thêm các bản ghi trong bảng hay truy vấn này vào cuối bảng kia. Chẳng hạn, bạn có thể dùng truy vấn Append để tạo một bảng nhân viên đầy đủ chứa mọi nhân viên ở mọi chi nhánh của một công ty đa chi nhánh. Chẳng hạn, bảng tblEmployee có thể chỉ là một chi nhánh thuộc một tập đoàn cà phê lớn. Bằng việc tạo một truy vấn Append, bạn có thể thêm các bản ghi nhân viên ở các chi nhánh khác vào bảng tblEmployee.

Để tạo truy vấn Append, chỉ việc tạo truy vấn chọn Select gồm những trường thuộc bảng nguồn mà sẽ có mặt trong bảng đích và những trường được dùng làm tiêu chí. Trong dòng Criteria của truy vấn, lập điều kiện để chọn bản ghi từ bảng khác để nối đuôi vào bảng hiện thời (chẳng hạn, chỉ các nhân viên thuộc chi nhánh 1 và 2). Xem các bản ghi mới bằng cách kích nút Datasheet View. Sau đó chuyển về góc nhìn Design và chọn Append từ nhóm Query Type để chuyển truy vấn Select thành truy vấn Append. Khi hộp thoại Append xuất hiện, nhập tên bảng đích hay chọn nó từ danh-sách-sổ-xuống Table Name. Kích OK để hoàn thành định nghĩa truy vấn.

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

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

James Perry, Richard Newmark


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


Truy vấn xóa Delete


Truy vấn Delete sẽ xóa các bản ghi trong bảng. Nó không dùng để xóa toàn bộ bảng. Để xóa toàn bộ bảng, bạn có thể kích phải tên bảng trong Navigation Pane rồi kích Delete trên pop-up menu. Access sẽ loại bỏ toàn bộ bảng – cấu trúc và dữ liệu – khỏi cơ sở dữ liệu.

Xóa bản ghi là hành động tế nhị hơn nhiều, bạn phải cẩn thận để không xóa sai bản ghi. Một khi đã xóa, các bản ghi không thể được phục hồi. Chẳng hạn, giả sử bạn muốn xóa khỏi bảng tblInvoice mọi hóa đơn (và các dòng hóa đơn tblInvoiceLine quan hệ với chúng) trước ngày 01/01/2012. Một truy vấn Delete với tiêu chí chọn thích hợp sẽ làm được. Đầu tiên, tạo một truy vấn chọn với tiêu chí lọc phù hợp rồi kiểm tra góc nhìn Datasheet của nó để chắc chắn rằng các bản ghi thích hợp xuất hiện trong tập động dynaset – những bản ghi mà Access sẽ xóa. Kế đến, sửa truy vấn thành truy vấn Delete rồi thi hành nó.

Một khi đã định nghĩa đúng truy vấn Delete, bạn chỉ việc thi hành nó để xóa các bản ghi đã định. Vì các dòng trong tnlInvoice và tblInvoiceLine có quan hệ với nhau và bạn “áp dụng toàn vẹn tham chiếu” khi tạo quan hệ giữa hai bảng, Access sẽ hiển thị hộp thoại khuyến cáo cho biết có vi phạm về khóa và hỏi bạn có muốn xóa các bản ghi không. Hình 4.36 trình bày một ví dụ truy vấn Delete nhằm xóa khỏi bảng tblInvoice mọi hóa đơn trước ngày 01/01/2012. Để ý rằng chỉ những trường cần thiết trong lưới QBE là những trường dùng trong tiêu chí. Trong ví dụ này, chỉ cần trường InvoiceDate, vì đó là tiêu chí chọn duy nhất – thời điểm tạo hóa đơn ghi nhận giao dịch. Dĩ nhiên, Access sẽ xóa toàn bộ bản ghi nào thỏa tiêu chí xóa. Khuyến cáo: Nếu bạn bỏ qua tiêu chí trong truy vấn Delete, Access sẽ xóa tất cả các dòng trong bảng. Chỉ còn cấu trúc bảng sau thao tác đó.

Hình 4.36 Một thiết kế truy vấn Delete.

Thứ Ba, 5 tháng 7, 2016

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

James Perry, Richard Newmark


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


Truy vấn sửa Update


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

THỬ NGHIỆM

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

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

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

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

Thứ Hai, 4 tháng 7, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Truy vấn tạo bảng Make Table

James Perry, Richard Newmark


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


Truy vấn tạo bảng Make Table


Bạn có thể tạo bảng mới từ các bảng hiện hữu bằng cách dùng truy vấn Make Table. Giả sử bạn muốn tạo bảng mới từ bảng tblCustomer chỉ chứa khách hàng ở Rhode Island. Bạn có thể tạo ngay truy vấn Make Table, nhưng tốt hơn là tạo truy vấn chọn, kiểm tra tập động dynaset để đảm bảo đạt kết quả mong muốn, chuyển truy vấn chọn thành truy vấn Make Table, rồi thi hành truy vấn Make Table. Thử nghiệm sau sẽ theo qui trình này.

THỬ NGHIỆM

Kích CREATE tab, kích Query Design, rồi kích tblCustomer để thêm bảng vào khung thiết kế truy vấn. Đóng hộp thoại Show Table. Kích kép các tên trường sau để thêm chúng vào dòng Field trong lưới QBE: CustFirstName, CustLastName, CustAddress, CustCity, CustState, và CustZip. Kích ô Criteria bên dưới cột CustState trong lưới QBE, gõ RI, rồi nhấn Enter. (Access sẽ bao quanh bộ lọc văn bản bằng dấu nháy kép.) Kiểm tra kết quả bằng cách kích nút View trong nhóm Results. Sáu dòng khách hàng xuất hiện. Kích nút View lần nữa để trở về góc nhìn Design. Kích nút Make Table trong nhóm Query Type, gõ tên bảng mới MyRhodeIslandCustomers, rồi kích OK. Kích Save trên thanh công cụ truy xuất nhanh Quick Access Toolbar, gõ qmakRICustomers để đặt tên truy vấn, rồi kích OK. (Tiền tố qmak cho biết đây là truy vấn Make Table.) Bây giờ bạn có thể thi hành truy vấn để tạo bảng mới: Ở góc nhìn Design, kích Run trong nhóm Results (xem Hình 4.34). Nếu hộp thoại sau xuất hiện “You are about to paste 6 row(s) into a new table” (bạn chuẩn bị dán 6 dòng vào một bảng mới), kích Yes để đồng ý tạo bảng mới. Đóng truy vấn rồi khảo sát bảng mới MyRhodeIslandCustomers.

Hình 4.34 Thi hành truy vấn Make Table.

Sau khi bạn thi hành truy vấn Make Table, một bảng mới xuất hiện trong danh sách liệt kê ở nhóm Tables thuộc Navigation Pane. Bạn có thể xóa bảng (tuy nhiên bạn có thể muốn lưu truy vấn) bằng cách kích phải tên bảng (tuy nhiên chỉ khi đã đóng bảng), rồi kích Delete trong pop-up menu.

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

Phát triển HTTT kế toán bằng MS Access - Chương 4 - Tạo và thi hành các truy vấn hành động

James Perry, Richard Newmark


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


Tạo và thi hành các truy vấn hành động


Bên cạnh truy vấn chọn, Access cung cấp các kiểu truy vấn khác gọi chung là truy vấn hành động (action queries). Truy vấn hành động là phương tiện mạnh để thay đổi bảng cơ sở dữ liệu. truy vấn hành động có thể tạo bảng mới, xóa bản ghi trong bảng hiện hữu, sửa một hay nhiều trường trong bảng, và thêm bản ghi vào bảng hiện hữu. Truy vấn hành động giống truy vấn chọn như đã đề cập ở phần trước. Khác biệt chính là chúng sửa cơ sở dữ liệu theo cách nào đó, không đơn thuần hiển thị kết quả từ cơ sở dữ liệu. Truy vấn hành động bao gồm tạo bảng Make Table, sửa Update, xóa Delete, nối đuôi Append, và Crosstab.

Với truy vấn tạo bảng Make Table, bạn có thể tra cứu một tập con dòng từ một hay nhiều bảng rồi lưu tập động dynaset dưới dạng bảng. Có lẽ bạn muốn tập trung vào bảng nhỏ hơn hay muốn xuất bảng nhỏ hơn sang Excel để tiếp tục phân tích. Truy vấn Update cho phép bạn sửa thông tin trong cơ sở dữ liệu hiện hữu. Bạn có thể tạo và thi hành một truy vấn sửa để tăng tiền công một giờ cho mọi lập trình viên lên tám phần trăm, chẳng hạn. Truy vấn Delete sẽ chọn và xóa các bản ghi từ một hay nhiều bảng. Bạn có thể thi hành một truy vấn xóa để loại các bản ghi khách hàng đã không liên hệ với văn phòng của bạn trên hai năm. Với truy vấn nối đuôi Append, bạn có thể thêm bản ghi mới vào bảng hiện hữu. Cuối cùng, truy vấn Crosstab tổng kết và kết hợp dữ liệu từ nhiều nguồn để trình bày một kết quả cô đọng, tựa spreadsheet. Phần tới sẽ trình bày cô đọng cách tạo và thi hành bốn kiểu truy vấn này.