Giáo trình Hệ quản trị cơ sở dữ liệu Access (Phần 2)

pdf 52 trang ngocly 3090
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ quản trị cơ sở dữ liệu Access (Phần 2)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_he_quan_tri_co_so_du_lieu_access_phan_2.pdf

Nội dung text: Giáo trình Hệ quản trị cơ sở dữ liệu Access (Phần 2)

  1. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 53 CHƯƠNG 4 MẪU BIỂU Mẫu biểu (Form) dùng để hiển thị và cập nhật dữ liệu. Tổ chức giao diện chương trình. Người ta nói rằng Form chính là “bộ mặt” của các ứng dụng, bởi giao diện người dùng của một ứng dụng hầu như đều thông qua các Form, nên việc thiết kế và thao tác Form là rất quan trọng. Mẫu biểu gồm các ô điều khiển thuộc các thể loại khác nhau và có công dụng khác nhau. Chẳng hạn điều khiển Label (Nhãn) dùng để thể hiện các dòng văn bản, điều khiển Text Box (hộp văn bản) dùng để thể hiện giá trị các trường, các biểu thức hoặc giá trị gõ từ bàn phím . Access luôn cho phép kết hợp form và dữ liệu một cách dễ dàng và đơn giản. Đây là một trong những lý do chính tại sao nó là môi trường phát triển ứng dụng nhanh. Nguồn dữ liệu (nếu có) của mẫu biểu là một bảng hoặc một truy vấn. Khi có nguồn dữ liệu, mẫu biểu dùng để thể hiện và cập nhật dữ liệu cho các trường nguồn. Mẫu biểu không có nguồn dữ liệu (Unbound) thường dùng để tổ chức giao diện chương trình. 1. TẠO MẪU BIỂU BẰNG AUTOFORM VÀ WIZARD Nếu chỉ dùng biểu mẫu để thể hiện và cập nhật dữ liệu thì cách nhanh nhất là dùng cách tạo tự động hoặc bằng Wizard. 1.1 Tạo mẫu biểu bằng AutoForm AutoForm giúp chúng ta tự động tạo được một Form nhanh chóng để biểu hiển thị thông tin từ một bảng/truy vấn trong cơ sở dữ liệu. Các bước thực hiện như sau: Bước 1: Trong cửa sổ Database chọn mục Forms. Xem hình 4.1
  2. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 54 Hình 4.1 Nút New dùng để tạo mẫu biểu mới. Nút Design dùng mở cửa sổ thiết kế mẫu biểu Nút Open dùng để thực hiện mẫu biểu. Ngoài ra tại khung bên phải ta còn thấy xuất hiện lựa chọn “Create Form in Design view”, “Create form using wizard”, đây là hai lựa chọn thường được sử dụng cho phép chúng ta tạo form “tắt” nhanh hơn mà không phải bấm vào New nữa. Bước 2: Bấm nút New ta nhận được cửa sổ hình 4.2 Hình 4.2 Ta thấy có rất nhiều loại AutoForm, ta có thể chọn một loại tuỳ ý, nhưng mỗi loại có những thể hiện khác nhau như: + Columnar: Hiển thị từng mẩu tin riêng biệt + Tabular : Hiển thị nhiều mẩu tin cùng một lúc
  3. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 55 + Datasheet: Hiển thị nhiều mẩu tin cùng một lúc tương tự như một bảng trong chế độ hiển thị Datasheet. Giả sử ta chọn AutoForm: Columnar. Bước 3: Chọn bảng/truy vấn làm dữ liệu nguồn cho Form. Có thể không chọn nếu Form đó không có dữ liệu nguồn. Bước 4: Bấm OK Access sẽ tự động tạo cho ta 1 form như hình 4.3 Hình 4.3 Bước 5: Đặt tên cho mẫu biểu 1.2 Tạo mẫu biểu bằng Form Wizard Tạo Form bằng Wizard là tạo Form bằng cách làm theo từng bước do Access qui định sẵn. Các bước thực hiện như sau: Bước 1: Trong cửa sổ Database chọn mục Forms. sau đó ta có thể chọn luôn “Create form using wizard” bên phải. Xem hình 4.4. Bước 2: Chọn bảng làm dữ liệu nguồn cho Form (trong ví dụ này chọn bảng Khach). Chọn các trường muốn đưa vào mẫu biểu tại cột Available Field, rồi bấm vào nút > để đưa sang cột Selected Fields. Nếu muốn đưa sang tất cả các trường ta bấm nút >>. Nếu muốn bỏ trường nào đã chọn trong cột Select Field thì ta bấm < , muốn bỏ tất cả bấm vào nút: <<. Bấm nút Next để tiếp tục. Bước 3: Chọn dạng thể hiện của Form. Cửa sổ cho phép chọn một trong 4 dạng thể hiện là Columnar, Tablular, Datasheet, Justified, PivotTable, PivotChart. (trong ví dụ này chọn Columnar). Tiếp tục bấm Next.
  4. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 56 Hình 4.4 Bước 4: Chọn một trong các dạng trình bày mẫu biểu trong cửa sổ. Giả sử ở đây ta chọn kiểu Blends. Sau đó bấm Next. Bước 5: Đặt tên cho biểu mẫu tại hộp mầu trắng. Access dùng tên bảng/truy vấn nguồn làm tên mẫu biểu mặc định. Ta có thể giữ nguyên hoặc thay đổi theo ý muốn. Xem hình 4.5. Hình 4.5 Bước 6: Bấm phím Finish để kết thúc, ta có Form như hình 4.6
  5. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 57 Hình 4.6 Nhận xét: Trong cả hai cách tạo Form là Auto và Wizard đều cho phép tạo mẫu biểu dưới dạng đồ thị (GRAPH), khi đó ta chọn PrivotChart. Sau khi sử dụng Auto hoặc Wizard ta có thể mở Form ở chế độ Design để có thể thiết kế thêm theo ý mình. 2. THIẾT KẾ FORM Ở CHẾ ĐỘ DESIGN 2.1 Các thành phần trong một Form Form (mẫu biểu) gồm 5 thành phần: Đầu biểu (Form Header) Đầu trang (Page Header) Thân (Detail) Cuối trang (Page Footer) Cuối biểu (Form Footer) Xem hình 4.7 ta sẽ thấy được các thành phần của Form: Hình 4.7 Để hiện(ẩn) các thành phần đầu/cuối biểu hoặc đầu /cuối trang ta chọn menu View, Form Header/Footer hoặc Page Header/Footer. Ý nghĩa: - Đầu biểu, Cuối biểu (Form Header / Foom Footer): + Dùng để trình bày tiêu đề, hướng dẫn sử dụng các nút lệnh + Có thể không in đầu biểu bằng cách đặt giá trị Screen Only vào thuộc tính Display when1 + Có thể không cho hiển thị đầu biểu (khi thực hiện Form) bằng thuộc
  6. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 58 tính: Visible: No - Đầu trang, cuối trang (Page Header, Page Footer): chỉ xuất hiện khi in Thân biểu (Detail): Chứa các ô điều khiển buộc vào các trường nguồn. Thuộc tính của mẫu biểu và các thành phần của nó: Từng thành phần (trong 5 thành phần của mẫu biểu) có bảng thuộc tính riêng. Mẫu biểu cũng có bảng thuộc tính. Muốn mở bảng thuộc tính của đối tượng nào ta làm như sau: + Đầu tiên chọn đối tượng cần mở bảng thuộc tính + Sau đó: hoặc chọn Properties trong menu View hoặc bấm nút phải chuột chọn Properties. 2.2 Các bước thiết kế Form 2.2.1 Các bước thiết kế Bước 1: Tại cửa sổ Database chọn Forms và bấm nút New, chọn Design View. Tại đây ta có thế chọn bảng/truy vấn làm dữ liệu nguồn cho Form. Bước 2: Thiết kế nội dung của Form nhờ hộp công cụ. Tại đây ta có thể đưa vào Form những điều khiển, căn chỉnh, trang trí Form, Bước 3: Ghi và đặt tên cho Form. Các loại điều khiển thông dụng Hộp căn bản (Text Box): Dùng để nhập và hiển thị dữ liệu Nhãn (Label): Dùng để viết tiêu đề của Form và của các hộp văn bản Hộp lựa chọn (Combo box): Dùng để lựa chọn dữ liệu có sẵn Hộp danh sách (List Box): Dùng chọn dữ lliệu có sẵn trong một danh sách Nút lệnh (Command Button): Dùng để thực thi một lệnh nào đó Nhóm lựa chọn (Option Group): Thể hiện một nhóm các lựa chọn Cách dùng các điều khiển: + Bound: Điều khiển buộc vào một trường, dùng để truy xuất tới trường đó
  7. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 59 + Unbound: Điều khiển không buộc, không liên quan đến trường nào cả, dùng để: Nhập dữ liệu từ bàn phím, Trình bày tiêu đề, trang trí hình vẽ, hộp đường + Calculated: điều khiển tính toán, dùng để thể hiện giá trị của một biểu thức Cách tạo một điều khiển - Chọn loại diều khiển: Bấm vào nút tương ứng trên hộp công cụ. - Di chuyển đến vị trí cần đặt điều khiển vào biểu mẫu và bấm chuột. - Thực hiện các sửa đổi cần thiết. 2.2.2 Chọn đồng thời các ô điều khiển Có thể chọn đồng thời các ô điều khiển theo các cách sau: + Kết hợp giữa phím Shift và chuột + Bấm chuột tại một vị trí trên thước dọc mép trái mẫu biểu để chọn các điều khiển trên cùng một hàng chứa vị trí bấm. + Bấm chuột một vị trí trên thước ngang (mép trên biểu mẫu) để chọn các điều khiển trên cùng một cột chứa vị trí bấm. + Có thể dùng phím Shift và cách bấm trên thước để chọn đồng thời các điều khiển nằm trên nhiều hàng, nhiều cột. + Để chọn các điều khiển nằm trên các hàng liên tiếp, ta di chuột tới hàng đầu tại thước dọc, rồi kéo chuột theo thước tới hàng cuối. + Để chọn các điều khiển nằm trên các cột liên tiếp, ta di chuột tới cột đầu tại thước ngang, rồi kéo chuột theo thước tới cột cuối. Status Bar Text: hướng dẫn sử dụng điều khiển (hướng dẫn này sẽ hiện tại dòng trạng thái) Để di chuyển các ô/nhóm điều khiển ta chọn ô/nhóm cần di chuyển, sau đó kéo đến vị trí mới. 2.2.3 Định vị các ô điều khiển Có thể định vị các ô theo các khả năng sau: + Gióng thẳng theo mép trái của điều khiển đứng bên trái nhất (căn trái)
  8. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 60 + Gióng thẳng theo mép phải của điều khiển đứng bên phải nhất (căn phải) + Gióng thẳng theo mép trên của điều khiển đứng bên trên nhất (căn trên) + Gióng thẳng theo mép dưới của điều khiển đứng bên dưới nhất (căn dưới) Thao tác như sau: Chọn các ô điều khiển cần định vị, chọn Form/Align và chọn: + Left để căn trái + Right để căn phải + Top để căn trên + Bottom để căn dưới Cách đều các ô điều khiển + Cách đều theo hàng: Chọn Format/ Horizontal Spacing/ Make Equal Kết quả các ô đầu hàng và cuối hàng không thay đổi vị trí. Các ô khác được dịch chuyển sao cho khoảng cách giữa hai ô trong hàng bằng nhau. + Cách đều theo cột: Chọn Format/Vertical Spacing/ Make Equal Kết quả các ô đầu cột và cuối cột không thay đổi vị trí. Các ô khác được dịch chuyển sao cho khoảng cách giữa hai ô trong cột bằng nhau. + Tăng, giảm khoảng cách giữa các điều khiển trong hàng: Chọn Format, Horizontal Spacing Sau đó chọn Increase để tăng hoặc chọn Decrease để giảm. 2.2.4 Thay đổi kích thước ô điều khiển Chọn các ô cần thay đổi kích thước. Chọn Format/Size - To Fit: các ô sẽ có kích thước vừa đủ thể hiện nội dung trong nó. - To Tallest: các ô sẽ có chiều cao bằng chiều cao của ô cao nhất. - To Shortest: các ô sẽ có chiều cao bằng chiều cao của ô thấp nhất. - To Widest: các ô sẽ có chiều rộng bằng chiều rộng của ô rộng nhất. - To Narrowest: các ô sẽ có chiều rộng bằng chiều rộng của ô hẹp nhất. Ta có thay đổi Font và cỡ chữ cho một nhóm ô điều khiển bằng cách chọn những Font chữ, cỡ chữ cần thay đổi. 2.2.5 Thuộc tính của Form
  9. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 61 Trong chế độ Design View nháy chuột vào nút chọn Form(ô vuông góc bên trái của Form), sau đó chọn View/Properties. Hoặc có thể nháy đúp chuột vào nút chọn Form. Sau đó sẽ hiển thị hộp thoại Form, chọn All, hộp thoại hiện tất cả 107 thuộc tính của Form như sau: Sau đây là một số thuộc tính hay sử dụng: - Record Source: lựa chọn bảng/truy vấn nguồn(bảng/truy vấn có các trường cần đặt lên Form). - Default View: lựa chọn một trong các cách thể hiện của Form - Scroll Bars: Bặt/tắt các thanh cuộn Form - Record Selections: bật/tắt cộng cụ chọn bản ghi phía trái Form - Navigation Buttons: bật/tắt các nút di chuyển và thêm bản ghi ở phía dưới Form - Dividing Lines: bật/tắt các đường lưới ngăn cách các thành phần của Form - Control Box: Bật/tắt các nút Min, Max, Close điều khiển trên Form. Ví dụ: Giả sử tạo Form để nhập dữ liệu vào bảng Khach trong CSDL Quanlyhanghoa. Bước 1: Chọn phần Forms trên cửa sổ Database, nháy nút New chọn Design view, chọn tên bảng dữ liệu nguồn là Khach, nháy Ok. Xuất hiện cửa sổ thiết kế Form còn trắng.
  10. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 62 Bước 2: Dùng lệnh View/Form Header-Footer để hiển thị đầu Form và cuối Form. View/Page Header-Footer để hiển thị đầu trang và cuối trang Bước 3: Dùng lệnh View/Field list và View/Toolbox để hiện ra danh sách các trường của bảng Khach và hộp công cụ. Bước 4: Lần lượt đưa các trường vào Form, bằng cách kéo tên trường từ danh sách các trường vào Form. Mỗi trường đưa vào Form sẽ tạo nên hai điều khiển liên kết nhau: Điều khiển bên phải là một Text Box(tại vị trí này sẽ hiển thị dữ liệu của trường ứng với một bản ghi), điều khiển thứ hai là một Label-nhãn(Access mặc định lấy tên trường làm nhãn, ta có thể thay đổi tên trường cho thân thiện hơn). - Kéo các trường Mak, TenK, Diachi, dienthoai vào Form - Nháy vào nút Label trên hộp Toolbox, khoanh vùng chữ nhật trên dải Form Header để xác định một nhãn và nhập xâu ký tự “NHAP KHACH HANG”. - Tương tự trong dải Page Header tạo một nhãn “TRUNG TAM HANG HOA GIA DINH”. Cửa sổ thiết kế như hình 4.8 Bước 5: Ghi thiết kế Form: bấm File/Save hoặc bấm vào nút đóng cửa sổ Hình 4.8 3. HỘP CÔNG CỤ TOOLBOX Hộp công cụ là phương tiện chính để xây dựng các mẫu biểu. Mỗi nút trên hộp công cụ ứng với một loại điều khiển và dùng để tạo các ô điều khiển thuộc
  11. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 63 loại tương ứng. Hộp công cụ có các nút như sau: Select Objects(dùng để lựa chọn các điều khiển trên vùng chữ nhật), Control Wizard, Label(tạo nhãn), Text Box, Option Group, Toggle Button, Check Box, List Box, Command Button, Image(tạo đối tương hình ảnh), Unbound Object Frame, Bound Object Frame, Page Break(tạo ngắt trang), Tab Cotrl, Subform/SubReport, Line(tạo đường thẳng), Rectangle (tạo khung chữ nhật), More Controls( liệt kê nhiều loại điều khiển khác có thể tạo). Sau đây chúng ta trình bày một số điều khiển thường dùng: 3.1 Điều khiển Text box Điều khiển Text box dùng để: - Hiển thị dữ liệu của các trường kiểu văn bản, số, và kiểu memo. Cũng có thể dùng để nhập dữ liệu từ bàn phím vào. - Dùng để tạo một trường tính toán trên Form: Ví dụ: Trong Form nhập dữ liệu cho bảng ChitietHD của CSDL Quanlyhanghoa có dạng như hình 4.9. Có nút SLban, Dongia là một Text box, SoHD, MaH là một Combo box, Thanhtien là trường tính toán. Hình 4.9 - Cách Text box SLban. Kéo trường SLban từ Field List đặt lên Form,
  12. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 64 máy tự động tạo một Text Box có tên là SLban và thuộc tính nguồn dữ liệu Control Source là SLban, nhãn liên kết với Text box này có thuộc tính Caption là “SLban”. - Cũng tương tự ta tạo được Text Box Dongia. - Tạo Text Box ThanhTien: Nháy nút Text Box trên thanh Toolbox, nháy và kéo trên Form để xác định vùng chữ nhật dùng làm Text Box. Bấm View/Properties hiện thuộc tính của Text Box hoặc nháy trực tiếp vào ô này nhập các thuộc tính sau: Control Source: = [SLban]*[Dongia] Name: ThanhTien. Mở thuộc tính của Label liên kết với Text Box, dòng thuộc tính Caption nhập “ThanhTien”, hoặc nháy chuột gõ trực tiếp tại Label. 3.2 Điều khiển Combo Box Combo Box và List Box có thể dùng để tạo danh sách lựa chọn cho một trường bất kỳ. Danh sách trong List Box luôn được thể hiện, còn trong Combo Box chỉ được mở khi kích chuột tại nút mũi tên bên phải. Mỗi một Combo Box đều phải có một nguồn dữ liệu để xây dựng bảng chọn. Nguồn dữ có thể là: 1. Các bản ghi của một bảng/truy vấn 2. Dãy các giá trị đưa vào khi tạo Combo Box (value list) 3. Tên các trường của bảng/truy vấn (field list) 4. Các bản ghi của một truy vấn tạo bởi câu lệnh SELECT 5. Danh sách tạo từ kết quả trả về của một hàm trong Access Basic. Tương ứng ta xét ba kiểu Combo Box thường dùng đó là: - Combo Box có giá trị lấy từ các trường của một bảng (ví dụ như Combo MaH lấy dữ liệu từ trường MaH của bảng Hang trong VD trên) - Combo Box có giá trị gõ vào. - Combo Box để tìm kiếm. Khi tạo Combo Box ta có thể dùng Wizard hoặc không, sau đây sẽ trình
  13. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 65 bày hai cách tạo này. 3.2.1 Tạo Combo Box dùng wizard Công cụ Wizard có thể tạo được 2 loại Combo Box sau: đó là Combo Box có nguồn dữ liệu là một bảng/truy vấn hoặc là một dãy giá trị đặt vào thuộc tính Row Source, hoặc xây dựng Combo cho phép tìm kiếm. Cách tạo như sau: Bước 1: Chọn chức năng Control Wizard bằng cách bấm vào biểu tượng Control Wizard trên thanh công cụ (nếu nó chưa bật). Bước 2: Chọn nút Combo Box trên thanh công cụ Bước 3: kéo một trường của bảng/truy vấn nguồn vào mẫu biểu. Access sẽ tạo một Combo Box buộc vào trường này. Bước 4: Lần lượt trả lời các câu hỏi do Wizard đặt ra để xác định nguồn dữ liệu và các đặc trưng khác của Combo Box. Sau khi trả lời một câu hỏi bấm Next để sang câu hỏi tiếp theo, cuối cùng bấm Finish. Ví dụ 1: Tạo Combo có các giá trị lấy từ một bảng/truy vấn: Giả sử tạo nút Combo Box MaH trong ví dụ trên bằng cách dùng Wizard. Dữ liệu nguồn của Combo Box MaH là cột MaH, TenH của bảng Hang nhưng chỉ buộc vào MaH, Giả sử đang ở màn hình thiết kế Form (nguồn dữ liệu là bảng ChitietHD). Ta thực hiện như sau: Bước 1: Bật chức năng Control Wizard Bước 2: chọn Combo Box trên hộp công cụ Bước 3: Kéo trường [MaH] từ hộp Field List vào Form. kết quả sẽ hiện ra trong hình 4.8
  14. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 66 Hình 4.8 Bước 4. Chọn lựa chọn thứ nhất, rồi bấm Next, sẽ hiện ra danh sách các bảng/truy vấn nguồn của Combo Box. Hình 4.9 Hình 4.9 Bước 5. Chọn bảng Hang làm nguồn dữ liệu, tiếp tục bấm Next. Kết quả sẽ hiện ra danh sách các trường của bảng/truy vấn vừa chọn. Bước 6. Chọn các trường đưa vào danh sách chọn của Combo Box. Ở đây ta chọn hai trường MaH, TenH, tiếp tục bấm Next. Bước 7. Access hiển thị ra màn hình cho phép lựa chọn cách sắp xếp trong các trường theo chiều tăng dần hay giảm dần. Ở đây sắp xếp theo chiều tăng dần của TenH, tiếp tục bấm Next. Bước 8. Bước này ta dùng chuột để điều chỉnh độ rộng các trường. Hoặc có thể bấm chọn “Hide key column” để ẩn đi trường khoá không xuất hiện trong bảng chọn. Trong ví dụ này ta kéo cho gữ nguyên cả hai cột.
  15. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 67 Kết quả như hình 4.10 Hình 4.10 Bước 9. Theo thiết kế Combo Box sẽ có hai cột. Bây giờ cần chọn cột để lấy giá trị đưa vào trường gắn với Combo Box. Ta chọn trường MaH, tiếp tục bấm Next. Bước 10. Xác định trường gắn với Combo Box. Vì ta chủ động kéo trường MaH của bảng ChitietHD vào Form, nên mặc định trường này được chọn. Tiếp tục bấm Next Bước 11. Sửa đổi tiêu đề của nhãn đi kèm với Combo Box, rồi bấm Finish. Kết quả tạo được Combo Box MaH. Khi mở Form để chạy ta có được kết quả như hình 4.11 Hình 4.11 Ví dụ 2: Tạo Combo Box có các giá trị tự gõ vào Giả sử có CSDL tên là QuanlyGiaovien, gồm các bảng sau: DSGV(MaGV,Hoten, Matinh, chucvu, gioitinh, hocvi).
  16. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 68 DSTINH(Matinh, tentinh) Ta muốn tổ chức nhập số liệu cho bảng DSGV. Với trường GioiTinh: Yêu cầu là một Combo Box có 2 giá trị chọn là Nam, Nu. Ta thực hiện như sau: Bước 1,2,3 như trong ví dụ 1. Bước 4: chọn nút thứ 2 “I will type in the values that I want” (tôi sẽ gõ các giá trị tôi muốn), nháy nút Next. Kết quả như hình 4.12 Hình 4.12 Bước 5: Xuất hiện hộp thoại, trong cột Col1 cho phép gõ vào các giá trị mà sau này sẽ hiển thị trên Combo Box. Ta gõ (Nam, Nu), Bấm Next. Tiếp theo sẽ đến các lựa chọn như Bước 10, 11 của ví dụ 1. Ta được kết quả như hình 4.12 Hình 4.12 Ví dụ 3: Tạo Combo Box tìm kiếm bản ghi Trong Form hình 4.12 ta thấy có một Combo Box nằm ở góc bên
  17. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 69 bên phải dùng để tìm kiếm một giảng viên theo MaGV và họ tên GV. Khi chọn một GV nào đó trong Combo Box tìm kiếm thì nội dung bản ghi tương ứng của GV này sẽ hiển thị trên Form. Các bươc thực hiện: Bước 1,2 như trong ví dụ 1, riêng bước 3 không kéo các trường vì tạo Combo Box không buộc vào trường nào. Bước 4: chọn nút thứ 3 “Find a record om my ”, nháy nút Next. Tiếp tục cho phép ta chọn các trường dùng để tìm kiếm (như bước 6 trong ví dụ 1). Ở đây ta chọn 2 trường là MaGV, Hoten, nháy nút Next. Tiếp tục cho phép điều chỉnh độ rộng, ẩn các trường trong Combo Box (như bước 8 VD1). Tại đây ta để hiển thị cả 2 trường. Náy nút Next. Tiếp đến sửa lại nhãn cho Combo Box (như bước 11 trong VD1). Ta được kết quả như hình 4.13 Hình 4.13
  18. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 70 3.3 Điều khiển Command Button Nút lệnh (Commnad Button) là các nút nằm trên Form, khi ta nháy chuột lên nút lệnh này máy sẽ thực hiện một công việc nào đó. Trên Form ở Hình 4.11 có ba nút lệnh “Thêm mới” dùng để bổ xung bản ghi mới, “Xóa” dùng để xoá bản ghi hiện hành, “Tìm kiếm” dùng để tìm kiếm bản ghi theo trường hiện tại. Khi tạo các nút lệnh ta cũng có thể dùng Wizard hoặc không dùng Wizard. Sau đây trình bày cách tạo bằng Wizard. Quá trình tạo nút lệnh “Thêm mới”: Bước 1: Nháy chuột vào nút Control Wizards. Bước 2: Nháy chuột vào nút Command Button trên thanh Toolbox và kéo và đặt vào Form. Xuất hiện hộp thoại như hình 4.14 Hình 4.14 Bước 3: Trong khung Categories chọn “Record Operations”(các thao tác về bản ghi), trong khung Actions chọn “Add New Record”, nháy nút Next. Bước 4: Tại đây ta chọn mục Text, nhập văn bản sẽ hiển thị trên nút lệnh là “Thêm mới” thay cho văn bản ngầm định “Add Record” (ta cũng có thể chọn một biểu tượng đồ hoạ hiện trên nút lệnh), nháy nút Next. Bước 5: Đặt tên cho nút lệnh là Themmoi thay cho tên ngầm định, nháy
  19. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 71 nút Finish. Ta thấy trong hình 4.14 cho phép ta lựa chọn rất nhiều hành động mà nút lệnh có thể thực hiện: - Nhóm Record Navigation (di chuyển bản ghi có các chức năng):Find next, Find Record, Go to first record, Go to last record, Go to next record, Go to previous record. - Nhóm Record Operations (các thao tác trên bản ghi): Add new record, Delete record, Duplicate record, Print record, Save record, Undo record. - Nhóm Form Operations (các thao tác về mẫu biểu): Apply Form Filter, Close Form, Edit Form Filter, Open Form, Open Page, Print a Form, Print Current Form, Refresh Form Data. - Nhóm Report Operations (các thao tác về báo cáo): Mail report, Preview report, Print report, Sent report. - Nhóm Application (chương tình ứng dụng): Quit Application, Run Application, Run MS Excel, Run MS Word. - Nhóm Miscellaneous (hỗn hợp): Auto Dialer, Print Table, Run Macro, Run Query. Như vậy việc tạo nút “Xoá” cũng tương tự, tại bước 3 ta chọn như sau: trong khung Categories chọn “Record Operations”, trong khung Actions chọn “Delete Record”. Việc tạo nút “Tìm kiếm” tại bước 3 ta chọn như sau: khung Categories chọn “Record Navigation ”, trong khung Actions chọn “Find Record”. 3.4 Thiết kế dạng Main – Sub Form Phần này trình bày cách tổ chức nhập, hiển thị dữ liệu đồng thời trên nhiều bảng có quan hệ với nhau, trong đó có một bảng chính và mỗi bảng phụ là quan hệ một nhiều. Cách tổ chức như sau: + Xây dựng cho mỗi bảng một mẫu biểu. Mẫu biểu ứng với bảng chính gọi là mẫu biểu chính, các mẫu biểu còn lại gọi là mẫu biểu phụ.
  20. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 72 + Trên mẫu biểu chính tạo các điều khiển Sub Form buộc vào các mẫu biểu phụ. Sử dụng các thuộc tính của điều khiển Sub Form để thiết lập mối quan hệ giữa mẫu biểu chính và mẫu biểu phụ, sao cho trên điều khiển Sub Form chỉ thể hiện các bản ghi của mẫu biểu phụ có liên quan đến bản ghi đang xét trên mẫu biểu chính. + Trong một mẫu biểu chính có thể có nhiều mẫu biểu phụ (gọi là mẫu biểu phụ cấp một). Số mẫu biểu phụ cấp một là không hạn chế. + Trong mỗi mẫu biểu phụ cấp một cho phép đặt các mẫu biểu phụ khác (gọi là mẫu biểu phụ cấp hai). Access chỉ cho phép tổ chức đến các mẫu biểu phụ cấp hai. Cách tổ chức các mẫu biểu chính và phụ như sau: Bước 1: Tạo một mẫu biểu chính và các mẫu biểu phụ một cách độc lập. Lúc đó giữa chúng chưa có quan hệ gì với nhau. Bước 2: Sử dụng các thuộc tính của mẫu biểu để quy định dạng trình bày của các mẫu biểu phụ: Thuộc tính Dạng trình bày Default View Datasheet Dạng bảng Single/Continuos Form Dạng biểu Pivot Table/Pivot Chart Dạng tổng hợp theo bảng/đồ thị Đối với mẫu biểu phụ ta thường đặt giá trị Datasheet cho thuộc tính View Allowed Bước 3: Mở mẫu biểu chính trong chế độ Design. Bấm phím F11 để xuất hiện đồng thời cửa sổ Database. Bước 4: Kéo một mẫu biểu phụ từ cửa sổ Database vào trong cửa sổ thiết kế của mẫu biểu chính. Access tạo một điều khiển SubForm buộc vào mẫu biểu phụ và một nhãn đi kèm. Tên của điều khiển SubForm được đặt mặc định là tên của mẫu biểu phụ được kéo. Tiêu đề của nhãn đi kèm cũng được đặt mặc định là tên của mẫu biểu phụ được kéo. Để sửa thiết kế của mẫu biểu phụ, ta bấm đúp nút trái chuột tại điều khiển SubForm tương ứng. Khi đó sẽ nhận được của sổ thiết kế của mẫu biểu
  21. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 73 phụ. Bước 5: Tạo sự liên kết giữa mẫu biểu chính và mẫu biểu phụ + Thuộc tính LinkmasterFields ghi các trường liên kết của mẫu biểu chính. + Thuộc tính LinkchildFields ghi các trường liên kết của mẫu biểu phụ. Tác dụng của liên kết: Trên mẫu biểu phụ chỉ thể hiện các bản ghi có cùng giá trị trên các trường liên kết với bản ghi hiện hành của mẫu biểu chính. Ví dụ 1: Tạo Subform không dùng Wizard Giả sử cơ sở dữ liệu Quanlyhanghoa gồm các bảng sau: Hang (MaH, TenH, Loai, SLTon) Khach(MaK, TenK, Diachi, Dienthoai) HoaDon(SoHD, NgayHD, MaK) ChitietHD(SoHD, MaH, SLban, dongia) Giữa bảng HoaDon và ChitietHD có quan hệ một nhiều theo trường SoHD. Nghĩa là nhiều mặt hàng có thể được bán và ghi trong một hoá đơn. Ta có thể tổ chức nhập dữ liệu như sau: - Khi đang xét một hoá đơn trong bảng HoaDon thì các thông tin của hoá đơn đó trong bảng ChitietHD cũng được thể hiện. Trong trường hợp này ta tạo một mẫu biểu chính gắn với bảng HoaDon còn mẫu biểu phụ gắn với bảng ChitietHD. Hai mẫu biểu này gắn với nhau thông qua trường SoHD. Các bước thực hiện: Bước 1: Tạo mẫu biểu phụ ChitietHD, Nguồn dữ liệu của mẫu biểu này là bảng ChitietHD. Ta nên đặt thuộc tính của Form như sau View Allowed: Datasheet Trong Form này ta thiết kế một Combo Box cho trường MaH, Combo Box này lấy dữ liệu từ bảng Hang và hiển thị hai cột MaH, TenH nhưng buộc vào cột MaH. Textbox Thanhtien=[Slban]*[Dongia] Cửa sổ thiết kế như hình 4.15
  22. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 74 Hình 4.15 Bước 2: Tạo mẫu biểu chính HoaDon. Với dữ liệu nguồn của Form này là bảng HoaDon. Trên Form có 1 Combo Box MaK, dùng để chọn MaK trong bảng Khach. Combo Box có 2 cột MaK, TenK nhưng buộc vào cột MaK. Thiết kế Form HoaDon như hình 4.16 Hình 4.16 Bước 3: Mở Form HoaDon ở chế độ Design. Bấm phím F11 để hiện đồng thời cửa sổ Database. Kéo Form ChitietHD vào Form HoaDon. Kết quả tạo được một điều khiển SubForm buộc vào Form ChitietHD và một nhãn đi kèm. Tiếp đó ta mở thuộc tính của điều khiển SubForm và đưa vào các trường sau: Link Child Fields: SoHD Link Master Fields: SoHD Màn hình thiết kế Form như hình 4.17
  23. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 75 Hình 4.17 Bước 4: Ghi và chạy Form sẽ được màn hình nhập số liệu như hình 4.18 Hình 4.18 Ví dụ 2: Tạo Subform dùng Wizard Cũng với CSDL Quanlyhanghoa như trong ví dụ 1: Yêu xầu xây dựng Form nhập dữ liệu gồm 3 Form lồng nhau như sau: - Form “ChitietHD” có dữ liệu nguồn là bảng ChitietHD - Form “HoaDon” có dữ liệu nguồn là bảng HoaDon và chứa Form con “ChitietHD” - Form “Khach” có dữ liệu nguồn là bảng Khach và chứa Form con “HoaDon” Các bước thực hiện như sau: Bước 1: Xây dựng các Form “ChitietHD”, “HoaDon” như trong VD1. Trong Form “HoaDon” không tạo MaK bằng Combo Box mà tạo bằng
  24. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 76 Textbox. Chọn chế độ hiển thị cho Form này là View Allowed: Single Form. Bước 2: Mở Form “HoaDon” ở chế độ Design. Chọn nút Subform/Subreport trên hộp công cụ Toolbox, nháy và kéo trên Form để xác định vùng chữ nhật sẽ chứa Form con. Xuất hiện hộp thoại và chọn “Use an Existing Form”, chọn Form con đã xây dựng ở bước 1 là “ChitietHD”, nháy nút Next. Bước 3: Trong hộp thoại tiếp theo chọn mục “Show ChitietHD for each record in HoaDon using SoHD”, nháy nút Next. Hộp thoại tiếp theo cho phép đặt tên cho Form con trong Form đang xây dựng, ta đặt là “ChitietHD”. Nháy Finish để trở về cửa sổ thiết kế Form. Bước 4: Chỉnh sửa lại kích thước của Form con nếu cần. Ghi và đặt tên cho Form vừa thiết kế là “HoaDon”. Bước 5: Tạo Form Khach với dữ liệu nguồn là bảng Khach. Đưa các trường của bảng này vào phần đầu của Form. Bước 6: Chọn nút Subform/Subreport trên hộp công cụ Toolbox, nháy và kéo trên Form để xác định vùng chữ nhật sẽ chứa Form con. Xuất hiện hộp thoại và chọn “Use an Existing Form”, chọn Form con đã xây dựng ở bước trước là “HoaDon”, nháy nút Next. Bước 7: Trong hộp thoại tiếp theo chọn mục “Show HoaDon for each record in Khach using MaK”, nháy nút Next. Hộp thoại tiếp theo cho phép đặt tên cho Form con trong Form đang xây dựng, ta đặt là “HoaDon”. Nháy Finish để trở về cửa sổ thiết kế Form. Cửa sổ thiết kế như hình 4.19
  25. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 77 Hình 4.19 Bước 8: Ghi và mở Form Khach cho kết quả như hình 4.20 Hình 4.20
  26. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 78 BÀI TẬP CHƯƠNG 4 Bài 1: Tạo Form nhập dữ liệu cho bảng Thuchi trong cơ sở dữ liệu THUQUY ở phần bài tập chương 2. Bài 2: Tạo Form nhập dữ liệu đồng thời cho 2 bảng Danhsach và SoBD_Phach trong cơ sở dữ liệu THICU ở phần bài tập chương 2. Bài 3: Cho CSDL SINHVIEN như sau: Bảng HOSO để lưu hồ sơ các sinh viên gồm các trường: - MaSV: Text, rộng 10, khoá chính, lưu mã sinh viên. - Ho: Text, rộng 15, lưu phần họ và tên đệm của SV. - Ten: Text, rộng 6, lưu phần tên của SV. - NgaySinh:Date/Time, lưu ngày sinh - GioiTinh:Text, rộng 3, lưu giới tính là “Nam” hay “Nu” - Khoa: Text, rộng 20, tên khoa sinh viên học. - QueQuan: Text, rộng 50, ghi quên quán của SV gồm huyện và tỉnh. - DiaChi:Text, rộng 50, địa chỉ cư trú hiện tại của SV - Dienthoai: Text, rộng 12, điện thoại của SV nếu có Giaitich, Daiso, Tinhoc, Triethoc, Anhvan: Number, Double, lưu điểm thi các môn học kỳ I năm thứ nhất của SV. Bảng GIADINH để lưu nhưng thông tin người thân trong gia đình có trách nhiệm trực tiếp đối với SV gồm các trường: - MaSV:Text, rộng 10, mã sinh viên, dùng để liên kết với bảng HOSO. - Hoten: Yext, rộng 25, lưu họ và tên người thân của SV - Namsinh: Number, long Integer, lưu năm sinh. - Quanhe: Text, rộng 12, quan hệ với SV. - Diachi: Text, rộng 50. - Dienthoai: Text, rộng 12, số điện thoại liên hệ nếu có. Mối quan hệ giữa bảng HOSO và bảng GIADINH là 1-n thông qua trường MaSV. Xây dựng các Form như sau: 1. Form 1: dạng Autoform: Columnar để nhập dữ liệu cho bảng HOSO
  27. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 79 2. Form 2: dạng Autoform: Tabular để nhập dữ liệu cho bảng HOSO 3. Form 3: dạng Autoform: Datasheet để nhập dữ liệu cho bảng HOSO 4. Form 4: dùng wizard tạo Form nhập dữ liệu cho hai bảng HOSO và GIADINH 5. Tạo một Form để xem các các bản ghi trong Query1 thuộc bài tập 7 chương 3. 6. Tạo “Form hỏi đáp” để tìm kiếm các SV trong một khoa có ngày sinh lớn hơn hoặc bằng một ngày nào đó. Form có 4 điều khiển: dùng một Combo Box tên là (CBkhoa) để nhập tên khoa, dùng một Text Box tên là (tbNgaysinh) để nhập ngày sinh, dùng nút lệnh “Tìm kiếm” để chạy một truy vấn, dùng nút lệnh “Đóng Form” để đóng Form. Gợi ý: Tạo truy vấn “query Khoa và NgaySinh” từ bảng HOSO đưa các trường MaSV, Ho, Ten, Ngaysinh, Khoa vào lưới thiết kế. Dòng Criteria của cột Ngaysinh đưa vào công thức >=[Forms]![Form hoi dap]![tbNgaysinh] (công thức có nghĩa trường NgaySinh phải lớn hơn hay bằng giá trị lưu trong điều khiển tbNgaysinh của biểu mẫu “Form hoi dap”, “Form hoi dap” là một đối tượng của tập hợp Forms), dòng Criteria của cột Kho nhập công thức = [Forms]![Form hoi dap]![CBKhoa]. 7. Tạo một Form lọc dữ liệu DSKhoa: cho phép chọn tên khoa từ một Combo Box, danh sách SV hiện trong biểu mẫu con DSkhoa_Subform. Gợi ý: Tạo mẫu biểu con trước dùng Design view, mở hộp thoại thuộc tính Form, nháy vào nút Build trên dòng thuộc tính Record Source để xuất hiện cửa sổ thiết kế truy vấn Query Build, chọn bảng HOSO, đưa vào lưới thiết kế truy vấn các trường Ho, Ten, Ngaysinh, Gioitinh, Khoa. Dòng Criteria trên cột Khoa nhập [CBKhoa] (tức là tiêu chuẩn lấy từ combo box). Trong mẫu biểu chính DSkhoa, tạo combo Box có thuộc tính Name là CBKhoa.
  28. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 80 CHƯƠNG V BÁO BIỂU Báo biểu (Report) là công cụ thuận tiện để tổ chức in dữ liệu của một bảng, truy vấn.Mặc dù có thể in dữ liệu từ bảng, truy vấn và mẫu biểu, nhưng báo biểu cung cấp nhiều khả năng linh hoạt để điều khiển công việc in ấn. Report không hỗ trợ các điều khiển tương tác nhưng ta có thể đưa vào report các điều khiển để hiển thị dữ liệu như hộp văn bản, các hộp kiểm tra Report cũng có thể chứa hình ảnh đồ họa. Report còn cho phép tổ chức và trình bày dữ liệu theo nhóm, tính toán các tổng nhóm, thống kê dữ liệu theo nhóm. Trong chế độ Design View cấu trúc của một Report giống với Form gồm 5 thành phần: Report Header(phần đầu báo biểu, in một lần ở trang đầu tiên), Page Header (phần đầu trang, chứa tiêu đề các cột), Detail (nơi đặt các trường của bảng, truy vấn, các bản ghi sẽ được in ở phần này), Page Footer (phần cuối mỗi trang in, chứa số trang), Report Footer (phần cuối của báo biểu, in một lần ở trang cuối, chứa các thông tin tổng hợp của báo biểu). Nếu Report có gộp nhóm thì còn thêm 2 phần là đầu nhóm (in tiêu đề nhóm, tiêu đề cột) và phần cuối nhóm (thốn kê tổng hợp về nhóm, tổng các cột, trung bình các cột). Việc tạo Report dùng Wizard và Design View hoàn toán giống với cách tạo một Form. Chức năng và cách dùng của hộp công cụ Toolbox và Field List vẫn giữ nguyên. 1. TẠO BÁO BIỂU BẰNG AUTOREPORT Chọn một trong hai kiểu báo biểu tự động (có từ AutoReport) và nhấn OK. 1.1 Tạo báo biểu tự động kiểu Tabular Trong AutoReport: Tabular (báo biểu dạng hàng cột) các trường thuộc một bản ghi xuất hiện trên một dòng với các nhãn hiện một lần tại phần đầu của báo biểu. Ta xét cách tạo AutoReport: Tabular thông qua ví dụ sau: Ví dụ: giả sử trong CSDL Quanlyhanghoa, có bảng Khach, ta tạo
  29. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 81 Report cho bảng này. Bước 1: nháy nút New trong phần Report trên cửa sổ Database, chọn bảng Khach và chọn mục “AutoReport: Tabular”, nháy Ok. Kết quả ta được báo biểu ở chế độ Print Preview như hình 5.1 Hình 5.1 Bước 2: Ghi và đặt tên cho báo biểu là R_Khach Nếu cách trình bày của báo biểu in ra chưa vừa ý ta có thể chuyển sang chế độ Desgin View để sửa chữa: thay đổi kích thước và vị trí các điều khiển, định lại phông chữ và màu chữ, màu nền, thêm các đường kẻ khung cho báo biểu. Report đã mở ở chế độ Design View như hình 5.2 Hình 5.2 1.2 Tạo báo biểu tự động kiểu Columnar Trong AutoReport: Columnar (báo biểu dạng cột) giá trị mõi trường của bản ghi xuất hiện trên một dòng tấch biệt cùng với nhãn ở bên trái nó. Ta xét cách tạo AutoReport: Columnar thông qua ví dụ trên: Bước 1: nháy nút New trong phần Report trên cửa sổ Database, chọn bảng Khach và chọn mục “AutoReport: Columnar”, nháy Ok. Kết quả ta được báo biểu ở chế độ Print Preview như hình 5.3
  30. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 82 Hình 5.3 Bước 2: Ghi và đặt tên cho báo biểu 2. TẠO BÁO BIỂU DÙNG REPORT WIZARD Report Wizard giúp ta nhanh chóng tạo một báo biểu từ một hay nhiều bảng, cho ta lựa chọn gộp nhóm và sắp xếp dữ liệu. Ta xem cách tạo Report qua ví dụ sau: Ví dụ: Giả sử cần lập một báo cáo về chi tiết từng hoá đơn bán hàng, dữ liệu lấy từ bảng HoaDon và ChitietHD của CSDL Quanlyhanghoa như ở chương trước. Bước 1: nháy nút New trong phần Report trên cửa sổ Database, Report Wizard, nháy OK (hoặc chọn Create Report by using wizard ở màn hình Database). Xuất hiện hộp thoại của Report Wizard như hình 5.4 Hình 5.4
  31. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 83 Bước 2: Chọn bảng HoaDon trong mục Table/Queries, đưa các trường SoHD, MaK, NgayHD sang khung Selected fields. Chọn tiếp bảng thứ hai là ChitietHD đưa các trường MaH, SLban, Dongia sang khung Selected fields, nháy nút Next. Xuất hiện hộp thoại như hình 5.5 Hình 5.5 Bước 3:Ta chọn mục By HoaDon, nháy nút Next Ta được hình 5.6 Hình 5.6
  32. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 84 Bước 4: Trên hình 5.6 cho phép chọn trường phân nhóm dữ liệu. Ta có thể không phân nhóm dữ liệu thì bỏ qua nháy Next. Ta được hình 5.7 Hình 5.7 Bước 5: Hình 5.7 cho phép lựa chọn kiểu sắp xếp, tại đây ta chọn sắp xếp theo chiểu tăng dần của MaH. Nháy nút Summary Options để xác định các trường tính toán trong Report, trong ví dụ này ta chọn trường SLban như trong hình 5.8. Bấm OK trở lại và bấm Next. xuất hiện hộp thoại hình 5.9 Hình 5.8
  33. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 85 Hình 5.9 Bước 6: Trong hình 5.9 chọn Stepped, Portrait, nháy nút Next. Ta có giao diện như hình 5.10 Hình 5.10 Bước 7: Chọn kiểu Corporate, nháy nút Next Bước 8: Đặt tên cho Report là R_HoaDon, nháy nút Finish. Kết quả được báo biểu dạng Print Preview như hình 5.11
  34. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 86 Hình 5.11 3. TẠO BÁO BIỂU DÙNG DESIGN VIEW Ở chế độ này chúng ta tự thiết kế Report theo ý muốn. Ta xét cách tạo thông qua ví dụ sau: Ví dụ: Giả sử từ bảng Nhanvien(MaNV, Hoten, Ngaysinh, Gioitinh, Diachi, Dienthoai, Donvi, Luong) của CSDL QLNHANVIEN ta cần lập một bảng lương với các yêu cầu sau: - Bảng gồm các cột: Số thứ tự, Họ và tên, Ngày sinh, Lương cơ bản, Bảo hiểm xã hội (bằng 5% Lương). Bảo hiểm y tế (bằng 1% lương), Tổng số tiền lĩnh (bằng lương chính trừ đi bảo hiểm xã hội và bảo hiểm y tế, cũng bằng 94% Lương). - Trong bảng lương các nhân viên được nhóm theo từng đơn vị, đầu mỗi nhóm có ghi tên đơn vị, cuối mỗi nhóm có tính Tổng lương, Tổng bảo hiểm xã hội, Tổng bảo hiểm y tế, Tổng số tiền lĩnh của nhóm. Trường dùng để phân nhóm là trường DonVi. - Cuối báo cáo có tính Tổng lương, Tổng bảo hiểm xã hôi, Tổng bảo hiểm y tế, Tổng số tiền lĩnh của toàn bộ công ty. Các bước thực hiện như sau: Bước 1: Trong cửa sổ Database nháy vào mục Reports chọn New, chọn bảng Nhanvien và chọn mục Design view, nháy OK. Xuất hiện cửa sổ thiết kế Report với 3 phần: Page Header, Detail, Page Footer. Bấm
  35. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 87 View/Report Header- Footer để hiển thị phần Report Header và Report Footer. Bấm View/Sorting and Grouping để chọn các trường phân nhóm và sắp xếp. Như hình 5.12. Hình 5.12 Bước 2: Chọn trường phân nhóm là Donvi trong cột Field/Expression, cột Sort Order chọn là Ascending (tức là nhóm các bản ghi theo từng đơn vị, các đơn vị xếp theo chiều tăng dần). Tại mục Group Header và Group Footer chọn là Yes. Khi đó trên cửa sổ thiết kế Report xuất hiện thêm hai phần là Donvi Header và Donvi Footer. Bước 3: Thiết kế phần Report Header. Dùng nút Label của Toolbox để tạo một đối tượng Label trên vùng này, Văn bản trên nhãn là “ Bảng lương khoa CNTT tháng 10 năm 2006”. Bước 4: Thiết kế phần Detail: -Tạo Text Box STT(số thứ tự): Chọn nút Text Box trên Toolbox, kéo vào vùng Detail, xoá nhãn liên kết với với Text Box này, các thuộc tính như sau: Name: STT Control Source: =1 Running Sum: Over Group (đánh số thứ tự theo từng nhóm) - Kéo ba trường HoTen, Ngaysinh, Luong từ Field List vào phần Detail để tạo ba Text Box, xoá các nhãn đi kèm với các Text Box. - Tạo Text Box BHXH: chọn nút Text Box trên Toolbox và kéo vào vùng Detail, xoá bỏ nhãn đi kèm và điền các thuộc tính như sau: Name: BHXH Control Source=[Luong]*0.05 Format: fix Deceimal Places:2
  36. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 88 - Tạo Text Box BHYT: chọn nút Text Box trên Toolbox và kéo vào vùng Detail, xoá bỏ nhãn đi kèm và điền các thuộc tính như sau: Name: BHYT Control Source=[Luong]*0.01 Format: fix Deceimal Places:2 - Tạo Text Box Tienlinh: tương tự ta xác định các thuộc tính: Name: TienLinh Control Source=[Luong]-[BHXH]-[BHYT] Format: fix Deceimal Places:2 Chọn tất cả cá điều khiển trên phần Detail, định dạng cùng chiều cao, dóng theo phía trên, cách đều nhau, cùng Font chữ cỡ chữ. Chuyển sang chế độ Print Preview xem thử kết quả, chuyển lại chế độ Design View. Bước 5: Thiết kế phần Donvi Header: Tạo một nhãn kèm văn bản là “Don vi”. Kéo trường Donvi từ Fields List vào để tạo Text Box Donvi. Như vậy ở đầu mỗi nhóm sẽ in ra tên của đơn vị. Bước 6: Thiết kế phần Donvi Footer: Tạo một nhãn kèm văn bản “Tổng cộng của đơn vi”, tạo 4 Text Box như sau: Name: TongLuong Control Source=Sum([Luong]) Format: fix Deceimal Places:2 Name: TongBHXH Control Source=Sum([Luong]*0.05) Format: fix Deceimal Places:2 Name: TongBHYT Control Source=Sum([Luong]*0.01) Format: fix Deceimal Places:2 Name: TongTienLinh Control Source=Sum([Luong]*0.94) Format: fix Deceimal Places:2 Bước 7: Thiết kế phần Report Footer: Sao chép tất cả các đối tượng trong phần Donvi Footer xuống phần này và sửa chữa văn bản trên nhãn thành “Tổng cộng của toàn Khoa:” Bước 8: Thiết kế phần Page Header Tạo 7 nhãn làm tiêu đề các cột STT, Họ và tên, Ngày sinh, Lương, BHXH, BHYT, Tiền lĩnh. Vị trí và kích thước các nhãn này phải tương ứng
  37. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 89 với các Text Box thuộc dải Detail. Bước 9: Thiết kế phần Page Footer: Tạo một nhãn với văn bản là “Phòng tài vụ ngày”. Tạo một Text Box chứa công thức:=Date(). Tạo một nhãn với văn bản là “Trang:”. Tạo một Text Box chứa công thức:=[Page]. Màn hình thiết kế như hình 5.13 Hình 5.13 Bước 10: Định dạng lại các đối tượng cho đẹp, có thể dùng lệnh File/Page Setup để chọn khổ giấy in, căn lề in báo cáo. Ta có in báo biểu ra máy in dùng lệnh File/Print. Kết quả ta được bảng lương như hình 5.14 Hình 5.14
  38. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 90 Các hàm và hằng thường dùng trong thiết kế báo biểu: Các hàm thống kê: Count, Sum, Avg, Max, Min, StDc, Var, First, Last Date() dùng để chèn ngày tháng năm hiện hành. Now() dùng để chèn ngày tháng năm và giời phút giây hiện hành. [Page] chèn số trang. [Pages] chèn tổng số trang của Report. 4. TẠO CÁC NHÃN DÙNG LABEL WIZARD Vì CSDL thường được dùng lưu trữ thông tin về khách hàng hay hàng hoá, do đó một trong các tiện ích hay được sử dụng nhất với các thông tin trong CSDL là tạo nhãn. Access có thể tạo các loại nhãn dùng để dán thư, dán trên hàng hoá, tạo các phiếu báo điểm thi. Giả sử ta cần tạo nhãn ghi thông tin tóm tắt về nhân viên từ bảng Nhanvien(MaNV, Hoten, Ngaysinh, Gioitinh, Diachi, Dienthoai, Donvi, Luong) trong CSDL QLNHANVIEN. Ta dùng Label Wizard thực hiện các bước sau: Bước 1: Trong cửa sổ Database, nháy nút New và chọn mục Label Wizard, chọn bảng NhanVien, nháy OK. Ta được như hình 5.15 Hình 5.15 Bước 2: Tại hình 5.13 chọn đơn vị đo là Metric, chọn kiểu nhãn là Sheet feed, tên nhãn là C2166 của nhà sản xuất Avery(kích thước là 52mm x 70mm). Số 2 tỏng cột
  39. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 91 Number across có nghĩa là bố trí in 2 nhãn theo chiều ngang giấy. Dùng nút Customize của hộp thoại này ta có thể tự thiết kế kích thước nhãn, bao nhiêu nhãn xếp theo chiều ngang, khoảng cách giữa các nhãn, khoảng cách giữa nhãn với lề trang giấy, tđặt tên cho kiểu tự thiết kế để sau này có thể dùng lại. Nháy nút Next. Bước 3: Hộp thoại tiếp theo cho phép chọn Font chữ, nháy nút Next, ta có hình 5.16 Hình 5.16 Bước 4: Đưa các trường Hoten, Ngaysinh, Donvi, Diachi, Dienthoai sang khung Prototype Label và gõ thêm dòng thuyết minh bên cạnh tên trường, nháy nút Next. Bước 5: Chọn trường dùng để sắp xếp cá nhãn, chọn trường Hoten, nháy nút Next. Bước 6: Đặt tên cho nhãn vừa xây dựng. Ta chọn là “Labels Nhanvien”, chọn “See the Labels as they will look printed”, nháy Finish, kết quả ta được nhãn ở chế độ Print preview như hình 5.17
  40. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 92 Hình 5.17
  41. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 93 BÀI TẬP CHƯƠNG 5 Bài 1. Dùng CSDL Quanlyhanghoa mô tả trong chương trước như sau: Hang(MaH, TenH, Loai, SLTon) để lưu trữ tất cả các mặt hàng có trong cửa hàng. Khach(MaK, TenK, Diachi, DienThoai) lưu trữ những thông tin về khách hàng. HoaDon(SoHD,NgayHD,MaK) dùng để lưu trữ các thông tin về việc bán hàng. ChitietHD(SoHD,MaH,SLban,Dongia). Thực hiện các yêu cầu sau: 1. Report1: dùng Wizard tạo báo cáo chi tiết từng hoá đơn bán hàng, dữ liệu lấy từ hai bảng HoaDon và ChitietHD. 2. Report2: Dùng Design View thiết kế báo biểu về các hoá đơn xuất hàng có gộp nhóm, dữ liệu lấy từ cá bảng HoaDon, ChitietHD, Hang, Khach. Mẫu báo cáo có dạng. THỐNG KÊ CÁC HOÁ ĐƠN BÁN HÀNG Số hoá đơn: . Tên khách hàng: Ngày bán: Số hoá đơn: STT Tên hàng Số lượng Đơn giá Thành tiền 1 Xxxx Xxx Xxxx Xxx 2 Xxxx Xxx Xxxx Xxx Tổng giá trị hàng của hoá đơn: xxxx Tổng giá trị toàn bộ hàng đã bán: xxxxxx 3. Report3: Báo cáo từng khách hàng đã nhận từng mặt hàng với số lượng bao nhiêu và tiền là bao nhiêu. Báo cáo phân nhóm theo khách hàng, phân nhóm con theo tên hàng. Mẫu báo cáo có dạng: THỐNG KÊ KHÁCH HÀNG - TÊN HÀNG Tên khách hàng: STT Tên hàng Số lượng Tiền 1 Xxxxxx Xxxxx Xxxxx 2 Xxxxxx Xxxxx xxxxx
  42. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 94 Tổng tiền: xxx Bài 2: Dùng CSDL QLNhanvien như mô tả trong phần trên. Tạo các Report: 1. Report1: Từ bảng Nhanvien thiết kế bảng lương có phân nhóm theo đơn vị. 2. Report2: Từ bảng Nhanvien tính tổng tiền lương của từng đơn vị và vẽ biểu đồ dạng 3D-Column. Bài 3: Tạo báo biểu in danh sách tất cả các khách hàng của công ty điện lực dựa trên số liệu của cơ sở dữ liệu QUANLYDIEN trong phần bài tập chương 2.
  43. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 95 CHƯƠNG 6 MACRO Macro là tập hợp cá hành động (action) để thực hiện nhiều thao tác cùng một lúc giúp ta thực hiện tự động các công việc xử lý dữ liệu. Ta có thể tạo một macro để mở một Table, Query, Form, Report. Có thể tạo một macro thông báo kèm theo tiếng bíp bíp để gây sự chú ý. Có thể tạo một macro để di chuyển hay đặt lại kích thước cho một cửa sổ, hoặc làm cực đại, cực tiểu hoặc khôi phục một cửa sổ. Macro cũng thường dùng kết hơpk với các sự kiện của Form và cá điều khiển trên Form, như sự kiện Current của một Form, sự kiện Click của một nút lênhk hoặc sự kiện DblClick của một hộp văn bản. 1.1 Tạo và sử dụng Macro Xét CSDL SINHVIEN trong bài tập của chương 4, giả sử dùng Form Wizard đã tạo được biểu mẫu “HoSo mainform” để nhập dữ liệu cho hai bảng HoSo và GiaDinh (trong biểu mẫu này có một biểu mẫu con là “GiaDinh subform”). Ta cần tạo một macro thực hiện ba hành động: Hiện một thông báo với nội dung “Hãy chuẩn bị để nhập hồ sơ sinh viên mới”, làm cực đại cửa sổ hiện hành, mở mẫu biểu “Hoso mainform” để nhập dữ liệu. Quá trình thực hiện như sau: Bước 1: Trong cửa sổ Database chọn đối tượng Macros, nháy nút New xuất hiện cửa sổ thiết kế như hình 6.1 Hình 6.1
  44. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 96 Trong cửa sổ này có 3 thành phần: cột Action dùng để nhập một hành động trong macro, cột Comment ghi chú thích cho hành động vừa chọn, khung Action Arguments dùng để nhập các đối số hay thông tin của hành động. Bước 2: Đưa các hành động vào Macro - Chọn hành động MsgBox trong cột Action, xác định các thông số trong khung Action Argument tương ứng như sau: Message: “Hãy chuẩn bị để nhập hồ sơ sinh viên mới” Beep: Yes Type: Information Tile: Thong bao - Chọn hành động Maximize - Chọn hành động OpenForm, xác định các đối số như sau: Form name: HoSo mainForm View: Form (mở mẫu biểu ở chế độ Form view) Bước 3: Đóng cửa sổ thiết kế và đặt tên cho Macro là M_moFormHoSo Chú ý: Ta chạy Macro bằng cách nháy đúp chuột lên tên của Macro hoặc nháy nút Run trên thanh công cụ. 1.2 Các hành động Macro thường dùng OpenTable: mở một bảng theo chế độ Datasheet, Design hay Print Preview. OpenQuery: mở một truy vấn theo chế độ Datasheet, Design hay Print Preview. OpenForm: mở một mẫu biểu theo chế độ Form, Datasheet, Design hay Print Preview. OpenReport: mở một báo biểu theo chế độ Print, Print Preview hay Design. RunMacro: chạy một macro, đối số Repeat Count: số lần lặp lại. RunApp: Chạy một ứng dụng trong Windowns. ReQuery: Cập nhật dữ liệu cho đối tượng.
  45. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 97 Close: Đóng các đối tượng đang mở như Table, Query, Form, Report. Quit: Thoát khỏi Access. MsgBox: hiển thị hộp thông báo. GotoRecord: di chuyển bản ghi (trước, sau, đầu, cuối, số ) trên Table, Query và Form. GotoControl: di chuyển con trỏ đến điều khiển xác định trên Form. Maximize: Cựa đại cửa sổ hiện hành. Minimize: Cựa tiểu cửa sổ hiện hành. MoveSize: di chuyển và định lại kích thước của cửa sổ. Restore: khôi phục lại kích thước cửa sổ. Beep: Phát âm thanh ra loa. 1.3 Gắn Macro với các sự kiện trên Form/Report Macro có thể gắn với các sự kiện trên Form hay Report như nháy chuột, ấn phím, di chuyển chuột thực hiện trên bề mặt Form. Nhờ đó ta có thể dùng Form tạo một giao diện dễ sử dụng cho chương trình. Giả sử trong CSDL Sinhvien trong bài tập của chương 4 đã mô tả hai bảng HOSO và GIADINH. Ta tạo các Query, Form, Report, Macro như sau: - Query “Truy vấn điểm trung bình” gồm các cột MaSV, Ho, Ten, Khoa, GiaiTich, Daiso, Tinhoc, Triethoc, Anhvan, DiemTB(bằng điểm trung bình của cả 5 môn) lấy từ bảng HOSO. - Form “HoSo mainform” để nhập dữ liệu cho hai bảng HOSO và GIADINH(trong mẫu biểu này có một mẫu biểu con là “GiaDinh Subform” ) - Report “báo cáo điểm trung bình”: lấy dữ liệu từ “truy vấn điểm trung bình” nhưng nhóm dữ liệu theo từng khoa, cuối mỗi nhóm có tính trung bình từng cột. - Macro “Mở truy vấn điểm trung bình”: gồm hai hành động: cựa đại cửa sổ hiện hành, mở truy vấn “truy vấn điểm trung bình” ở dạng Datasheet. - Macro “Mở mẫu biểu HoSo mainform”: gồm hai hành động: cựa
  46. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 98 đại cửa sổ hiện hành, mở mẫu biểu “Hoso mainform” ở dạng Datasheet. - Macro “Mở báo cáo điểm trung bình”: gồm hai hành động: cựa đại cửa sổ hiện hành, mở báo biểu “báo cáo điểm trung bình”. - Macro “Kết thúc chương trình” gồm hai hành động: hành động MsgBox để thông báo “bạn cần lưu dữ liệu trước khi kết thúc chương trình” có kiểu là “Warning!”, hành động Close dùng để đóng Form có tên là “Bảng điều khiển chính” (đây là Form giao diện chính của chương trình). Sau đây sẽ trình bày cách xây dựng một Form để liên kết tất cả cá đối tượng đã xây dựng trong CSDL để người dùng không biết Access cũng dễ dàng sử dụng chương trình. Form này gọi là “Bảng điều khiển chính”: Như hình 6.2 Hình 6.2 Cách thức thực hiện như sau: Bước 1: Tạo một Form không có dữ liệu nguồn ở chế độ Design View, đặt các thuộc tính của Form như sau: Scroll Bars: No Record Selectors: No Navigation Buttons: No Dividing Lines: No Bước 2: Tạo 2 nhãn “CHƯƠNG TRÌNH QUẢN LÝ SINH VIÊN” và “TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI”. Bước 3: tạo các nút như sau: - Nút “nhập dữ liệu cho sinh viên”: Nháy vào nút Command Button trên Toolbox và kéo lên Form, xuất hiện hộp thoại của Command Button
  47. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 99 Wizard(nếu nút ở chế độ này được bật sáng), nháy nút Cancel để thoát khỏi Wizard. Chọn View/Properties để hiển thị các thuộc tính của nút lệnh. Đặt các thuộc tính như sau: Name: “Nhap” Caption: “Nhập dữ liệu cho sinh viên” On Click: chọn Macro “Mở mẫu biểu HoSo mainform” - Tương tự với nút lệnh “Xem điểm của sinh viên”, ta thiết lập các thuộc tính như sau: Name: “Xem” Caption: “Xem điểm của sinh viên” On Click: chọn Macro “Mở truy vấn điểm trung bình” Nút lệnh “Báo cáo điểm theo khoa”, ta thiết lập các thuộc tính như sau: Name: “Baocao” Caption: “Báo cáo điểm theo khoa” On Click: chọn Macro “Mở báo cáo điểm trung bình” - Nút lệnh “Kết thúc chương trình”, ta thiết lập các thuộc tính như sau: Name: “ketthuc” Caption: “Kết thúc chương trình” On Click: chọn Macro “Kết thúc chương trình” Bước 4: ghi và đặt tên Form là “Bang dieu khien chinh” 1.4 Macro AutoExec Macro là một macro đặc biệt, nó tự động chạy mỗi khi CSDL mở. Do đó nếu nó chứa hành động OpenForm để mở mẫu biểu “Bang dieu khien chinh” đã lập trong mục trên thì mỡi khi mở CSDL SINHVIEN Form sẽ tự động chạy cho ta một giao diện chường quản lý sinh viên. Macro với tên AutoExec là duy nhất trong CSDL, mỗi CSDL nên có macro AutoExec để tiện cho người sử dụng.
  48. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 100 BÀI TẬP CHƯƠNG 6 Xây dựng giao diện cho tất cả các ví dụ và bài tập của các chương trước.
  49. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 101 TÀI LIỆU THAM KHẢO [1] Phạm Văn Ất, Hướng dẫn sử dụng Microsoft Access97. [4] Bùi Thế Tâm, Giáo trình Microsoft Access, NXB GTVT, 2005. [5] VN-Guide, Microsoft Access 2000 cho mọi người, NXB Thống kê, 1999.
  50. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 102 MỤC LỤC Lời nói đầu 1 Chương 1: TỔNG QUAN VỀ MICROSOFT ACCESS 2 1. GIỚI THIỆU VỀ MICROSOFT ACCESS: 2 2. LÀM VIỆC VỚI MICROSOFT ACCESS: 3 2.1 Khởi động Access: 3 2.2 Tạo một cơ sở dữ liệu mới: 4 2.3 Làm việc với cơ sở dữ liệu đã tồn tại: 6 Chương 2: BẢNG VÀ MỐI QUAN HỆ 8 1. Cấu trúc của một bảng: 8 2. Thiết kế bảng: 8 2.1. Tạo bảng: 8 2.2. Đặt khóa: 11 2.3. Thuộc tính của trường: 12 3. THIẾT LẬP QUAN HỆ GIỮA CÁC BẢNG 11 3.1 Mối quan hệ giữa các bảng 11 3.2 Cách tạo quan hệ 11 3.3 Chỉnh sửa quan hệ 13 3.4 Tạo các toàn vẹn tham chiếu 13 BÀI TẬP CHƯƠNG 2 15 CHƯƠNG 3 17 TRUY VẤN 17 1. TỔNG QUAN VỀ TRUY VẤN 17 2. THAO TÁC TRÊN TRUY VẤN 17 2.1 Các bước tạo một truy vấn mới
  51. GIÁO TRÌNH HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRANG 103 17 2.2 Đặt điều kiện trong truy vấn 20 2.3 Tạo trường tính toán trong truy vấn 21 2.4 Thuộc tính của trường và truy vấn 21 2.5 Các phép toán và một số hàm trong Access 22 3. CÁC LOẠI TRUY VẤN KHÁC 26 3.1 Truy vấn tính tổng (Totals) 26 3.2 Truy vấn thông số (Parameter Query) 27 3.3 Truy vấn Crosstab 29 3.4 Truy vấn tạo bảng (Make Table Query) 33 3.5 Truy vấn bổ sung (Append Query) 34 3.6 Truy vấn xoá (Delete Query) 36 3.7 Truy vấn chỉnh sửa (Update Query) 37 CHƯƠNG 4 43 MẪU BIỂU 43 1. TẠO MẪU BIỂU BẰNG AUTOFORM VÀ WIZARD 43 1.1 Tạo mẫu biểu bằng AutoForm 43