Giáo trình Lập trình quản lý - Huỳnh Tôn Nghĩa

pdf 278 trang hapham 3470
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Lập trình quản lý - Huỳnh Tôn Nghĩa", để 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_lap_trinh_quan_ly_huynh_ton_nghia.pdf

Nội dung text: Giáo trình Lập trình quản lý - Huỳnh Tôn Nghĩa

  1. TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN   ISO 9001:2000 GIÁO TRÌNH Lập trình Quản lý với Biên soạn: Huỳnh Tôn Nghĩa Tháng 9/2009
  2. Lời nói đầu Trong thời đại “kỹ thuật số” ngày nay, máy tính trở thành một công cụ hỗ trợ tích cực không thể thiếu trong mọi lĩnh vực. Đặc biệt đối với người làm công tác quản lý, máy tính trở thành một thiết bị cần thiết hành đầu cho người dùng. Hiện tại có rất nhiều phần mềm thuộc hệ quản trị cơ sở dữ liệu rất mạnh và tiện ích. Việc lựa chọn phần mềm hệ quản trị cơ sở dữ liệu nào để thiết kế chương trình quản lý cho công việc của bạn là quan trọng. Nó quyết định sự phát triển cho hệ thống tổ chức quản lý thông tin trên máy vi tính của công ty bạn. Giáo trình này giới thiệu cho các bạn phần mềm hệ quản trị cơ sở dữ liệu Microsoft Office Access 2007 – một phần mềm với tính năng nổi trội là tiện ích, dễ sử dụng. Tuy nhiên Microsoft Office Access 2007 cũng chỉ dừng lại ở mức độ “Office”; Nó chỉ phù hợp cho việc thiết kế các chương trình quản lý ứng dụng ở mức độ vừa phải và tính bảo mật không khắc khe lắm. Giáo trình Lập trình Quản lý với Microsoft Office Access nhằm giúp cho các bạn có thể tự học, tự nghiên cứu làm chủ được công việc của mình trong việc thiết lập một chương trình quản lý bằng Microsoft Office Access 2007. Mặc dù, đã cố gắng biên soạn nhằm giúp cho bạn đọc những kiến thức hữu ích nhất, dễ hiểu nhất. Song chắc chắn rằng cuốn giáo trình này không tránh khỏi những sơ sót. Tác giả chân thành mong nhận được nhiều sự đóng góp của bạn đọc và đồng nghiệp để cuốn giáo trình này ngày càng hoàn thiện hơn. Cuối cùng xin chúc các bạn thành công trong việc sử dụng phần mềm hệ quản trị cơ sở dữ liệu Microsoft Office Access 2007 để xây dựng thành công các chương trình ứng dụng quản lý trong công việc của mình. TP. Hồ Chí Minh, tháng 9 năm 2009
  3. Bài 1. TỔNG QUAN VỀ ACCESS 2007 1.1. KHÁI NIỆM HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ - Cơ sở dữ liệu (Database): Là một tập hợp các dữ liệu cĩ liên quan với nhau chứa thơng tin về một tổ chức nào đĩ (như một trường đại học, một ngân hàng, một cơng ty, một nhà máy, ), được lưu trữ trên các thiết bị nhớ như đĩa từ, băng từ ) để đáp ứng nhu cầu khai thác thơng tin của nhiều người sử dụng với nhiều mục đích khác nhau. - Mơ hình CSDL quan hệ: Theo mơ hình này, dữ liệu bên ngồi được đưa vào máy tính thể hiện trong các bảng. Mỗi bảng gồm nhiều cột và nhiều dịng. Mỗi cột cĩ một tên duy nhất mơ tả về một thuộc tính của thực thể mà ta đang quản lý gọi là trường hoặc vùng (field). Mỗi dịng mơ tả thơng tin chi tiết về các thuộc tính của một đối tượng cụ thể trong quản lý gọi là một bản ghi hay một bộ (Record). - Hệ Quản Trị CSDL quan hệ: là phần mềm dùng để tạo lập CSDL theo mơ hình CSDL quan hệ và thao tác trên CSDL đĩ. 1.2. GIỚI THIỆU ACCESS 2007 1.2.1. XUẤT XỨ Access 2007 là một phần mềm hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System : RDBMS) chạy trên mơi trường Windows 2000 trở lên thuộc bộ Office 2007 do hãng phần mềm MicroSoft sản xuất. Đây là một phần mềm chuyên dùng trong quản lý, là hệ thống các chương trình hỗ trợ các tác vụ quản lý, khai thác dữ liệu lưu trữ trên máy tính theo mơ hình cơ sở dữ liệu quan hệ thực thể kết hợp. Hình 1.1: Giới thiệu Microsoft Access 2007. 1.2.2. BẮT ĐẦU LÀM VIỆC VỚI ACCESS 2007 1.2.2.1 Khởi động Access 2007 1
  4. CáchU 1U : Gọi từ menu Start, chọn Programs, Microsoft Office, rồi chọn MicroSoft Office Access 2007. Hình 1.2 : Khởi động MS Access từ menu Start. CáchU 2U : Nếu đã cĩ sẵn một Shortcut trên màn hình Desktop cho Access 2007, double Click vào Shortcut này. Hình 1.3 : Biểu tượng MS Access trên desktop. CáchU 3:U Gọi menu Start, chọn Run rồi gõ vào tên đầy đủ của tập tin thực thi ACCESS.EXE Hình 1.4 : Khởi động MS Access từ hộp thoại Run. 2
  5. Sau khi khởi động ta cĩ màn hình giao diện làm việc giữa người sử dụng với Access 2007 như sau: Hình 1.5 :Màn hình làm việc đầu tiên giữa người sử dụng với Access 2007 . 1.2.2.2 Làm việc với trang Getting Started Trong trang mở màn bắt đầu làm việc với Access 2007 nĩ phục vụ cho người dùng ba mục đích sau:  Từ màn hình giao diện ban đầu này người dùng cĩ thể làm việc với Office Online Website của hãng Microsoft về những vấn đề liên quan đến phần mềm Microsoft Access 2007 nếu máy bạn cĩ kết nối với Internet. Ta cĩ thể Click chuột vào một trong những liên kết sau đây để đọc các thủ thuật hữu ích từ Office Online Website của hãng Microsoft. 3
  6. Hình 1.5.1 :Màn hình Office Online Website của Microsoft Access 2007 .  Từ màn hình giao diện ban đầu này người dùng cĩ thể mở nhanh một file cở sở dữ liệu của Access mà ta sử dụng gần đây hoặc các file cơ sở dữ liệu đã tồn tại trên đĩa. Ta cĩ thể Click chuột vào một tên file cần mở hoặc Click chuột vào “More” để mở các file đã tồn tại khác. Hình 1.5.2 :Màn hình để chọn mở một file cơ sở dữ liệu của Access 2007.  Từ màn hình giao diện ban đầu này người dùng cũng cĩ thể Click chuột vào mục Blank Database để tạo một file cơ sở dữ liệu mới của Access. Hình 1.5.3 :Mục để Click vào tạo ra một file cơ sở dữ liệu mới trong Access. 1.2.2.3 Giới thiệu về các khuơn mẫu (Templates) trong Access 2007 Các template là các cơ sở dữ liệu đã tạo sẵn. Các template nhằm mục đích giúp người dùng tiết kiệm cơng sức để tạo các cở sở dữ liệu của mình và cho phép ta cĩ thể đi thẳng đến giai đoạn tinh chỉnh và nhập dữ liệu thơng qua bốn chủ đề chính. Hình 1.5.4 :Mục để Click vào tạo ra một file cơ sở dữ liệu mới theo chủ đề. - Business: Chủ đề quản lý trong thương mại - Personal: Chủ đề quản lý về nhân sự - Sample: Một số mẫu ví dụ minh họa - Education: Chủ đề quản lý trong giáo dục 4
  7. a) TẠO TẬP TIN CSDL MỚI Trong màn hình Getting Started Click chuột vào nút Blank Database Hình 1.6 : Màn hình khi Click chọn Blank Database Trong hộp thoại File Name gõ vào tên file cần tạo (kể cả đường dẫn nếu cần thiết hoặc Click vào biểu tượng folder bên phải để chọn folder chứa file CSDL mới). Mặc định khi một file Access 2007 mới được tạo lập nĩ sẽ tự động cĩ tên là DatabaseX.accdb được lưu trữ trong My Documents trên máy của bạn. Tất cả các đối tượng cơ sở dữ liệu trong Access sẽ được chứa đựng trên một file duy nhất cĩ phần mở rộng là accdb thay cho phần mở rộng mdb mà các phiên bản Access trước đĩ sử dụng. (Chú ý: Access 2007 cĩ thể mở và làm việc với một file cĩ phần mở rộng là mdb của các phiên bản Access trước 2007). 5
  8. Hình 1.7 : Hộp thoại dùng xác định tên và vị trí lưu tập tin CSDL mới. Click chuột vào nút OK để tạo lập. b) MỞ TẬP TIN CSDL ĐÃ CĨ Hình 1.8 : Chọn mở file CSDL đ c ở mục Open Recent Database 6
  9.  Từ màn hình Getting Started ta cĩ thể mở một tập tin cơ sở dữ liệu Access đã được tạo trước đĩ. Trong khung liệt kê danh sách các tập tin đã được thao tác gần đây (recently files) để lựa chọn mở nhanh lại, hoặc Click vào More Files để mở hộp thoại Open, lựa chọn các tập tin khác để mở. Sau khi lựa chọn tập tin cần mở, Click nút Open. Hình 1.9 : Hộp thoại Open để chọn tập tin cần mở . 7
  10. Hình 1.10 : Màn hình làm việc khi một File cơ sở dữ liệu của Access đang mở . Chú ý: Trong màn hình 1.10 ta thấy cĩ một thơng báo lạ là: Hình 1.11 : Dịng cảnh báo của Access khi mở một file CSDL đ cĩ sẵn Nếu giữ dịng cảnh báo này thì Access sẽ khơng cho ta sử dụng những thao tác can thiệp thay đổi dữ liệu trong file CSDL này. Việc này ta sẽ thấy rõ khi chạy các Action Query để thay đổi dữ liệu trong Table hoặc các Action cĩ khả năng làm thay đổi dữ liệu của Macro. Để ta cĩ tồn quyền can thiệp vào dữ liệu của file đang mở, từ hình 1.11 ta Click chuột vào nút Options sau đĩ chọn Enable this content và Click chuột vào nút OK. 8
  11. Hình 1.12 : Hộp thoại xuất hiện khi Click chuột vào nút Options 1.2.3. MÀN HÌNH LÀM VIỆC CỦA ACCESS 2007 Sau khi khởi động Access, cửa sổ chính Access xuất hiện như sau: Hình 1.13: Màn hình làm việc của Microsoft Access 2007. Trong màn hình của một file cơ sở dữ liệu ta cĩ giao diện bao gồm các thành phần chính như sau: 9
  12. Nút Office nằm ở gĩc trên trái của màn hình dùng để kích hoạt Menu chính. Hình 1.13.1: Menu chính xuất hiện khi Click chuột vào nút Office Thanh cơng cụ Quick Access: Xuất hiện ở trên cùng màn hình chứa các nút cơng cụ chính để làm việc với File cơ sở dữ liệu của Access. Hình 1.13.2: Thanh cơng cụ Quick Access Thanh cơng cụ Ribbon: Xuất hiện ở phía trên màn hình gom nhĩm các lệnh của Access lại với nhau. Thanh ribbon này cho phép ta thực hiện các tác vụ khác nhau lên file cơ sở dữ liệu. Hình 1.13.3: Thanh Ribbon 10
  13. Khung định hướng: Nằm dọc bên trái màn hình cho phép ta thu gọn hoặc khai triển để quan sát và làm việc với các đối tượng chứa trong file cơ sở dữ liệu đang làm việc. Click chuột vào đây để thu gọn hoặc khai triển Hình 1.13.4a. Khung định hướng Hình 1.13.4b.Khung định hướng khi được khai khi đang thu gọn triển Khi Click chuột vào nút trên thanh định hướng ta cĩ các lựa chọn như sau: 11
  14. Các mục chọn của Navigate To Category Custom: Các đối tượng bên trong khung hiển thị theo sự lựa chọn của người sử dụng. Object Type: Các đối tượng trong khung sắp xếp theo kiểu đối tượng. Tables and Related Views: Các đối tượng bên trong khung sắp xếp theo mối quan hệ của các đối tượng khác với từng Table. Created Date: Các đối tượng bên trong khung sắp xếp theo ngày giờ tạo lập. Modified Date: Các đối tượng bên trong khung sắp xếp theo ngày giờ cập nhật. Các mục chọn của Filter by Group Tables: Trong khung chỉ hiển thị tên các Table. Queries:Trong khung chỉ hiển thị tên các Hình 1.13.4c:Các chọn lựa Query. khi Click chuột vào nút xổ xuống trong khung định Forms:Trong khung chỉ hiển thị tên các hường. Form. Reports:Trong khung chỉ hiển thị tên các tên report. Macros: Trong khung chỉ hiển thị tên các macro. Modules: Trong khung chỉ hiển thị tên các module. All Access Objects:Trong khung hiển thị tồn bộ các đối tượng. 1.3. KH I NIỆM VỀ CƠ SỞ DỮ LIỆU ACCESS 1.3.1. TẬP TIN CƠ SỞ DỮ LIỆU Microsoft Access 2007 làm việc với tập tin CSDL (Database) cĩ phần mở rộng là accdb. Cơ sở dữ liệu là tập hợp các thơng tin liên quan đến một chủ đề quản lý nào đĩ. 1.3.2. C C TH NH PHẦN CHÍNH TRONG TẬP TIN CSDL  TABLES : (Bảng dữ liệu) là thành phần cơ bản quan trọng nhất của CSDL; Nĩ được thiết kế dưới dạng bảng dùng để lưu trữ thơng tin chi tiết về các thực thể mà chương trình quản lý của ta quan tâm tới. Thơng tin của mỗi loại thực thể được lưu trữ bên trong một Table. Tùy theo mỗi chương trình quản lý của ta cĩ liên quan đến bao nhiêu loại thực thể mà ta cĩ bấy nhiêu Table để chứa 12
  15. thơng tin tương ứng. Nĩ ghi các tất cả các biến động phát sinh thơng tin về các thực thể trong quá trình làm việc. Hình 1.14: Cơ sở dữ liệu BANHANG.Accdb chứa Table T_HosoNV.  QUERIES : (Bảng truy vấn) Là cơng cụ dùng để truy vấn dữ liệu và thực hiện các thao tác trên dữ liệu của Table. Nĩ cịn được sử dụng để làm nguồn dữ liệu cung cấp cho Form và Report cĩ tính định dạng cao hơn Table. Hình 1.15: Query Q_Chamcong. 13
  16.  FORMS : (Biểu mẫu) Là cơng cụ dùng để thiết kế màn hình nhập liệu, theo dõi dữ liệu hoặc thiết kế màn hình giao diện giao tiếp giữa chương trình quản lý với người sử dụng thơng qua các màn hình điều khiển hoạt động của chương trình ứng dụng. Hình 1.16.1: Form F_HosoNV dùng để theo dõi và cập nhật dữ liệu cho Table T_hosoNV. Hình 1.16.2: Form F_TienichHD dùng để điều khiển hoạt động quản lý hĩa đơn 14
  17.  REPORTS : (Báo biểu) Là kết xuất sau cùng của quá trình xử lý dữ liệu từ Table hoặc là dữ liệu kết quả của Query để tạo ra các bảng thống kê báo cáo hoặc các nhãn biểu cĩ thể xem trên màn hình hoặc in ra máy in. Báo cáo trong report cĩ nhiều hình thức trình bày phong phú, đẹp mắt, khơng những gồm chữ, số mà cĩ thể cĩ hình ảnh, đồ thị, Hình 1.17.1: Report R_Chamcong in bảng chấm cơng hàng tháng cho nhân viên Hình 1.17.2: Report R_theNV in bảng thẻ của từng nhân viên căn cứ vào dữ liệu chứa trong Table T_hosoNV 15
  18.  MACROS : (Tập lệnh) Là cơng cụ để tạo ra các tập lệnh (Actions) nhằm tự động hố các thao tác thường ngày thay vì phải lặp lại một cách nhàm chán, tốn thời gian. Khi chạy một macro, Access thực hiện tự động hàng loạt các thao tác đã được ghi lại trong macro. Cơng cụ của Access giúp tạo các hành động đơn giản khi xây dựng ứng dụng mà khơng cần dùng ngơn ngữ lập trình. Hình 1.18 : Một macro gồm 3 thao tác.  MODULES : Một dạng tự động hố cao cấp và chuyên sâu hơn macro. Đĩ là những hàm và thủ tục riêng của người dùng được soạn thảo bằng ngơn ngữ Visual Basic (VBA : Visual Basic for Application), dành cho các lập trình viên quản lý. Ý nghĩa chung khi sử dụng tập lệnh hoặc bộ mã lệnh là để liên kết các thành phần khác nhau trong tập tin cơ sở dữ liệu Access lại với nhau, nhằm tự động hố các thao tác cần thiết khi cĩ tác động của người sử dụng. 16
  19. Hình 1.19 : Màn hình hiển thị các thủ tục và hàm trong bộ m lệnh. 1.3.3. C C THAO T C TR N FILE CSDL a) TẠO MỚI TẬP TIN CSDL - Click chuột nút Office chọn New - Hoặc bấm vào nút New trên thanh Quick Access - Hoặc bấm Ctrl+N b) MỞ TẬP TIN CSDL ĐÃ CĨ - Click chuột nút Office chọn Open - Hoặc bấm vào nút Open trên thanh Quick Access - Hoặc bấm Ctrl+O Xuất hiện hộp thoại Open để ta chọn tên file CSDL cần mở c) ĐĨNG TẬP TIN CSDL - Click chuột nút Offce chọn Close Database - Hoặc bấm vào nút Close trên cửa sổ Database - Hoặc bấm Ctrl+C d) Lưu file CSDL hiện hành với phiên bản Access trước phiên bản 2007 - Click chuột nút Office chọn Save as Chọn phiên bản Access để lưu Hình 1.20 : Mục Save as của Menu File khi được kích hoạt 17
  20. e) IMPORT C C TH NH PHẦN TRONG TẬP TIN CSDL - Mở tập tin CSDL đích (CSDL cần nhận dữ liệu). Thí dụ: BANHANG.ACCDB - Triển khai khung Navigation Pane (nếu khung này chưa được khai triển) Click vào đây để khai triển khung định hướng Navigation Pane Hình 1.21 : Màn hình để khai triển khung Navigation Pane. - Click phải chuột vào ngăn chứa đối tượng cần Import 18
  21. Hình 1.22 : Short Menu xuất hiện khi Click phải chuột vào ngăn đối tượng - Chọn mục Import / Access Database - Chọn tập tin CSDL nguồn trong hộp thoại Import rồi bấm vào nút Import. Thí dụ chọn BANHANG2008.MDB Hình 1.23 : Hộp thoại Import Objects dùng để chọn các Object trong CSDL nguồn 19
  22. - Chọn thành phần cần Import (Tables, queries, ) - Chọn đối tượng trong thành phần cần Import (cĩ thể chọn hết bằng cách bấm vào nút Select All). Sau đĩ bấm vào nút OK. 1.4. CHUẨN BỊ MƠI TRƯỜNG L M VIỆC BAN ĐẦU Thực hiện phần này để nhập số liệu kiểu ngày theo dạng dd/mm/yy (ngày/tháng/năm) theo kiểu Việt Nam, và định dạng kiểu biểu diễn của kiểu dữ liệu số. Chọn Start- Control Panel và chọn mục Regional and Language Options (Windows XP). Hình 1.24 : Cửa s Control Panel. - Trong cửa sổ Regional and Language Options, Click chọn nút Customize 20
  23. Hình 1.25: Cửa s Regional and Language Options - Trong cửa sổ Customize Regional Options ta cĩ thể chọn: 1.4.1. DẠNG THỨC HIỂN THỊ S Chọn thẻ Numbers- Xem và hiệu chỉnh các mục sau: Decimal symbol: Ký hiệu phân cách phần nguyên và phần thập phân. No. of digits after decimal: Số ký số ở phần thập phân. Digit grouping symbol: Ký hiệu phân cách phần ngàn, triệu, List separator: dấu phân cách dùng phân cách các đối số trong hàm Access (dùng trong cả Excel, Word, ) Measurement system: Chọn đơn vị đo lường US (inch) hoặc Metric (centimeter). Hình 1.26: Thẻ Number dùng xác lập dạng thức hiển thị số 21
  24. 1.4.2. DẠNG THỨC HIỂN THỊ NG Y Chọn thẻ Date – Xem và hiệu chỉnh các mục sau: Calendar: Điều chỉnh lịch (mặc định 1930-2029). Short date Format: Định dạng ngày, cĩ thể chọn dd/MM/yy (day: ngày; Month:tháng; year:Năm). Date separator: Dấu phân cách các thơng số ngày. Long date Format: Định ngày dạng đầy đủ. Sau cùng Click nút OK để xác nhận việc định dạng. Hình 1.27: Thẻ Date dùng xác lập dạng thức hiển thị ngày 22
  25. Bài 2. TABLE – BẢNG DỮ LIỆU 2.1. CẤU TRƯC CƠ BẢN CỦA M T TABLE Header Row Field Name (Dịng tiêu đề) (tên cột) Record (mẩu tin) Hình 2.1: Cấu tr c của Table T_KHACHHANG. Mỗi cột dữ liệu mơ tả một thuộc tính của thực thể mà ta quản lý gọi là trường (Field). Tập hợp các cột dữ liệu (fields) tạo nên cấu trúc của Table. Mỗi dịng chứa thơng tin chi tiết về các thuộc tính của một thực thể xác định gọi là Record; Tập hợp các mẩu tin (Records) tạo nên nội dung của Table. 2.2. TẠO TABLE Cĩ hai cách để tạo ra một Table mới là: Datasheet view: Với cách này ta cĩ thể nhập dữ liệu vào bảng sau đĩ khai báo lại tiêu đề các tên cột tương ứng. Design View: Cho phép ta xây dựng cấu trúc của Table trước sau đĩ mới nhập nội dung của Table đây chính là cách chuyên nghiệp nhất để xây dựng một Table. 2.2.1. TẠO TABLE BẰNG PHƯƠNG PHÁP DATASHEET VIEW Từ màn hình chính chọn phiếu Create sau đĩ Click chuột vào mục Table 23
  26. Hình 2.2 : Màn hình xuất hiện khi Chọn phiếu Create và Click chuột vào mục Table Trong cột Add New Field lần lượt nhập nội dung của từng thuộc tính của mẩu tin đầu tiên rồi nhấn Enter hoặc phím Tab để chuyển đến trường kế tiếp. Access sẽ tự động thêm tiếp một cột Add New Field mới. Cột vừa mới nhập thơng tin sẽ tự động đổi tên thành Field1, Nhập vào nội dung của trường kế tiếp Bắt đầu nhập thơng tin thuộc tính đầu tiên của Table ở đây Hình 2.3 : Màn hình tạo Table bằng phương pháp Datasheet view 24
  27. Sau khi nhập xong mẩu tin đầu tiên ta cĩ thể Click chuột vào dịng tiếp theo để tiếp tục nhập nội dung của mẩu tin thứ 2, 3, Hình 2.4 : Màn hình minh họa việc nhập tiếp tục mẩu tin kế tiếp Bước tiếp theo nên chỉnh sửa lại tiêu đề của các cột dữ liệu để phù hợp với nội dung nĩ chứa bằng cách Click kép chuột vào tiêu đề cột hoặc Click phải vào cột chọn mục Rename Column sau đĩ gõ lại tên cột phù hợp. Hình 2.5 : Màn hình minh họa cách đ i tên cột. 25
  28. Click chuột vào nút Save (Ctrl+S) để lưu lại Table. Hình 2.6 : Màn hình minh họa khi lưu Table Gõ vào tên Table tương ứng trong hộp thoại Save as (tên mặc nhiên là Table1) rồi nhấn Ok. (Nên đặt tên Table theo nguyên tắc bắt đầu là chữ T_tên gợi ý. ví dụ T_HosoNV) Chú ý: Hạn chế của cách tạo Table bằng phương pháp Datasheet View là Access sẽ khơng biết rõ ràng kiểu thơng tin nào mà ta cĩ ý định lưu trữ bên trong mỗi trường của bảng; Nên phương pháp này ít khi được những người chuyên nghiệp sử dụng. 2.2.2. TẠO TABLE BẰNG PHƯƠNG PHÁP DESIGN VIEW a) TẠO CẤU TRÚC TABLE (CÁC C T CỦA BẢNG) Từ màn hình Create Click chuột vào mục Table Design 26
  29. Hình 2.7 : Màn hinh khi Click chuột vào phiếu Create và chọn Table Design Trong màn hình thiết kế ta khai báo các mục sau: Hình 2.8 : Màn hình thiết kế Table Design view . 27
  30.  Field Name (tên cột): o Phải bắt đầu bằng ký tự chữ (A-Z, a-z) hoặc số. o Trong tên vùng cĩ thể cĩ khoảng trắng, nhưng khơng chứa các dấu nháy, dấu chấm câu, dấu []. o Chiều dài tối đa 64 ký tự. o Thường đặt tên ngắn gọn, gợi ý, khơng cĩ khoảng trắng, dấu tiếng việt.  Data Type : Chọn kiểu dữ liệu (xem mục 2.3).  Description : Ghi chú hay diễn giải ý nghĩa của một Field (khơng bắt buộc)  Filed Properties : Các thuộc tính chi tiết của một kiểu dữ liệu b) KHĨA CỦA TABLE Khĩa chính Primary key : - Kh a chính của Table cĩ thể là một hay kết hợp của nhiều cột (field) để Access nhận diện duy nhất mỗi Record trong Table và nĩ cịn dùng để liên kết dữ liệu giữa các Table. - Hệ quả : Giá trị trên cột làm khĩa chính khơng được để trống và khơng được trùng nhau. Nĩ khẳng định được tính duy nhất của thực thể trong tập thực thể. Đ t khĩa chính cho Table : - Chọn cột cần đặt khĩa chính (nếu chọn nhiều ta phải kết hợp với phím Shift hoặc Ctrl) - Click chuột vào nút Primary Key Khĩa ngoại Foreign key): - Kh a ngoại là một hoặc nhiều trường trong một Table, Nĩ khơng phải là khĩa chính của Table này nhưng lại là khĩa chinh của Table khác. - Hệ quả: Giá trị chứa trên cột làm khĩa ngoại phải tồn tại trong cột mà nĩ làm khĩa chính của Table kia. Nĩ khẳng định được tính tồn tại của thực thể. c) LƯU TRỮ CẤU TRÚC CHO TABLE - Chọn lệnh File / Save hoặc Click vào nút Save Hình 2.9 : Hộp thoại Save As dùng đ t tên cho Table. 28
  31. - Đặt tên cho Table ở ơ Table Name rồi bấm OK d) NHẬP LIỆU CHO TABLE Từ màn hình thiết kế Table (Design view), Click vào nút View Nhập nội dung của các mẩu tin vào Table (chú ý trường khĩa chính khơng được nhập trùng hoặc để rỗng). 2.3. DATA TYPE và FIELD PROPERTIES 2.3.1. KIỂU DỮ LIỆU CỦA FIELD STT Kiểu dữ liệu Ý nghĩa 1 Text Kiểu chuỗi. Chứa ký tự bất kỳ, chiều dài tối đa 255 ký tự. 2 Memo Kiểu ghi nhớ. Văn bản ghi ký tự bất kỳ, tối đa 65535 ký tự. 3 Number Kiểu số. Chứa trị số 4 Date/Time Kiểu ngày. Chứa trị là ngày/ giơ. 5 Currency Kiểu số định đạng tiền tệ. 6 AutoNumber Kiểu số tự động tăng. Khơng nhập hoặc sửa đổi được. 7 Yes/No Kiểu luận lý. Gồm hai giá trị đúng(True), hay sai(False). 8 OLE Object Kiểu đối tượng kết nhúng (hình ảnh, tài liệu Word, Equation, ). 9 Hyperlink Kiểu chuỗi. Là một liên kết siêu văn bản: địa chỉ một trang Web. 10 Attachments Kiểu dữ liệu cho phép đính kèm file bất kỳ làm giá trị của thuộc tính (được bổ sung vào Access 2007) 10 Lookup Tạo các cột để chọn giá trị gán sẵn hoặc lấy từ Table/Query Wizard khác. 2.3.2. C C THU C T NH CỦA FIELD a) CÁC THU C TÍNH FILED CĨ KIỂU TEXT 1 Field size Chiều dài tối đa cho phép nhập liệu. Nếu là văn bản cĩ dấu tiếng Việt , các ký tự là 2 byte. 2 Format Khuơn dạng chung dữ liệu. 3 Input mask Quy định cho từng ký tự nhập (mặt nạ nhập dữ liệu). 4 Caption Chuỗi tiêu đề cột, dùng chế độ mở bảng nhập dữ liệu. 5 Default value Giá trị mặc định ban đầu khi nhập mẩu tin mới. 6 Validation rule Quy tắc kiểm chứng dữ liệu nhập. 7 Validation Text Thơng báo lỗi khi dữ liệu nhập vi phạm quy tắckiểm chứng. 8 Required Yêu cầu bắt buộc nhập dữ liệu trên cột hoặc cĩ thể để trống. Giá trị Yes/No. Nếu chọn Yes, bắt buộc phải nhập 29
  32. dữ liệu. 9 Allow zero length Chọn Yes, nếu chấp nhận chuỗi rỗng. 10 Indexed Chọn một trong các giá trị sau: No: khơng cĩ thứ tự. Yes Duplicate OK: Cĩ thứ tự và cho phép trùng dữ liệu trên cột ở các mẩu tin trong bảng. Yes No Duplicate: Cĩ thứ tự và khơng cho phép trùng dữ liệu trên cột ở các mẩu tin trong bảng (thường ở field tham gia vào khố). Cĩ thể tạo khuơn dạng cho Text hoặc memo sử dụng các ký hiệu trong bảng sau : Ký hiệu Mơ tả @ Ký tự (cĩ thể là khoảng trắng), bắt buộc nhập. & Ký tự, khơng bắt buộc nhập. Chuyển các ký tự sang chữ in (uppercase). Khuơn dạng Text và Memo do người sử dụng tạo cĩ thể cĩ 2 vùng. Mỗi vùng định dạng cho đoạn dữ liệu khác nhau trong field. Vùng Mơ tả Thứ 1 Định dạng các fields với dạng văn bản. Thứ 2 Định dạng các fields với các chuỗi rỗng( zero-length strings) và giá trị Null . Ví dụ : Định dạng @;"None" trong thuộc tính Format. Khi chiều dài chuỗi khác 0, ký hiệu @ sẽ hiện nội dung chuỗi ; và "None" sẽ hiện khi chuỗi cĩ chiều dài =0 hoặc giá trị Null trong vùng. Một số Ví dụ trong bảng : Định dạng Dữ liệu Hiển thị @@@-@@-@@@@ 465043799 465-04-3799 @@@@@@@@@ 465-04-3799 465-04-3799 465043799 465043799 > love LOVE LOVE LOVE Love LOVE < love love LOVE love Love love @;"Unknown" Null value Unknown Zero-length string Unknown Chuỗi xác định Hiện nội dung chuỗi nhập. 30
  33. b) CÁC THU C TÍNH CỦA FIELD CĨ KIỂU NUMBER 1 Field size Chọn Byte, Integer, LongInteger, Single, Double. 2 Format Khuơn dạng chung dữ liệu : General, Currency, Standard, Fixed, Percent, Scientific. 3 Decimal place Số ký số ở phần lẻ. Chọn Auto, hoặc quy định từ 0 đến 15 số lẻ. 4 Caption Chuỗi tiêu đề cột, dùng chế độ mở bảng nhập dữ liệu. 5 Default value Giá trị số mặc định ban đầu khi nhập mẩu tin mới. Chi tiết Filed size: Kiểu chọn Mơ tả Số ký số lẻ Vùng nhớ Byte Giá trị số nguyên từ 0 đến 255. Khơng 1 byte Decimal Giá trị số thực từ -1028 -1 đến 1028 -1. 28 12 bytes Integer Giá trị số nguyên từ –32,768 đến Khơng 2 bytes 32,767. Long Integer (Mặc định) Giá trị số từ – Khơng 4 bytes 2,147,483,648 đến 2,147,483,647. Single Giá trị số thực từ –3.402823E38 đến 7 4 bytes –1.401298E–45 cho số âm và từ 1.401298E–45 đến 3.402823E38 cho số dương. Double Giá trị số thực từ – 15 8 bytes 1.79769313486231E308 đến – 4.94065645841247E–324 cho số âm và từ 1.79769313486231E308 đến 4.94065645841247E–324 cho số dương. Chi tiết Format : Định dạng Mơ tả General (Default) Đúng số được nhập vào. Number Currency Cĩ phân cách phần ngàn, số lẻ (separator) chèn thêm $ Euro Giống như định dạng Currency, tuy nhiên chèn thêm dấu € thay cho dấu $ Fixed Cĩ phân cách phần ngàn và cĩ làm trịn, phụ thuộc vào vị trí số lẻ trong Decimal places Standard Cĩ phân cách phần ngàn, số lẻ Percent Dữ liệu nhập được nhân với 100 và định dạng thêm ký tự % Scientific Dạng số khoa học Định dạng khác (Custom Formats) Người sử dụng cĩ thể tạo khuơn dạng số cĩ 4 phần, phân cách bằng dấu “;” Phần Description Thứ 1 Định dạng cho số dương (positive numbers). Thứ 2 Định dạng cho số âm (negative numbers). 31
  34. Thứ 3 Định dạng cho số 0 (zero values). Thứ 4 Định dạng cho giá trị Null . Ví dụ một dạng định dạng cho Currency : $#,##0.00[Green];($#,##0.00)[Red];"Zero";"Null" Cĩ thể tạo khuơn dạng định dạng số cĩ sử dụng các ký hiệu sau : Ký hiệu Mơ tả . (period) Phân cách phần thập phân. Theo quy định hệ thống(Regional Settings in Windows Control Panel). , (comma) Dấu phân cách hàng ngàn (Thousand separator). 0 Một ký số . Hiển thị ký số hay 0. # Một ký số . Hiển thị ký số hay khơng cĩ gì. $ Hiện ký hiệu "$". % Phần trăm (Percentage). Giá trị được nhân với 100 và sau cĩ ký hiệu %. E– or e– Ký hiệu số khoa học, dạng 0.00E–00 hoăc 0.00E00. E+ or e+ Ký hiệu số khoa học, dạng 0.00E+00. Ví dụ : Định dạng Mơ tả 0;(0);;"Null" Hiển thị giá trị dương bình thường; hiện giá trị âm trong cặp ngoặc đơn (); hiện từ "Null" nếu giá trị là Null. +0.0;–0.0;0.0 Hiện dấu + với giá trị dương; dấu – với giá trị âm; hiện 0.0 nếu là 0. c) CÁC THU C TÍNH CỦA FIELD CĨ KIỂU DATE/TIME 1 Format Gồm các giá trị trong bảng chi tiết . Dạng khác nên tự nhập vào như dd/mm/yy. 2 Input mask Quy định cho từng ký tự nhập (mặt nạ nhập dữ liệu). Chi tiết Format : Định dạng Mơ tả General Date (Default) Ngày giờ đầy đủ. Ví dụ: 4/3/08, 05:34:00 PM Long Date Thứ, ngày, tháng, năm (theo Regional Settings Properties trong Windows Control Panel). Ví dụ: Saturday, April 3, 2008. Medium Date Ngày, tháng, năm. Ví dụ: 3-Apr-08. Short Date Ngày, tháng, năm. Ví dụ: 4/3/08. Long Time Giờ:Phút:giây AM/PM. Ví dụ: 5:34:23 PM. Medium Time Giờ:phút AM/PM. Ví dụ: 5:34 PM. Short Time Giờ:phút. Ví dụ: 17:34. Định dạng khác (Custom Formats) Cĩ thể tạo khuơn dạng định dạng ngày.giờ sử dụng các ký hiệu sau : Ký hiệu Mơ tả : (colon) Dấu cách Giờ:Phút:Giây (theo Regional Settings Properties trong Windows Control Panel). / Dấu phân cách ngày (Date separator). 32
  35. c Ngày chuẩn theo Standard General Date. d Ngày trong tháng, 1 hoặc 2 số tùy theo cần thiết (1-31). dd Ngày trong tháng, luơn 2 số (01- 31). ddd Tên tắt của ngày trong tuần (Sun - Sat). dddd Tên đầy đủ của ngày trong tuần (Sunday - Saturday). ddddd Ngày theo chuẩn Standard Short Date. dddddd Ngày theo chuẩn Standard Long Date. w Ngày trong tuần (1 đến 7). ww Tuần trong năm (1 đến 53). m Tháng trong năm, 1 hoặc 2 số tùy theo cần thiết (1-12). mm Tháng trong năm, luơn 2 số (01- 12). mmm Tên tắt của tháng trong năm (Jan – Dec). mmmm Tên đầy đủ của tháng trong năm (January - December). q Quý trong năm (1 đến 4). y Ngày trong năm (1 đến 366). yy Năm 2 số sau (01 đến 99). yyyy Năm đầy đủ (0100 đến 9999). h Giờ cĩ 1 hoặc 2 số khi cần (0 - 23). hh Giờ cĩ 2 số (00 - 23). n Phút cĩ 1 hoặc 2 số khi cần (0 - 59). nn Phút cĩ 2 số (00 - 59). s Giây cĩ 1 hoặc 2 số khi cần (0 - 59). Ss Giây (00 - 59). ttttt Giờ theo chuẩn Standard Long Time. AM/PM; Giờ theo cách chia thành 12 giờ, AM:sáng ; PM:chiều. am/pm; A/P; a/p; AMPM Ví dụ về custom date/time Formats: Định dạng Hiển thị ddd", "mmm d", "yyyy Mon, Jun 2, 1997 mmmm dd", "yyyy June 02, 1997 "This is week number "ww This is week number 22 "Today is "dddd Today is Tuesday d) MẶT NẠ NHẬP LIỆU (INPUT MASK) Mặt nạ định dạng dữ liệu, dùng để bắt buộc người sử dụng nhập dữ liệu vào bảng phải tuân theo đúng định dạng đĩ. Nĩ được tạo từ sự kết hợp của các ký hiệu dưới đây phụ thuộc vào yêu cầu định dạng dữ liệu khi nhập. Ký tự Mơ tả 0 Ký số 0 > 9, bắt buộc nhập, khơng nhập dấu [+] hoặc [–]. 9 Ký số 0 > 9, và khoảng trắng (space), khơng bắt buộc nhập, khơng nhập dấu [+] hoặc [–]. 33
  36. # Ký số 0 > 9, và khoảng trắng (space), khơng bắt buộc nhập, cho nhập dấu [+] hoặc [–]. L Ký tự A > Z, bắt buộc nhập. ? Ký tự A > Z, khơng bắt buộc nhập. A Ký tự và ký số , bắt buộc nhập. a Ký tự và ký số , khơng bắt buộc nhập. & Bất kỳ một ký tự nào hoặc khoảng trắng, bắt buộc nhập. C Bất kỳ một ký tự nào hoặc khoảng trắng, khơng bắt buộc nhập. . , : ; Các dấu phân cách: số lẻ, phần ngàn, ngày giờ (theo Regional Settings - / Properties trong Windows Control Panel). Chuyển đổi các dữ liệu chuỗi ký tự thường sang in. 2.4. CÁC PHÉP TỐN CƠ BẢN - HẰNG - BIẾN TRONG ACCESS 2.4.1. CÁC PHÉP TỐN CƠ BẢN a) TỐN TỬ S HỌC Tốn tử Phép tốn Cú pháp Cơng dụng Cộng 2 số a và b. Cĩ thể dùng nối 2 chuỗi + Cộng a + b ký tự Trừ 2 số a và b. Cĩ thể dùng để biểu diễn số - Trừ a - b âm * Nhân a * b Nhân 2 số a và b / Chia a / b Chia 2 số a và b cĩ số lẻ thập phân \ Chia nguyên a \ b Chia 2 số nguyên và lấy phần nguyên ^ Lũy thừa a ^ b a lũy thừa b. Ví dụ : 3^2 = 9 Phần dư Mod a mod b a chia b lấy phần dư. Ví dụ: 8 mod 3 = 2 phép chia b) TỐN TỬ SO SÁNH Kết quả trả về là True hoặc False. Các tốn hạng phải cùng kiểu. Tốn tử Phép tốn Cú pháp = So sánh bằng Tốn hạng 1 = Tốn hạng 2 > So sánh lớn hơn Tốn hạng 1 > Tốn hạng 2 = So sánh lớn hơn hay bằng Tốn hạng 1 >= Tốn hạng 2 So sánh khác nhau Tốn hạng 1 <> Tốn hạng 2 c) TỐN TỬ CHUỖI Tốn tử Phép tốn Cú pháp & Ghép chuỗi Chuỗi 1 & Chuỗi 2 Nếu tốn hạng khơng phải là chuỗi sẽ tự động biến thành chuỗi và kết quả nhận được là một chuỗi 34
  37. Nếu cả 2 tốn hạng là Null thì kết quả trả về là Null Like So sánh Biểu thức LIKE khuơn mẫu chuỗi Cĩ thể dùng các ký tự đại diện d) TỐN TỬ LOGIC Tốn tử Phép tốn và cú pháp And Phép Hội. Biểu thức 1 AND Biểu thức 2 Eqv Phép tương đương Biểu thức 1 EQV Biểu thức 2 Not Phép phủ định Or Phép tuyển. Biểu thức 1 OR Biểu thức 2 Xor Phép tuyển loại trừ. Biểu thức 1 XOR Biểu thức 2 Imp Phép bao hàm (Implication) e) TỐN TỬ KHÁC Tốn tử Ý nghĩa ! Tốn tử danh hiệu. Theo sau là tên đề mục do người dùng định nghĩa (Form, report, control, field). Ví dụ: Forms!DonDatHang!SOHD . (dot) Tốn tử danh hiệu. Theo sau là tên một thuộc tính. Ví dụ: Forms!CapNhatHangHoa!MaHH.Visible [] Dấu bao tên các đề mục Between And Xác định giá trị một biểu thức nằm trong một khoảng nào đĩ. Ví dụ: Lọc các mẩu tin cĩ LCB nằm trong khoảng từ 290 đến 310 thì ghi như sau: between 290 and 310 In Xác định giá trị một biểu thức cĩ bằng một trong các giá trị được chỉ định hay khơng. Ví dụ: Xem giá trị của cột HTTT cĩ bằng một trong các giá trị TM, TP, NO ta ghi In(“TM”,”TP”,”NO”) Is Dùng với từ khĩa Null để xác định biểu thức cĩ Null hay khơng *, ? Ký tự đại diện thường dùng với Like 2.4.2. BIỂU THỨC (EXPRESSION) a) KHÁI QUÁT Là thành phần cơ bản của nhiều phép tốn, dùng để chỉ định tiêu chuẩn cho Query, Filter và Macro. Ví dụ: dùng biểu thức để tạo cột tính tốn trong Query: Trigia=[Soluong]*[Dongia] b) THÀNH PHẦN CỦA BIỂU THỨC Là sự kết hợp của các tốn tử và tốn hạng (danh hiệu, hàm, hằng, literal, ) Phần tử Ví dụ Ý nghĩa Tốn tử Các tốn tử đã nĩi ở phần trên Chỉ định một phép tốn Dùng cho một Field, điều Danh hiệu Forms!CapNhatHangHoa!MaHH.Visible khiển hay tính chất 35
  38. Trả về trị dựa trên kết quả Hàm Date, Sum, tính tốn của hàm Biểu diễn 1 giá trị như đã Literal “TM”, 100, #23/06/2006# viết Biểu diễn một trị khơng Hằng True, False, Null, Yes, No đổi 2.5. M T S VẤN ĐỀ CẦN LƯU Ý 2.5.1. KHI TẠO CẤU TRƯC CHO TABLE a) CHƯA LƯU CẤU TRÚC TABLE Khi ta chưa lưu cấu trúc cho Table mà đĩng nĩ lại hoặc chuyển sang nhập liệu. Xuất hiện hộp thoại: Hình 2.10 : Hộp thoại yêu cầu lưu Table. b) CHƯA ĐẶT KHĨA CHÍNH CHO TABLE Khi tạo xong cấu trúc khi chưa đặt khĩa chính cho Table mà lưu lại hoặc chuyển sang nhập liệu. Máy hỏi: Hình 2.11 : Hộp thoại h i c tạo kh a chính cho Table. Chọn: - Yes : Access sẽ tạo cột để làm khĩa chính cĩ tên là ID, cĩ kiểu dữ liệu là AutoNumber. - No : Khơng đặt khĩa chính cho Table - Cancel : Hủy bỏ thao tác vừa làm, trở về màn hình thiết kế để đặt khĩa chính. c) TẠO COMBO BOX BẰNG WIZARD - Thí dụ tạo Combo Box cho cột HTTT (Hình thức thanh tốn) của Table T HOADON cĩ ba giá trị TM (tiền mặt), TP (tín phiếu), NO (nợ): 36
  39. Click vào mũi tên ở cột Data Type tại dịng chứa tên cột cần tạo Combo Box và chọn Lookup Wizard: Hình 2.12 : Chọn Lookup Wizard để tạo Combo Box. Bước Những giá trị trong Combo Box được lấy từ đâu? (Chọn nguồn dữ liệu cho Combo Box). How do you want your lookup column to get its values). Tự gõ vào hay lấy từ Tables / Queries. 37
  40. Hình 2.13 : Bước 1 của Wizard. Chọn : I will type in the values that I want. (Tơi sẽ gõ giá trị mà tơi muốn) Bước 2 Gõ các giá trị cho Combo box mỗi giá trị một dịng. Hình 2.14 : Bước 2 của Wizard. Hộp thoại cho ph p nhập các giá trị cho Combo Box Bước : Đặt tên nhãn cho Combo Box đây cũng chính là tên cột của Table. What label would you like for your lookup column. Hình 2.15 : Bước 3 của Wizard. t tên nh n cho Combo Box. Bấm nút Finish để kết thúc. 38
  41. Lưu : Nếu mở Table ở chế độ Design view, chọn thẻ Lookup ta cĩ Hình 2.16 : Thẻ Lookup của cột HTTT sau khi tạo bằng Wizard d) KHAI BÁO C T KIỂU YES/NO - thẻ General thuộc tính Format ta cĩ thể chọn một trong ba giá trị sau: True/False, Yes/No, On/Off. Hình 2.17 : Thẻ General của cột c kiểu Yes No. - Cịn ở thẻ Lookup ta chọn Text Box ở mục Display Control 39
  42. Hình 2.18 : Thẻ Lookup của cột c kiểu Yes No. Lưu - Ta cĩ thể khai báo như hình dưới nếu muốn Yes là Nam (màu đỏ) và No là Nữ (màu xanh dương). Hình 2.19 : ịnh dạng lại cho cột PHAINAM. - Các màu cĩ thể chọn: Black, White, Yellow, Cyan, Red, Blue, Magenta, Green. 2.5.2. KHI NHẬP LIỆU CHO TABLE a) CHỌN FONT Cách : Sử dụng mục Font trên thanh cơng cụ định dạng. Cách chọn này chỉ cĩ tác dụng cho Table đang nhập liệu. 40
  43. Chọn Font chữ cho Table Hình 2.20 : Thanh c ng cụ định dạng. Cách 2 Kích hoạt Menu chính của Access 2007, chọn mục Access Options sau đĩ chọn mục DataSheet. Hình 2.21 :Màn hình định dạng font chữ m c định cho Table Chọn Font chữ, kích cỡ, màu sắc, để làm font chữ mặc định của Table sau đĩ Click chuột vào nút OK 41
  44. Cách này cĩ tác dụng cho những Table được tạo sau thời điểm khai báo. b) NHẬP LIỆU CHO FIELD KIỂU YES/NO Nhập -1 tương ứng với Yes và 0 tương ứng với No. c) NHẬP LIỆU CHO FIELD KIỂU OLE Click chuột phải vào ơ cần nhập liệu rồi chọn Insert Object  Create New (tạo mới đối tượng): chọn Object Type (Microsoft Word Picture, Paintbrush Picture, ) Hình 2.22 : Ch n đối tượng được tạo mới.  Create from File: Chèn đối tượng từ File sẵn cĩ trên đĩa. Gõ ổ đĩa, đường dẫn, tên File (nếu khơng nhớ rõ thì bấm vào nút Browse). Hình 2.23 : Ch n đối tượng từ File c sẵn trên đ a. 42
  45. 2.6. M I QUAN HỆ GIỮA C C TABLE 2.6.1. C C M I QUAN HỆ a) QUAN HỆ ONE TO ONE (1-1) Mỗi mẩu tin trong Table này quan hệ với một mẩu tin trong Table kia hay nĩi cách khác 2 Table sử dụng khĩa chính của mình để liên kết với khĩa chính của Table kia. Thí dụ: Quan hệ giữa Table T_HOSONV (danh sách nhân viên) với T_CHAMCONG06 (chấm cơng tháng 06 cho nhân viên) là quan hệ 1-1. Hình 2.24 : Các mẩu tin trong 2 Table T HOSONV và T CHAMCONG06. b) QUAN HỆ ONE TO MANY (1-N) Mỗi mẩu tin trong Table này quan hệ với nhiều mẩu tin trong Table kia hay nĩi cách khác Table này sử dụng khố chính để liên kết với trường khĩa ngoại của Table kia. Thí dụ Quan hệ giữa Table T_HOADON (danh sách các hĩa đơn) và T_CTHOADON (các chi tiết của hĩa đơn) là quan hệ một nhiều. Hình 2.25 : Các mẩu tin trong 2 Table T HOADON và T CTHOADON. 2.6.2. TẠO QUAN HỆ GIỮA C C TABLE - Từ Menu chính chọn Database Tools Click chuột vào nút Relationships Hình 2.26 : Hộp thoại để chọn mục Relationships - Click chuột vào Show Table 43
  46. Hình 2.27 : Hộp thoại Show Table - Đưa các Table cần thiết lập quan hệ vào cửa sổ Ralationships Hình 2.28 : Cửa s Relationships chứa các Table cần thiết lập quan hệ. - Drag tên field quan hệ đưa từ Table chính sang Table quan hệ. Xuất hiện hộp thoại Edit Relationships (Thí dụ drag SoHD từ T Hoadon sang T_CTHOADON) 44
  47. Hình 2.29 : Hộp thoại Edit Relationships  Enforce Referential Integrity: Ép buộc tính tồn vẹn tham chiếu dữ liệu (nghĩa là trên cột quan hệ khơng được điền giá trị vào Table quan hệ khi giá trị đĩ chưa cĩ ở Table chính.  Cascade Update Related Fields: Tự động thay đổi giá trị trên cột quan hệ ở Table quan hệ khi giá trị này bị thay đổi ở Table chính.  Cascade Delete Related Records: Tự động xĩa mẩu tin trong Table quan hệ khi mẩu tin tương ứng trên Table chính bị xĩa. Hình 2.30 : Cửa s Relationships sau khi đ thiết lập quan hệ Lưu : - Hai mục Cascade Update và Cascade Delete chỉ cho phép chọn khi mục đầu tiên Enforce được chọn. - Nếu khi thiết lập quan hệ cĩ đánh dấu kiểm tra tính tồn vẹn tham chiếu dữ liệu thì khi bị vi phạm sẽ cĩ báo lỗi sau: Hình 2.31 : Báo l i khi nhập giá trị ở cột quan hệ kh ng c trong Table chính. 45
  48. Bài 3. THAO T C TR N BẢNG DỮ LIỆU 3.1. HIỆU Đ NH M T TABLE Một Table cĩ thể được hiệu đính cho 3 mục đích: thiết kế lại cấu trúc cơ sở dữ liệu, hoặc sửa đổi nội dung các mẩu tin, hoặc thay đổi cách trình bày. 3.1.1. THIẾT KẾ LẠI CẤU TRÚC CSDL Chọn Table cần thiết kế trong ngăn Table, Click phải chuột vào tên Table và chọn Design View Hình 3.1: Menu xuất hiện khi Click phảic huột vào tên Table xuất hiện hộp thoại cấu trúc. Các thao tác cĩ thể là: a) SỬA ĐỔI THU C T NH CỦA FIELD Chọn field và tiến hành sửa đổi các thuộc tính bên dưới. Lưu ý: Nếu giảm độ rộng của field, khi lưu lại Access sẽ cảnh báo về việc dữ liệu trong field cĩ thể bị cắt mất phần đuơi, nếu field đang là "related field" với một Table khác, Access khơng cho sửa đổi. b) XĨA FIELD Chọn field và Click chuột phải xuất hiện thực đơn tắt (shortcut menu), chọn Delete Rows . Xuất hiện hộp thơng báo, chọn Yes để xố. 46
  49. Hình 3.2: Thơng báo xố field. c) TH M FIELD MỚI Chọn dịng tại vị trí muốn chèn vào, chọn mục Insert Rows, một dịng trắng được chèn vào, nhập nơi dung field mới, Click nút Save để lưu lại. d) THAY ĐỔI T N FIELD Thay vì chọn chế độ Design View, ta cĩ thể mở Table ở chế độ Open (Datasheet view), xong di chuyển chuột vào đỉnh cột và Click phải chuột để làm xuất hiện thực đơn tắt, chọn Rename Column để nhập lại tên field mới. Hình 3.3: Thực đơn tắt đ i tên field 3.1.2. SỬA ĐỔI N I DUNG C C MẪU TIN Click phải chuột vào tên Table chọn mục Open, sẽ mở phần nhập dữ liệu. Các thao tác cĩ thể là: 47
  50. a) SỬA ĐỔI RECORD Chọn Record và tiến hành sửa đổi. Lưu ý: cĩ thể sửa dữ liệu trên field làm khố, nhưng dữ liệu khơng trùng với các mẩu tin khác trên field này. Nếu khơng sẽ báo lỗi. Hình 3.4: Th ng báo l i nhập trùng dữ liệu vùng khố. b) XĨA RECORD Click ngồi lề trái (nút Record selector) để chọn nhiều Record liền nhau muốn xĩa Click chuột vào Nút Records->Delete->Delete Record (hoặc ấn phím Del). Hình 3.5: Menu xuất hiện khi Click chuột vào nút Records Ta cũng cĩ thể xĩa bằng cách Click phải chuột vào các mẩu tin đang được chọn và chọn Delete Record. Hình 3.6: Menu xuất hiện khi Click phải chuột vào các Record đang được chọn Sau đĩ chọn Yes để xĩa. 48
  51. Hình 3.7: Hộp thoại xuất hiện khi xác nhận trước khi xĩa mẩu tin. Ta cĩ thể chọn tất cả các mẩu tin trong bảng bằng tổ hợp phím Ctrl+A . Lưu ý: Nếu xố các mẩu tin trong bảng cĩ liên kết (relationship) với các bảng khác, cĩ thể khơng xố được. c) TH M RECORD MỚI Record mới được thêm ngay dưới Record cuối cùng. Sau khi nhập xong, access sẽ tự sắp theo thứ tự trên vùng khố. Nếu Table cĩ nhiều Record, nên sử dụng thanh Navigation Buttons xuất hiện cuối Table đang mở. Next record Last record Previous record First record Blank (new) record Type a record number to move to Hình 3.8: Thanh Navigation Buttons. 3.1.3. THAY ĐỔI C CH TRÌNH B Y a) THAY ĐỔI C CH HIỂN THỊ DATASHEET Khi một Table đang mở ở chế độ DataSheet View ta cĩ thể sử dụng chức năng của thanh cơng cụ định dạng để thay đổi cách hiển thị của Table. Hình 3.9: Thanh định dạng Chọn font chữ và kích thước font chữ trong mục font và font size Định dạng Font chữ đậm, nghiêng, gạch dưới 49
  52. Canh lề dữ liệu hiển thị trong Table theo lề trái, giữa, phải. Định dạnh màu chữ hiển thị Định dạng màu nền cho các dịng mẩu tin lẻ Định dạng màu nền cho các dịng mẩu tin chẵn Định dạng đường kẽ bảng Kẽ đường ngang và dọc Chỉ kẽ đường ngang Chỉ kẽ đường đứng Bảng khơng cĩ đường kẽ phân cách. Hình 3.10 Menu xuất hiện khi Click chuột vào mục Gridlines b) THAY ĐỔI Đ R NG C T Click phải chuột vào tiêu đề cột dữ liệu xuất hiện hộp thoại : Hình 3.11 Menu xuất hiện khi Click chuột vào tiêu đề cột Chọn Column Width 50
  53. Hình 3.12 Hộp thoại Column Width Nhập độ rộng cột (đơn vị inch/cm), Click OK. Cĩ thể chọn Best Fit để cĩ độ rộng vừa nhất cho các cột hoặc chỉnh độ rộng bằng cách di chuyển chuột đến ngay đường phân cách tiêu đề cột (mũi tên 2 đầu), kéo và chỉnh độ rộng cột phù hợp. Nếu Double Click ngay đường phân cách (phải), cĩ tác dụng như "Best Fit". c) CHE HOẶC HIỆN C T Chọn các cột cần giấu sau đĩ Click phải chuột vào thanh tiêu đề. Trong Menu xổ xuống khi Click phải chuột vào tiêu đề cột ta chọn Hide Columns. Muốn bỏ ẩn thì chọn mục Unhide Columns muốn che thì bỏ chọn, muốn hiện thì chọn, Click nút Close để kết thúc. Hình 3.13 : Hộp thoại Unhide Column d) DI CHUYỂN C T Muốn di chuyển cột đến vị trí thích hợp khi hiển thị bảng dữ liệu (thứ tự logic), Click chọn cột (Click tiêu đề cột), nhấn giữ nút trái chuột cho đến khi cĩ khung hình đính theo đuơi chuột, giữ và rê cột đến vị trí thích hợp. 51
  54. e) HIỆN N I DUNG BẢNG CON LI N KẾT SUB DATASHEET Chức năng này cho phép hiển thị các bảng dữ liệu cĩ quan hệ với nhau. Từ bảng dữ liệu cha, cĩ thể xem chi tiết bảng con liên kết với bảng cha bằng cách Click chuột vào dấu cộng (+) nằm đầu mẩu tin. Ví dụ: Quan hệ bảng T_Hoadon - T_CThoadon Hình 3.14: Hiện bảng dữ liệu c bảng con lồng bên trong. Muốn giấu dữ liệu của bảng con trong bảng cha ta chỉ cần Click chuột vào dấu trừ (-) nằm đầu mẩu tin. 3.1.4. TẠO CHỈ MỤC CHO BẢNG DỮ LIỆU Thực hiện khi muốn các cột được sắp theo một thứ tự nào đĩ trong bảng, để tiện việc tìm kiếm dữ liệu trên các cột được nhanh hơn. Các bước thực hiện: . Mở bảng ở chế độ design. . Click chuột vào mục Indexes trên thanh trình đơn Hình 3.15 : Nút Indexes trên thanh trình đơn Xuất hiện hộp thoại: 52
  55. Hình 3.16 : Hộp thoại Indexes để tạo chỉ mục cho bảng Trong đĩ các cột . Index Name: Tên chỉ mục do người sử dụng định nghĩa phải duy nhất. . Field Name: Tên các cột muốn sắp thứ tự. Index Properties: gồm cĩ . Primary Key: Cột sẽ làm khố chính. Trong một bảng chỉ cĩ duy nhất một chỉ mục làm khố chính. . Unique: Dữ liệu sắp xếp cột là duy nhất (Yes/No). . Ignore Nulls: Cĩ chấp nhận dữ liệu rỗng trên cột khơng (Yes/No). 3.2. THAO T C DỮ LIỆU TRONG TABLE 3.2.1. TÌM VÀ THAY THÊ a) TÌM KIẾM  Mở bảng chứa dữ liệu cần tìm ở chế độ DataSheet  Đặt con trỏ chèn ở cột cần tìm kiếm.  Click chuột vào nút Find trên thanh trình đơn (Ctrl+F).  Xuất hiện hộp thoại Find and Replace  Chọn thẻ Find, gõ từ cần tìm vào ơ Find What Thí dụ: tìm những nhân viên cĩ họ lĩt là “Nguyễn ” 53
  56. Hình 3.17 : Hộp thoại Find and Replace thẻ Find  Mục Match cĩ thể chọn một trong ba giá trị: Any Part of Field: giá trị cần tìm là một phần bất kỳ của Field. Whole Field: giá trị cần tìm là tồn bộ Field. Start of Field: giá trị cần tìm là phần đầu của Field.  Mục Search cĩ thể chọn một trong ba giá trị: Up: Tìm từ vị trí con trỏ trở về đầu. Down: Tìm từ vị trí con trỏ trở về cuối. All: Tìm từ đầu đến cuối cột.  Match Case: Tìm cĩ phân biệt chữ hoa chữ thường.  Search Fields as Formatted: tìm giống như định dạng.  Bấm vào nút Find Next để tiến hành tìm. Tìm cĩ lại bấm Find Next để tìm tiếp. Khi một mẩu tin thỏa mãn nội dung tìm thì nội dung đĩ trong bảng sẽ được bơi đen. Tìm kiếm gần đúng Sử dụng các ký tự đại diện (wildcard) khi nhập giá trị cần tìm. Ký tự Ý nghĩa Ví dụ ? Đại diện một ký tự Hù? > Hù,Hùn,Hùm, * Đại diện các chuỗi ký tự La* > La, Lan, Lang, Lam, # Đại diện một ký số 12### > từ 12000 > 12999 [ ] Đại diện các ký tự nằm trong [ La[nm] > Lan, Lam ] - Đại diện các ký tự nằm trong [K-N]a > Ka, La, Ma, Na 54
  57. một khoảng [ ] ! Phủ định [!K-N]a > khơng là Ka, La, Ma, Na b) TÌM V THAY THẾ  Từ hộp thoại Find and Replace ta Click chuột chon phiếu Replace Hình 3.18 : Hộp thoại Find and Replace thẻ Replace  Các mục chọn tương tự như hộp thoại tìm kiếm chỉ khác ở chỗ ta phải gõ từ cần thay thế ở ơ Replace With.  Bấm vào nút Find Next để bắt đầu tìm.  Sau khi tìm thấy: Bấm vào nút Replace nếu muốn thay thế từ vừa tìm thấy. Bấm vào nút Find Next nếu khơng muốn thay thế từ vừa tìm thấy.  Nếu muốn tự động muốn thay thế hết thì ta bấm vào nút Replace All. 3.2.2. SẮP XẾP DỮ LIỆU BẢNG a) MỤC Đ CH Thực hiện sắp xếp dữ liệu trên một cột hoặc nhiều cột theo cùng thứ tự tăng (Ascending) hoặc giảm (Descending). b) THAO TÁC . Chọn các cột muốn sắp xếp theo thứ tự ưu tiên từ trái sang phải. . Click chuột vào nút để sắp xếp dữ liệu tăng dần . Click chuột vào nút để sắp xếp dữ liệu giảm dần . Click chuột vào nút để huỷ bỏ việc sắp xếp Thí dụ: Trong Table T HOSONV hãy sắp xếp tăng dần theo TEN, nếu trùng TEN thì tăng dần theo HOLOT. 55
  58. Hình 3.19: Dạng ban đầu của Table cột TEN nằm sau cột HOLOT. Hình 3.20 : ưa cột TEN nằm trước cột HOLOT. Hình 3.21 : Chọn 2 cột cần sắp xếp thứ tự ưu tiên từ trái sang phải. 56
  59. Hình 3.22 : Table T HOSONV sau khi sắp xếp. 3.2.3. LỌC DỮ LIỆU TRONG BẢNG Mở bảng ở chế độ Datasheet view. Sử dụng các nút cơng cụ Filter trên thanh trình đơn để chọn chức năng lọc dữ liêu tương ứng Hình 3.23 :Các mục chức năng Filter trên thanh trình đơn. a) LỌC DỮ LIỆU NHANH BẰNG CÁCH SỬ DỤNG NÚT FILTER Ta cĩ thể thực hiện việc lọc đơn giản bằng cách chọn cột chứa giá trị cần lọc sau đĩ Click chuột vào nút Filter và bỏ check các giá trị khơng muốn hiển thị. Ví dụ: Lọc ra những nhân viên đã lập gia đình (cột DalapGD cĩ giá trị là Yes) 57
  60. Hình 3.24: Hộp thoại để b chọn các giá trị khơng muốn hiển thị b) FILTER BY SELECTION LỌC THEO CHỌN  Chọn dữ liệu cần lọc (ví dụ chọn nội dung là “An”).  Click chuột chọn mục Selection Hình 3.25 :Các mục Filter khi lựa chọn tên “An” và Click chuột vào nút Selection - Chọn Equals “An” nếu muốn lọc ra những nhân viên cĩ tên là “An”. - Chọn Does Not Equal “An” nếu muốn lọc ra những nhân viên cĩ tên khác với tên “An”. - Chọn Contains “An” nếu muốn lọc ra những nhân viên cĩ tên cĩ chứa chữ là “An”. Ví dụ như tên “Trang” cũng xem như thỏa mãn điều kiện lọc. - Chọn Does Not Contain “An” nếu muốn lọc ra những nhân viên cĩ tên khơng chứa chữ “An”. 58
  61. c) LỌC THEO MẪU FILTER BY FORM  Click chuột chọn Advanced Filter options / chọn mục Filter By Form Hình 3.26 :Các mục Filter Click chuột vào nút Advanced Filter options Selection  Xuất hiện biểu mẫu chỉ cĩ hai dịng: 1 dịng chứa tên field, 1 dịng chứa điều kiện lọc.  Đưa điều kiện lọc vào, sau đĩ chọn lệnh Filter / Apply Filter- Sort hoặc bấm vào nút Apply Filter Thí dụ: Lọc những nhân viên nữ và cĩ lương căn bản nhỏ hơn hoặc bằng 310. Hình 3.27 : Mở biểu m u để đ t điều kiện. Hình 3.28 : t điều kiện lọc. 59
  62. Hình3.29 :Kết quả sau khi lọc. Nếu câu hỏi là lọc những nhân viên nữ ho c lương căn bản nhỏ hơn hoặc bằng 310 ta làm như sau: Hình 3.30 : iều kiện lọc ở thẻ Look for. Hình 3.31 : iều kiện lọc ở thẻ Or. Hình3.32 :Kết quả sau khi lọc. Lưu : 60
  63.  Chỉ cho phép lọc dữ liệu với phép so sánh bằng (=) và phép tốn logic And, Or.  Muốn trở lại ban đầu, Click biểu tượng d) LỌC THEO C CH KHÁC (ADVANCED FILTER)  Click chuột chọn Advanced Filter options / Advanced Filter – Sort Hình 3.33 :Menu để lựa chọn Advanced Filter /Sort  Xuất hiện cửa sổ Filter để đặt điều kiện lọc  Đưa các cột cần đặt điều kiện lọc xuống dịng Field bằng một trong ba cách sau: Cách : Double Click vào tên field (cách này đưa tên field vào cột trống sau cùng). Cách 2: Drag chuột đưa tên field xuống dịng field (cách này dùng đưa tên field vào giữa những field khác đã cĩ). Cách 3: Chọn tên Field trực tiếp trên dịng Field.  Đưa điều kiện lọc vào dịng Criteria. Nếu điều kiện thỏa mãn đồng thời cùng một lúc thì đặt trên cùng một dịng Criteria, ngược lại, nếu chỉ cần thỏa 1 trong các điều kiện thì các điều kiện đặt trên 2 dịng: Criteria và Or.  Chọn lệnh Filter / Apply Filter-Sort hoặc bấm vào nút Apply Filter để tiến hành lọc. Thí dụ: Lọc ra những nhân viên nữ v cĩ năm sinh lớn h n ho c bằng n m 1960. 61
  64. Hình 3.34 : t điều kiện lọc. Hình 3.35: Kết quả sau khi lọc. Nếu yêu cầu lọc ra những nhân viên nữ h c cĩ năm sinh lớn h n ho c bằng n m 960 thì ta đặt điều kiện như sau: Hình 3.36 : t điều kiện lọc trên 2 d ng Criteria và Or. 62
  65. Hình 3.37 : Kết quả sau khi lọc. Lưu :  Trước khi đưa điều kiện lọc vào trong hai hình thức lọc Filter by Form và Advanced Filter/Sort ta phải Click chuột vào nút Advanced Filter options Chọn mục Clear all filters để xĩa điều kiện của lần lọc trước đĩ trên lưới đặt điều kiện nếu cĩ. Hình 3.38 : Menu để chọn xố điều kiện lọc trước đ .  Trong lệnh này ta cĩ thể sắp xếp dữ liệu theo các cột nào đĩ bằng cách đưa tên cột cần sắp xếp theo thứ thư ưu tiên từ trái sang phải. ng với mỗi cột ở dịng Sort ta cĩ thể chọn : Ascending (tăng dần), Descending (giảm dần) hoặc Not Sorted (khơng sắp xếp). Thí dụ: Trong Table T HOSONV sắp xếp nhân viên t ng dần theo TEN và giảm dần theo HOLOT. 63
  66. Hình 3.39 : Chọn điều kiện sắp xếp. Hình 3.40: Kết quả sau khi sắp xếp. Nhận xét:  Với cách lọc này, Access đưa ra bảng lọc dữ liệu dạng như QBE (Query By Example) trong Query.  Chúng ta cĩ thể kết hợp các điều kiện phức tạp, các hàm tính tốn, và các phép tốn logic And, Or. 64
  67.  Cĩ thể sử dụng các phép tốn so sánh hay các ký tự đại diện : Phép tốn Ký hiệu Tên gọi So sánh > lớn hơn = lớn bằng khác Between And trong một đoạn In trong một danh sách Is Null giá trị Null Is not Null khơng là Null Like tựa như Logic Not phủ định And và Or hoặc Tính tốn ^ lũy thừa * nhân / chia \ chia lấy nguyên Mod chia lấy dư + cộng - trừ & cộng chuỗi, số 3.3. IN ẤN TABLE Ví dụ: In danh sách các nhân viên đã lập gia đình và cĩ ngày sinh từ 01/01/1960 đến 01/01/1970, ra màn hình hoặc giấy in. Dùng Advanced Filter/Sort bảng lọc dữ liệu như sau : 65
  68. Hình 3.41 :Bảng lọc dữ liệu Kết quả Hình 3.42: Kết quả lọc dữ liệu Để in danh sách này, vào Office Menu chọn mục Print Preview . 66
  69. Hình 3.42: Office Menu để chọn Print Preview Kết quả in ra màn hình dưới đây: 67
  70. Hình 3.43: Màn hình in bằng Print Preview. Click biểu tượng Print để in ra giấy in. Click Close để đĩng cửa sổ Preview trở về Table. 68
  71. Bài 4. QUERY – BẢNG TRUY VẤN 4.1. CHỨC NĂNG VÀ CÁC CÁCH TẠO LẬP QUERY Query là cơng cụ để tạo các mẫu vấn tin dữ liệu từ Table. Trong Access 2007 ta cĩ ba cách để tạo ra một Query. Query Wizard: cho ta một cách nhanh chĩng để tạo ra một Query đơn giản. Tuy nhiên với cách này cho ta rất ít lựa chọn và kiểm sốt. Query Design: Với cách này Access cung cấp cho ta một lưới QBE (Query by Example) để tạo lập Query một cách trực quan sinh động. Chế độ xem SQL: Với cách này cho ta cách tạo lập Query một cách mạnh mẽ và chuyên nghiệp. Người dùng tạo ra Query bằng chính ngơn ngữ truy vấn dữ liệu SQL (Structured Query Language). Do đĩ cách này chỉ sử dụng cho những người lập trình chuyên nghiệp am hiểu về ngơn ngữ SQL. 4.2. C C LOẠI QUERY 4.2.1. SELECT QUERY  Chọn lựa hoặc rút trích số liệu trên một số cột của một hoặc nhiều Table thỏa một điều kiện nào đĩ.  Tạo các cột tính tốn.  Tĩm lược và kết nhĩm số liệu. 4.2.2. ACTION QUERY a) MAKE TABLE QUERY Tạo một Table mới từ những Table đã cĩ. b) UPDATE QUERY Dùng để cập nhật, sửa đổi số liệu trên Table. c) APPEND QUERY Thêm các mẩu tin từ một Table này vào cuối một Table khác. d) DELETE QUERY Xĩa các mẩu tin của Table thỏa một điều kiện nào đĩ. 4.2.3. CROSSTAB QUERY Tạo các báo cáo cĩ tính thống kê, thể hiện các dịng dữ liệu lưu trữ trong Table thành các cột khi thể hiện ra ngồi. 69
  72.  Hình 4.1 : Tạo Crosstab Query lấy từ Table T_DIEMSV 4.3. C C H M THƯỜNG SỬ DỤNG 4.3.1. CÁC HÀM S HỌC a) HÀM ROUND  Cú pháp: ROUND(Expression [,numdecimalplaces])  Trong đĩ: Expression là biểu thức số cần làm trịn. Numdecimalplaces là số số lẻ sau khi làm trịn.  Cơng dụng: Trả về con số đã được làm trịn cĩ số số lẻ được xác định bởi numdecimalplaces  Ví dụ: round(123.4567) = 123, round(123.4567,1) = 123.5, round(123.4567,2) = 123.46 b) HÀM FIX và INT  Cú pháp: Int(number); Fix(number)  Trong đĩ: number là một con số.  Cơng dụng: Trả về phần nguyên của con số xác định bởi number.  Ví dụ: FIX(8.4) =INT(8.4) = 8; FIX(-8,4)=-9, INT(-8.4)=-8  Lưu : Đối với số âm FIX làm trịn xuống, INT làm trịn lên. Nếu Number là Null thì hàm trả về trị Null. c) HÀM ABS  Cú pháp: Abs(number)  Trong đĩ number là một con số.  Cơng dụng: Trả về trị tuyệt đối của một con số.  Ví dụ: Abs(-1) = Abs(1) = 1  Lưu : Nếu tham số number là Null thì hàm trả về trị Null. Nếu tham số number là một biến chưa khởi tạo thì trả về số 0. d) HÀM SUM  Cú pháp: Sum(expr)  Trong đĩ expr là biểu thức chuỗi xác định cột chứa dữ liệu số mà ta muốn cộng.  Cơng dụng: Trả về tổng của một tập hợp các giá trị trong cột xác định trên Query.  Ví dụ: Sum([SOLUONG]*[DONGIA]) e) HÀM AVG  Cú pháp: Avg(expr) 70
  73.  Trong đĩ expr là biểu thức chuỗi xác định cột chứa dữ liệu số mà ta muốn tính trung bình.  Cơng dụng: Trả về trung bình cộng của một tập hợp các giá trị trong cột xác định trên Query.  Ví dụ: Avg([SOLUONG]*[DONGIA]) f) HÀM COUNT  Cú pháp: Count(expr)  Trong đĩ expr là biểu thức chuỗi xác định cột chứa dữ liệu khơng rỗng mà ta muốn đếm.  Cơng dụng: Đếm số Record trả về của một Query.  Ví dụ: Count([MANV] 4.3.2. CÁC HÀM VỀ CHUỖI a) HÀM LEN  Cú pháp: Len(String | Varname)  Trong đĩ String là một chuỗi ký tự. Varname là tên biến kiểu chuỗi.  Cơng dụng: Hàm trả về chiều dài xác định bởi chuỗi hoặc chiều dài của giá trị biến chuỗi.  Ví dụ: Len(“Tin hoc”)=7 b) HÀM LEFT  Cú pháp: Left(string, length)  Trong đĩ String là chuỗi ký tự mà ta cần lấy những ký tự bên trái của nĩ.  Cơng dụng: Trả về length ký tự bên trái của chuỗi string.  Ví dụ: left(“Tin hoc”,3)=”Tin” c) HÀM RIGHT  Cú pháp: Right(string, length)  Trong đĩ String là chuỗi ký tự mà ta cần lấy những ký tự bên phải của nĩ.  Cơng dụng: trả về length ký tự bên phải của chuỗi string.  Ví dụ: right(“Tin hoc”,3)=”hoc” d) HÀM MID  Cú pháp: Mid(string, start[, length])  Trong đĩ String là chuỗi mà ta cần lấy các ký tự trả về. Start là số nguyên xác định vị trí ký tự đầu tiên cần lấy. Length con số xác định số ký tự của chuỗi cần lấy.  Cơng dụng: Trả về chuỗi con của chuỗi string.  Ví dụ: right(“Toi di hoc”,4,2)=”di” e) HÀM INSTR  Cú pháp: InStr([start, ]string1, string2[, compare])  Trong đĩ Start là vị trí bắt đầu tìm. String1 chuỗi mẹ. String 2 chuỗi con.  Cơng dụng: trả về vị trí tìm thấy đầu tiên của chuỗi con trong chuỗi mẹ. Tham số compare cĩ thể là: Constant Value Description vbUseCompareOption -1 So sánh theo câu lệnh Option Compare statement. vbBinaryCompare 0 So sánh theo kiểu nhị phân. 71
  74. vbTextCompare 1 So sánh theo kiểu văn bản (kiểu text). Chỉ cĩ ở Microsoft Access. So sánh theo thơng tin vbDatabaseCompare 2 trong Database. Những giá trị trả về Nếu InStr trả về string1 is zero-length 0 string1 is Null Null string2 is zero-length start string2 is Null Null string2 is not found 0 string2 is found within string1 Vị trí tìm thấy chuỗi 2 trong chuỗi 1 start > string2 0  Ví dụ: Instr(”toi di hoc”,”di”)=5 f) HÀM LCASE  Cú pháp: LCase(string)  Trong đĩ String là chuỗi ký tự.  Cơng dụng: Chuyển các ký tự trong chuỗi thành chuỗi với các ký tự thường.  Ví dụ: Lcase(“TRUNG TAM TIN HOC”)=”trung tam tin hoc” g) HÀM UCASE  Cú pháp: UCase(string)  Trong đĩ String là chuỗi ký tự.  Cơng dụng: Chuyển các ký tự trong chuỗi thành chuỗi với các ký tự hoa.  Ví dụ: Ucase(“trung tam tin hoc”)=”TRUNG TAM TIN HOC” h) HÀM LTRIM, RTRIM, TRIM  Cú pháp: LTrim(string), RTrim(string), Trim(string)  Trong đĩ String là chuỗi ký tự.  Cơng dụng: Cắt bỏ các ký tự trắng ở đầu chuỗi (Ltrim), ở cuối chuỗi (Rtrim), và cả đầu và cuối (Trim).  Ví dụ: LTrim(“ Tin hoc ”)=”Tin hoc ” RTrim(“ Tin hoc ”)=” Tin hoc” Trim(“ Tin hoc ”)=”Tin hoc” i) HÀM SPACE  Cú pháp: Space(number) 72
  75.  Trong đĩ number là số ký tự trắng cần trả về.  Cơng dụng: trả về một chuỗi các ký tự trắng.  Ví dụ : “Tin” & space(1) & “Hoc”=”Tin Hoc” 4.3.3. CÁC HÀM VỀ NGÀY THÁNG NĂM a) HÀM DATE  Cú pháp: Date()  Cơng dụng: Trả về ngày tháng năm hiện tại (theo đồng hồ trong máy).  Ví dụ : Date() = 28/07/2008 b) HÀM TIME  Cú pháp: Time()  Cơng dụng: Trả về giờ hiện tại (theo đồng hồ trong máy).  Ví dụ : Time() = 11:31:54 AM c) HÀM NOW  Cú pháp: Now()  Cơng dụng: Trả về ngày và giờ hiện tại (theo đồng hồ trong máy).  Ví dụ : now() = 28/07/2008 11:15:47 AM d) HÀM DAY  Cú pháp: Day(date)  Trong đĩ date là biểu thức cĩ kiểu ngày  Cơng dụng: Trả về một con số từ 1 đến 31 cho biết ngày trong tháng.  Ví dụ: Day(#22/06/2006#) = 22 e) HÀM MONTH  Cú pháp: Month(date)  Trong đĩ date là biểu thức cĩ kiểu ngày  Cơng dụng: trả về một con số từ 1 đến 12 cho biết tháng trong năm.  Ví dụ: month(#22/06/2006#) = 6 f) HÀM YEAR  Cú pháp: Year(date)  Trong đĩ date là biểu thức cĩ kiểu ngày  Cơng dụng: trả về một con số đại diện cho năm.  Ví dụ: year(#22/06/2006#) = 2006 g) HÀM WEEKDAY  Cú pháp: Weekday(date)  Trong đĩ: date là biểu thức cĩ kiểu ngày. 73
  76.  Cơng dụng: Trả về một con số đại diện cho ngày của tuần. Hàm Weekday trả về một trong các giá trị sau: Constant Value Description vbSunday 1 Sunday vbMonday 2 Monday vbTuesday 3 Tuesday vbWednesday 4 Wednesday vbThursday 5 Thursday vbFriday 6 Friday vbSaturday 7 Saturday  Ví dụ: Weekday(#22/06/2006#) = 5 4.3.4. H M ĐỊNH DẠNG HÀM FORMAT  Cú pháp: Format(expression[, Format])  Trong đĩ: expression là biểu thức cần định dạng. Format là Format Sử dụng Numbers Sử dụng ký hiệu định dạng số cĩ sẵn hoặc tự định nghĩa Dates and times Sử dụng ký hiệu định dạng ngày giờ cĩ sẵn hoặc tự định nghĩa Date and time serial Sử dụng ký hiệu định dạng ngày giờ hoặc số cĩ sẵn numbers Strings Sử dụng định dạng chuỗi do tự mình định nghĩa. K hiệu Phạm vi D 1-30 Dd 1-30 Ww 1-51 Mmm Hiển thị tên tháng viết tắt bằng tiếng Anh Y 1-355 Yyyy 100-9666  Ví dụ: Giả sử ta cĩ các biến sau: 74
  77. Dim MyTime, MyDate, MyStr MyTime = #17:04:23# MyDate = #January 27, 1993# ' Trả về giờ hệ thống theo định dạng long time. MyStr = Format(Time, "Long Time") ' Trả về ngày hệ thống theo định dạng long date. MyStr = Format(Date, "Long Date") MyStr = Format(MyTime, "h:m:s") ' Trả về "17:4:23". MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Trả về "05:04:23 PM". MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Trả về "Wednesday, ' Jan 27 1993". ' Nếu khơng cĩ tham số Format thì hàm sẽ trả về một chuỗi. MyStr = Format(23) ' Trả về "23". ' Định dạng do người dùng định nghĩa. MyStr = Format(5459.4, "##,##0.00") ' Trả về "5,459.40". MyStr = Format(334.9, "###0.00") ' Trả về "334.90". MyStr = Format(5, "0.00%") ' Trả về "500.00%". MyStr = Format("HELLO", " ") ' Trả về "THIS IS IT". 4.3.5. HÀM ĐIỀU KIỆN HÀM IIF  Cú pháp: IIf(expr, truepart, falsepart)  Trong đĩ: expr là biểu thức logic cĩ giá trị đúng hoặc sai. Truepart là giá trị mà hàm trả về khi expr là đúng. Falsepart là giá trị mà hàm trả về khi expr là sai.  Ví dụ: IIf([loaivt]=”N”,”Nhập”,”Xuất”) . Hàm trả về “Nhập” nếu loaivt=”N” và ngược lại sẽ trả về “Xuất” 75
  78. 4.4. TẠO QUERY BẰNG PHƯƠNG PHÁP DESIGN VIEW 4.4.1. TẠO SELECT QUERY a) C C BƯỚC TẠO  Từ màn hình giao diện chính Chọn phiếu Create-> Trong ngăn Other Click chuột vào mục Query Design. Hình 4.1 : Màn hình của phiếu Create Một cửa sổ thiết kế QBE xuất hiện cùng với hộp thoại Show Table Hình 4.2 : Màn hình thiết kế Query cùng với hộp thoại Show Table.  Xuất hiện hộp thoại Show Table để ta chọn Table hoặc Query làm nguồn cho Query đang tạo.  Chọn các Table để lấy dữ liệu tạo Query, rồi nhấn Add (hoặc chỉ cần nhắp kép chuột vào tên Table cần chọn)  Click chuột vào nút Close để đĩng cửa sổ Show Table  Chọn các cột cần cĩ trong Query đưa xuống dịng Field (cách chọn giống như là cách chọn trong lúc sử dụng phương pháp Advanced Filter/ Sort).  Sử dụng các thành phần trong vùng lưới (lưới QBE: Query By Example): 76
  79. Sort: chọn Ascending (tăng dần) hoặc Descending (giảm dần) để sắp xếp. Show:  hiện hoặc ẩn  cột. Criteria kết hợp với Or: dùng đặt điều kiện lọc dữ liệu. Ví dụ: Tạo select Query bao gồm các cột SOHD, MAKH, TENKH, NGAY, LOAIVT, HTTT lấy từ 2 Table T_KHACHHANG và T HOADON. Chỉ lọc những hĩa đơn của khách hàng cĩ mã là “PV” hoặc “BT”. Hình 4.5 : Màn hình thiết kế Query theo ví dụ. b) XEM TRƯỚC KẾT QUẢ HOẶC THỰC HIỆN QUERY Xem trước Click chuột vào nút View trên thanh cơng cụ. Hình 4.6 : N t View và nút Run trên thanh c ng cụ. Thực hiện Click chuột vào nút Run trên thanh cơng cụ 77
  80. Hình 4.7 : Kết quả chạy Query trên. c) TẠO C T TÍNH TỐN TRONG QUERY - Cú pháp : Tên cột tính tốn là từ do ta tự đặt nhưng khơng được trùng với tên cột của Table hoặc Query nguồn. - Thí dụ HOTEN:[HOLOT] & “ “ & [TEN] TRIGIA:[SOLUONG]*[DONGIA] HTTOAN:IIF([HTTT]=”TM”,”Tiền mặt”,IIF([HTTT]=”TP”,”Tín phiếu”,”Nợ”)) TENPHONG:IIF(LEFT([MANV],2)=”TH”,”Tin học”,IIF(LEFT([MANV],2)=”KT”,”K thuật”,”Hành chánh”)) PHAI:IIF([PHAINAM]=-1,”Nam”,”Nữ”) THANG:MONTH([NGAY]) NAM:YEAR([NGAY]) - Ghi chú Nếu tên trong biểu thức của cột tính tốn cĩ trong từ 2 Table nguồn trở lên thì ta phải đặt tên Table nằm trước tên Field cách nhau bởi dấu chấm. Thí dụ như Query đang tạo cĩ 2 Table nguồn T CTHOADON và T SANPHAM và trong cả 2 Table này đều cĩ cột DONGIA. Vậy thì cột tính tốn TRIGIA được viết lại nhu sau: TRIGIA:[SOLUONG]*[T_CTHOADON].[DONGIA] (vì trong trường hợp này ta muốn lấy cột DONGIA trong Table T_CTHOADON). d) KHAI BÁO THU C TÍNH CỦA M T C T TRONG QUERY Click chuột phải vào tên cột cần khai báo thuộc tính trên lưới QBE và chọn lệnh Properties. Xuất hiện bảng thuộc tính và ta khai báo những thuộc tính mà ta cần. Thí dụ cột NGAY trong Query được thiết kế ở hình 4.5 ta muốn hiển thị dạng Medium Date. 78
  81. Hình 4.8 : Khai báo thuộc tính cho cột NGAY trong Query. Hình 4.9: Chọn thuộc tính Format cho cột NGAY. 4.4.2. TẠO SELECT QUERY CĨ GOM NHĨM TH NG KÊ  Các bước tạo giống như tạo một Select Query như trên  Click chuột vào nút Totals trên thanh Toolbar để chèn thêm dịng Total vào lưới thiết kế. 79
  82. Hình 4.10:Nút Totals trên thanh Toolbar.  Ý nghĩa của các hàm tính tốn tại dịng Total: Group By: Chọn cho các cột cần kết nhĩm dữ liệu để thống kê. Sum: Tính tổng cho các cột dữ liệu số. Avg: Tính trung bình cho các cột dữ liệu số Min: Lấy giá trị nhỏ nhất Max: Lấy giá trị lớn nhất. Count: Đếm tổng số mẩu tin trên một cột khi gom nhĩm First: Lấy giá trị đầu tiên của nhĩm. Last: Lấy giá trị sau cùng của nhĩm Expression: Biểu thức tính tốn từ các cột dữ liệu. Where: Điều kiện lọc dữ liệu cho Query. Thí dụ: Tạo Query để thống kê số lượng nhập, xuất lớn nhất và nhỏ nhất của từng khách hàng: Hình 4.11 : Yêu cầu chạy Query cho kết quả như trên 80
  83. Hình 4.11 : Màn hình thiết kế Query gom nh m theo yêu cầu trên. Chú ý: - Khi chạy Query, tên cột mà ta chọn trong dịng Total là một tên hàm thì tên cột sẽ được thành lập theo nguyên tắc Of . Như ví dụ trên khi chọn hàm Max và hàm Min cho cột số lượng khi chạy Query ta cĩ 2 cột là MaxOfSoluong và MinOfSoluong. - Muốn tên cột theo ý muốn khác với nguyên lý trên thì trên dịng Field ta cĩ thể định nghĩa tên cột theo cú pháp: : . Ví dụ: Hình 4.12 :Ví dụ định ngh a tên cột. 81
  84. Hình 4.13 :Kết quả khi chạy Query. 4.5. SỬ DỤNG THAM S TRONG QUERY 4.5.1. Ý NGH A CỦA VIỆC SỬ DỤNG THAM S Tham số trong Query dùng để thực hiện các Query theo một điều kiện động nào đĩ. Điều kiện động là một giá trị do người sử dụng nhập vào khi thực hiện Query. 4.5.2. C C BƯỚC TẠO THAM S a) KHAI B O ĐỊNH NGH A THAM S - Click chuột vào nút Parameters trên Toolbar Hình 4.14 :Nút Parameters trên Toolbar. Hình 4.15 :Hộp thoại Query Parameters 82
  85. - Ghi tên tham số ở cột Parameter và chọn kiểu dữ liệu ở cột Data Type (chọn kiểu phù hợp với kiểu của cột trong bảng mà ta cần đưa tham số vào). b) SỬ DỤNG Tên của tham số được ghi vào dịng điều kiện (Criteria) trong lưới QBE và tại cột dữ liệu mà ta cần so sánh hoặc tên tham số cũng cĩ thể sử dụng để làm biểu thức khi thành lập cột mới trên dịng Field, Ví dụ 1: Sử dụng các Table T_Hoadon và T_CTHOADON để theo dõi các hĩa đơn được lập trong khoảng thời gian từ một tháng đến một tháng nào đĩ được mà người dùng nhập từ bàn phím: Trong Parameters định nghĩa 2 biến như hình 4.15 Trong lưới QBE thiết lập như sau: Hình 4.16 :Cách sử dụng tham số trong Query Hình 4.17: Màn hình nhập liệu khi chạy Query 83
  86. 4.6. TẠO C C LOẠI QUERY KH C 4.6.1. CROSSTAB QUERY Crosstab Query là hình thức thống kê dữ liệu trong các Table theo nguyên tắc lấy giá trị của các mẩu tin trên một cột nào đĩ gom nhĩm lại để thành lập ra các cột mới để thống kê số liệu theo từng nhĩm hàng ngang và cột dọc. Thí dụ: Từ Table T_Nhanvien tạo Query để thống kê số nhân viên nam, nữ theo từng phịng ban như sau: Hình 4.18: M u CrossTab Query để thống kê số nhân viên nam nữ theo phịng ban Hình 4.19: Màn hình thiết kế Crosstab Query. Các bước tạo - Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Crosstab trên Toolbar. - Hình 4.20 : Bấm vào n t Crosstab - Trên lưới QBE xuất hiện thêm hai dịng mới là Total và Crosstab  Dịng Total cĩ các giá trị như ta đã phân tích trên.  Dịng Crosstab chứa ba giá trị để chọn lựa mang ý nghĩa như sau: Row Heading: Chọn cho cột mà ta muốn giá trị của cột đĩ hiển thị theo dịng (cĩ thể chọn nhiều cột làm Row Heading). Cột nào trên dịng Total ta chọn Group By, trên dịng Crosstab ta chọn Row Heading thì Access sẽ vào cột đĩ, xem cĩ bao nhiêu giá trị trùng nhau sẽ gom thành bấy nhiêu d n và lấy giá trị trùng nhau đĩ làm tiêu đề đầu dịng Column Heading: Chọn cho cột nào muốn lấy giá trị của các mẩu tin trên cột đĩ gom lại thành từng nhĩm mỗi giá trị của nhĩm tạo thành tiêu đề một cột mới để thống kê số liệu. Đây là chỉ tiêu gom nhĩm theo cột (chỉ cho phép một cột làm Column Heading). Cột nào ta chọn Group By, Column Heading thì Access sẽ vào cột đĩ xem cĩ bao nhiêu giá trị trùng nhau sẽ gom thành bấy nhiêu c t và lấy giá trị trùng nhau đĩ làm 84
  87. tiêu đề đầu cột. Do đĩ, muốn chọn cột làm Column Heading, ta xem những tiêu đề đầu cột là giá trị của cột nào trong Table nguồn thì cột đĩ sẽ được chọn làm Column Heading. Value: giá trị tính tốn giao nhau giữa dịng và cột (chỉ cho phép một cột làm value) Thí dụ: cột Manv, dịng Total ta chọn Count, dịng Crosstab ta chọn Value thì Access sẽ vào Table nguồn xem những dịng dữ liệu nào cĩ giá trị giống nhau ở những cột được chọn làm Row Heading và Column Heading thì nĩ sẽ Count trên cột Manv ở những dịng đĩ. Lưu : Một Crosstab Query phải cĩ ít nhất một cột trong dịng Crosstab ta chọn giá trị Row Heading, duy nhất một cột chọn Colunm Heading và duy nhất một cột được chọn làm Value. Nếu cột nào mà trên dịng Crosstab ta chọn giá trị là Colunm Heading thì trên dịng Total của nĩ ta phải chọn giá trị là Group by. Nếu cột nào mà trên dịng Crosstab ta chọn già trị là Value thì trên dịng Total của nĩ ta phải chọn giá trí khác Group by. 4.6.2. MAKE TABLE QUERY Make Table Query là loại Query cĩ chức năng tạo ra Table mới. Table mới này cĩ cấu trúc và nội dung được chọn lọc từ các Table khác. a) VÍ DỤ Sử dụng Table T HOSONV, T CHAMCONG để tạo Make Table Query tên Q BACKUP1 cĩ chức năng tạo ra Table tên T THEODOINHANVIEN bao gồm các cột sau: MANV, HOVATEN, PHAI (ghi rõ Nam/Nữ), LCB, NGAYCONG, NGAYPHEP, TENPHONG. Table này chỉ chứa những mẩu tin thỏa 2 điều kiện cĩ LCB>=300 và NGAYCONG>=20. b) C C BƯỚC TẠO - Từ lưới QBE ta chọn và xây dựng các cột giống như Select Query. - Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Make Table trên Toolbar. - Hình 4.21 : Click vào n t Make Table - Hộp thoại đặt tên Table mới xuất hiện 85
  88. Hình 4.22 : Hộp thoại dùng đ t tên cho Table cần tạo.  Nhập tên Table cần tạo vào ơ Table Name và chọn một trong hai mục sau: Current Database: Table mới được tạo sẽ đưa vào Database hiện hành. Another Database: Table mới được tạo sẽ đưa vào Database khác. Tên Database đĩ được chỉ rõ trong ơ File Name (cĩ thể Click vào nút Browse để chọn tên Database cần đưa Table mới vào).  Lưu Query vừa tạo với tên Q BACKUP1: Hình 4.23 : t tên cho Query là Q BACKUP1.  Để xem trước dữ liệu của Table mới khi được tạo lập ta Click chuột vào nút View.  Thực hiện chạy Query để tạo Table mới ta Click chuột vào nút Run. 86
  89. Hình 4.24: Th ng báo số mẩu tin s được tạo trong Table mới. Lưu : Trường hợp Table T THEODOINHANVIEN đã được tạo rồi sẽ xuất hiện thơng báo Hình 4.25 : Th ng báo Table T THEODOINHANVIEN đang c s bị x a trước khi tạo Tbale mới. Hình 4.26 : Table T THEODOINHANVIEN đ được tạo ra trong ngăn Query. 87
  90. Hình 4.27 : Nội dung của Table mới T THEODOINHANVIEN. 4.6.3. UPDATE QUERY Update Query là loại Query cĩ chức năng cập nhật lại giá trị của các trường trong Table theo một cơng thức nào đĩ. a) VÍ DỤ Sử dụng Table T THEODOINHANVIEN tạo Query tên Q UpdateThuong để cập nhật dữ liệu cho cột THUONG theo cơng thức Thuong=LCB*150 nếu PHAI là Nam và Thuong=LCB*120 nếu PHAI là Nữ. Chỉ cập nhật cho những nhân viên cĩ ngày cơng lớn hơn 24. b) C C BƯỚC TẠO  Từ màn hình Create bấm vào Query Design.  Chọn Table cần cập nhật là T THEODOINHANVIEN.  Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Update trên Toolbar. - Hình 4.28 : Click vào n t Update  Khai báo trên lưới: 88
  91. Hình 4.29 : Màn hình thiết kế Query Q UpdateThuong  Thực hiện Query, xuất hiện thơng báo cĩ 23 mẩu tin được cập nhật: Hình 4.30 : Th ng báo số mẩu tin s được cập nhật. Hình 4.31 : Nội dung Table T_THEODOINHANVIEN đ được cập nhật. 4.6.4. APPEND QUERY 89
  92. Append Query là loại Query cĩ chức năng lấy dữ liệu từ Table này để nhập nối thêm làm dữ liệu của Table kia. a) VÍ DỤ Sử dụng Table T HOSONV để tạo Append Query tên Q AppendNhanVien cĩ chức năng lấy tất cả dữ liệu của các mẩu tin Nữ từ Table T HOSONV để nhập thêm cho Table T NHANVIEN. (Table T NHANVIEN cĩ cấu trúc giống Table T HOSONV nhưng chỉ cĩ những mẩu tin Nam) b) C C BƯỚC TẠO  Từ màn hình Create bấm vào Query Design.  Chọn Table nguồn cho Query (chọn Table T-HOSONV).  Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Append trên Toolbar. -  Hình 4.32 : Bấm vào n t Append Hình 4.33 : Hộp thoại Append dùng chọn Table đích.  Khai báo các thành phần trên vùng lưới: dịng Field: chọn những cột cần thêm dữ liệu ở Table nguồn. dịng Append To: chọn những cột tương ứng cần thêm dữ liệu ở Table đích. Đặt điều kiện lọc dữ liệu ở dịng Criteria để lọc các mẩu tin được đưa từ Table nguồn sang Table đích. 90
  93. Hình 4.34 :Màn hình thiết kế Query Q AppendNhanVien.  Lưu Query với tên Q AppendNhanVien: Hình 4.35 : t tên cho Query là Q AppendNhanVien.  Thực hiện Query, xuất hiện thơng báo: Hình 4.36 : Hộp thoại th ng báo c 12 mẩu tin được thêm vào Table T NHANVIEN. 4.6.5. DELETE QUERY Là loại Query cĩ chức năng xĩa các mẩu tin trong Table thõa mãn một điều kiện nào đĩ. a) VÍ DỤ Tạo Delete Query cĩ tên Q XoaDaLapGiaDinh để xĩa tất cả các nhân viên đã lập gia đình trong Table T HOSONV. b) C C BƯỚC TẠO  Từ màn hình Create bấm vào Query Design.  Chọn Table cần xĩa dữ liệu để tạo Query (chọn Table T-HOSONV).  Từ màn hình thiết kế Query lưới QBE ta Click chuột vào nút Delete trên Toolbar. 91
  94. - Hình 4.37 : Bấm vào n t Delete  Đặt điều kiện xĩa trên lưới của màn hình thiết kế Query. Chọn tên Field cần đặt điều kiện xĩa ở dịng Field, ở dịng Delete sẽ xuất hiện chữ Where và đặt điều kiện xĩa ở dịng Criteria. Nếu muốn xĩa hết ta chọn * ở dịng Field, lúc đĩ ở dịng Delete xuất hiện chữ From. Hình 4.38 : Màn hình thiết kế Delete Query Q_XoaDaLapGiaDinh.  Thực hiện Query, xuất hiện thơng báo: Hình 4.39 : Hộp thoại th ng báo c 12 mẩu tin s bị x a. 92
  95. Bài 5. FORM – BIỂU MẪU 5.1. CHỨC NĂNG CH NH CỦA FORM - Thiết kế màn hình giao diện làm khuơn mẫu để quan sát, sửa đổi, nhập, xĩa dữ liệu cho Table. Hình 5.1 : Màn hình Form giao diện với dữ liệu của Table - Làm màn hình giao diện để điều khiển chương trình ứng dụng. Hình 5.2 : Màn hình Form hộp thoại giao diện điều khiển ứng dụng 93
  96. 5.2. C C TH NH PHẦN CHÍNH TRONG M N HÌNH THIẾT KẾ FORM Hình 5.3 : Màn hình thiết kế Form 5.2.1. FORM HEADER Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện ở đầu Form. (Điều khiển là tất cả các thành phần được đưa vào màn hình thiết kế Form). 5.2.2. DETAIL Thể hiện thơng tin chi tiết dữ liệu của Form. 5.2.3. FORM FOOTER Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện ở cuối Form. 5.2.4. CÁC CƠNG CỤ HỖ TRỢ TRONG MÀN HÌNH THIẾT KẾ FORM Hình 5.4 : Thanh cơng cụ h trợ thiết kế Form Ngăn cơng cụ View: Giúp cho ta lựa chọn cách hiện thị Form 94
  97. Form View: Dùng để chuyển Form về chế độ xem dữ liệu Datasheet View: Dùng để chuyển Form về chế độ xem dữ liệu ở chế độ bảng PivotTable View: Dùng để chuyển Form về màn hình Pivot dữ liệu trên Form PivotChart View: Dùng để chuyển Form về màn hình vẽ đồ thị dữ liệu Layout View: Dùng để chuyển Form về chế độ Layout. Trong chế độ này giống như chế độ Form View nhưng cho phép bạn cĩ thể chỉnh sửa vị trí, kích thước của các control trên Form để phù hợp với nội dung của nĩ. Form View: Dùng để chuyển Form về chế độ thiết kế Hình 5.4.1 : Thanh menu xuất hiện khi khai triển n t View Ngăn cơng cụ Font: Dùng để định dạng Font chữ hiển thị trên màn hình Form Hình 5.4.2 : Thanh cơng cụ định dạng xuất hiện khi khai triển nút Font Ngăn cơng cụ Gridlines: Sử dụng để kẽ bảng cho Form 95
  98. Hình 5.4.3 : Thanh cơng cụ định dạng xuất hiện khi khai triển nút Gridlines Ngăn cơng cụ Controls: Chứa các loại điều khiển cĩ thể sử dụng để đặt lên Form. Hình 5.4.4 : Hộp cơng cụ Controls Ngăn cơng cụ Tools: Chứa hai nút chính Add Existing Fields dùng để làm xuất hiện các Field cĩ thể nhúng vào Form và Property Sheet dùng để làm xuất hiện bảng thuộc tính của các đối tượng đang chọn trên Form. Hình 5.4.5 : Hộp cơng cụ Tools 5.3. C C DẠNG FORM 5.3.1. DẠNG COLUMNAR DẠNG C T Dữ liệu được thể hiện trên từng cột và tại một thời điểm chỉ hiển thị nội dung của một mẩu tin. 96
  99. Hình 5.5 : Form dạng Columnar 5.3.2. DẠNG TABULAR DẠNG DANH S CH Dữ liệu được thể hiện trên nhiều dịng và trên nhiều cột. Được sử dụng khi độ rộng các cột khơng vượt quá chiều rộng màn hình và muốn xem một lúc nhiều dịng dữ liệu. Hình 5.6 : Form dạng Tabular 5.3.3. DẠNG DATASHEET DẠNG DỮ LIỆU Dữ liệu thể hiện giống Form dạng danh sách nhưng màn hình giống màn hình Table ở chế độ Datasheet View. Cĩ đặc điểm là khơng cho phép hiển thị các điều khiển ở Form Header và Form Footer. 97
  100. Hình 5.7 : Form dạng Datasheet. 5.3.4. DẠNG JUSTIFIED DẠNG H NG Dữ liệu thể hiện trên nhiều cột, nhưng tại một thời điểm chỉ hiển thị nội dung của một dịng dữ liệu. Được sử dụng cho trường hợp tra cứu hoặc hiển thị thơng tin trên màn hình cùng một lúc với các Form khác. Hình 5.8 : Form dạng Justified. 5.3.5. DẠNG MAIN-SUB DẠNG CH NH PHỤ Là sự kết hợp giữa 2 Form dạng Single (ở một thời điểm chỉ hiển thị một dịng dữ liệu) và Continuous (ở một thời điểm hiển thị nhiều dịng dữ liệu) để thể hiện mối quan hệ một-nhiều giữa 2 Table. Giữa hai bảng phải cĩ ít nhất một cột liên kết chung để dữ liệu được liên kết đúng. 98
  101. Hình 5.9 : Form dạng Main-Sub. 5.4. TẠO FORM 5.4.1. TẠO BẰNG WIZARD Thí dụ: Tạo Form F KHACHHANG dạng Columnar lấy dữ liệu từ Table T_KHACHHANG. a) KHỞI Đ NG FORM WIZARD - Trong Menu Create của Menu chính Click chuột vào nút More Forms trong ngăn Forms sau đĩ chọn Form Wizard. Hình 5.10 : Cách chọn mục Form Wizard. b) C C BƯỚC CỦA WIZARD - Bước Which fields do you want on your Form? Chọn các cột cần cĩ trong Form. Access cho phép chọn nhiều cột từ nhiều Table hoặc Query khác nhau. Chọn Table hoặc Query từ Combo box Tables/Queries (chọn Table T_KHACHHANG). 99
  102. Chọn tên cột trong khung Available Fields chuyển qua khung Selected Fields (chọn hết các cột của Table nguồn). Hình 5.11 : Chọn cột cho Form. - Bước 2 What layout would you like for your Form? Chọn dạng cho Form (chọn dạng Columnar) Hình 5.12 : Chọn dạng cho Form. - Bước What style would you like Chọn cách trang trí cho Form 100
  103. Hình 5.13 : Chọn cách trang trí cho Form. - Bước What title do you want for your Form? Đặt tên cho Form. Tên này vừa là tên của Form trong ngăn Form vừa là tên trên dịng tiêu đề của Form ở chế độ Form View. Bấm vào nút Finish để kết thúc. Cĩ thể chọn một trong hai cách hiển thị Form: Open the Form to view or enter inFormation: hiển thị Form ở chế độ Form view để xem hoặc nhập thơng tin. Modify the Form’s design hiển thị Form ở chế độ Design view để sửa đổi thiết kế của Form. Hình 5.14 : t tên và chọn cách hiển thị Form. 101
  104. 5.4.2. TỰ THIẾT KẾ FORM . CHỌN CÁCH TẠO FORM BẰNG PHƯƠNG PHÁP FORM DESIGN Trong Menu Create của Menu chính Click chuột vào nút Form Design Hình 5.15: Cách chọn mục Design Form trên Menu Create Hình 5.16: Màn hình thiết kế Form xuất hiện khi Click chuột vào nút Form Design Chú ý: Để làm xuất hiện hai khu vực Form Header và Form Footer ta Click phài chuột vào màn hinh thiết kế và chọn Form Header/ Footer 102
  105. Hình 5.17: Short Menu xuất hiện khi Click phải chuột vào màn hình thiết kế . CHỌN NGUỒN DỮ LIỆU (TABLE/QUERY) ĐỂ THIẾT KẾ FORM - Vào hộp thoại Properties của Form bằng cách Click chuột vào ơ vuơng giao giữa 2 thước kẽ trên màn hình thiết kế Form. Hình 5.18 : Hộp thoại Property Sheet của màn hình thiết kế Form. - Chọn phiếu Data sau đĩ chọn tên Table hoặc tên Query để sử dụng dữ liệu thiết kế Form. . CÁC THAO TÁC KHI LÀM VIỆC VỚI CÁC CONTROL TRÊN FORM - Tạo các Control trên Form bằng Wizard: + Mở ToolBox, kiểm tra để chắc rằng nút Control Wizard đã được bật. 103
  106. + Click chuột vào biểu tượng của điều khiển muốn tạo trên Toolbox sau đĩ drag chuột trên màn hình thiết kế Form để xác định vị trí của nĩ trên Form. + Làm theo các bước của Wizard. - Chọn các điều khiển + Chọn 1 điều khiển: Click vào điều khiển. Bỏ chọn Click vào chỗ trống trên Form. + Chọn nhiều điều khiển: Cách Bấm giữ phím Shift và Click vào các điều khiển cần chọn. Cách 2 Click hay Drag trên thước dọc hoặc thước ngang để chọn (Khi ta Click chuột trên thước thì tất cả các điều khiển nằm trên phương đường đi của con trỏ chuột đều được chọn. Cách Drag chuột vẽ khung bao quanh các đối tượng được chọn. - Di chuyển thay đ i kích thước + Di chuyển: chọn các điều khiển cần di chuyển rồi drag đến vị trí mới. Nếu muốn di chuyển một điều khiển trong số những điều khiển đã chọn thì ta đưa con trỏ chuột vào ơ vuơng màu đen nằm ở gĩc trên bên trái của đối tượng cần di chuyển. + Thay đ i kích thước: Chọn các đối tượng cần thay đổi kích thước. Đưa con trỏ chuột vào một trong tám ơ vuơng màu đen. Khi nào thấy con trỏ chuột biến thành hình mũi tên hai đầu thì drag để thay đổi kích thước. - Xĩa sao chép: + X a: Chọn các điều khiển cần xĩa, rồi bấm phím Delete. + Sao chép: Chọn các điều khiển cần sao chép. Bấm Ctrl+C hoặc Click phải chuột vào điều khiển đang chọn và chọn mục Copy. Chọn vị trí cần sao chép tới. Bấm Ctrl+V hoặc Click phải chuột vào chỗ trống chọn mục Paste. - Khai báo thu c tính cho điều khiển + Click chuột vào điều khiển đang chọn sau đĩ chọn mục Properties hoặc bấm Alt+Enter hoặc bấm vào nút Property Sheet để mở bảng thuộc tính. + Chọn điều khiển cần thay đổi thuộc tính trên Form, rồi tiến hành thay đổi thuộc tính cho điều khiển đĩ trên bảng thuộc tính. 104
  107. Hình 5.19: Mở bảng thuộc tính để khai báo thuộc tính cho điều khiển Masp. 5.4.3. M N HÌNH THIẾT KẾ CỦA C C DẠNG FORM a) MÀN HÌNH THIẾT KẾ FORM DẠNG COLUMNAR Hình 5.20: Màn hình thiết kế Form dạng Columnar. 105
  108. Nhận xét: Các Label và các TextBox đều nằm chung trong Detail. TextBox bên phải, cịn Label bên trái. Ta cĩ thể thiết kế tiêu đề của Form nằm chung trong Detail cũng được. b) MÀN HÌNH THIẾT KẾ FORM DẠNG TABULAR các Label các TextBox Hình 5.21 : Màn hình thiết kế Form dạng Tabular. Nhận xét: Các Label cho ta dịng tiêu đề của Form được thiết kế nằm trong Form Header. Các TextBox cho ta các dịng dữ liệu được thiết kế nằm trong Detail. c) MÀN HÌNH THIẾT KẾ FORM DẠNG DATASHEET VÀ JUSTIFIED Cĩ cấu trúc tương tự Form dạng Tabular, chỉ khác nhau ở thuộc tính Default View của Form. Thí dụ: Vẫn lấy màn hình thiết kế Form dạng Tabular như trên. Mở bảng thuộc tính của Form Chọn Form Chọn Form bằng cách Click chuột vào và mở bảng thuộc tính sau: - Nếu trong thuộc tính Default ta chọn Datasheet thì Form sẽ cĩ dạng Datasheet. Hình 5.22 : Trong thuộc tính Default View chọn Datasheet. 106
  109. Hình 5.23 : Form được hiển thị dạng Datasheet. - Nếu trong thuộc tính Default ta chọn Single Form thì Form sẽ cĩ dạng Justified. Hình 5.24 : Form được hiển thị dạng Justified. - Nếu trong thuộc tính Default ta chọn Continuous Forms thì Form sẽ cĩ dạng Tabular Hình 5.25 : Form được hiển thị dạng Tabular. Ghi chú Thật ra, đối với Form dạng Datasheet ta chỉ cần tạo các TextBox chứa các tên cột ở phần Detail của màn hình thiết kế là được. Thí dụ như ta thiết kế Form như sau: 107
  110. Hình 5.25 : Màn hình thiết kế Form dạng Datasheet chỉ cần các TextBox Hình 5.26 : Form được hiển thị dạng Datasheet. Nhận xét về cách dùng của TextBox và Label - Label: dùng hiển thị một dịng văn bản. Nội dung trong Label ở màn hình thiết kế như thế nào thì ở màn hình Form View hiển thị ra như thế đĩ. Thiết kế Hiển thị - TextBox: + Hiển thị dữ liệu của một cột. Thiết kế Hiển thị + Hiển thị kết quả trả về của một hàm và biểu thức Thiết kế Hiển thị 108
  111. 5.4.4. TẠO MAIN-SUB FORM Ví dụ Tạo Main-Sub Form cĩ dạng sau: Hình 5.27 : M u Main-Sub Form cần thiết kế. Các bước tạo ư c : Tạo Main Form dạng Single Form. Cụ thể tạo Form tên F Hoadon dạng Columnar lấy dữ liệu nguồn từ Table T HOADON. 109
  112. Hình 5.28 : Tạo Main Form dạng Columnar. ư c : Tạo Sub Form dạng Continuous Form. Cụ thể tạo Form tên F CTHoadon dạng Tabular lấy dữ liệu nguồn từ Table T CTHOADON. Hình 5.29 : Tạo Sub Form dạng Tabular. ư c 3: Nhúng Sub Form vào Main Form: Cách 1: 110
  113. + Mở Main Form F Hoadon ở chế độ Design View. + Click chuột vào nút định hướng để nhìn thấy các tên Form trong ngăn Forms. Hình 5.30 : Màn hình chuẩn bị để nhúng Sub Form vào Main Form. + Drag tên Sub Form từ cửa sổ Database thả vào cửa sổ Main Form (nhớ thả vào phần Detail của màn hình thiết kế). 111
  114. Hình 5.31 : Cửa s Main Form sau khi đ nh ng Sub Form vào. Cách 2: + Click chuột vào biểu tượng Control SubForm/SubReport trên ToolBox + Di chuyển chuột vào khu vực Form Drag một hình chữ nhật xác định vị trí cần đặt Form con. 112
  115. Hình 5.32 : Cửa s chọn tên Form con cần nhúng vào main Form. + Chọn tên Form con trong hộp thoại xuất hiện sau đĩ Click chuột vào Finish (Vì các buớc tiếp theo ta thường khơng thay đổi giá trí đã được chọn lựa mặc định. ư c 4: Khai báo cột liên kết giữa Main và Sub Form. + Click phải chuột vào vùng nhúng Sub Form rồi chọn Properties để vào hộp thoại SubForm/SubReport. + Chọn thẻ Data 113
  116. Hình 5.33: Chọn thẻ Data trong bảng thuộc tính. + Chọn cột liên kết: - Link Master Fields: tên cột liên kết ở Main Form (theo ví dụ là: Sohd). - Link Child Fields: tên cột liên kết ở Sub Form (theo ví dụ là: Sohd). Lưu - Thơng thường 2 Table làm nguồn cho Main và Sub Form là quan hệ một nhiều với nhau và khi tạo Table ta đã tạo liên kết giữa khĩa chính của Table quan hệ một với cột khĩa ngoại của Table quan hệ nhiều. Nên ở bước bốn này Access thường làm sẵn cho ta và do đĩ ta chỉ kiểm tra lại thơi. - Cột liên kết giữa Main Form và Sub Form thường là cột làm khĩa chính của Table nguồn của Main Form. - Một số trường hợp, người ta yêu cầu thiết kế Sub Form khơng chứa cột liên kết. Trường hợp này ta phải tạo Query nguồn cho Sub Form cĩ chứa cột liên kết thì lúc đĩ Sub Form mới liên kết được với Main Form mặc dù Sub Form khơng cĩ chứa cột liên kết này. 5.5. M T S THU C T NH CƠ BẢN 5.5.1. THU C T NH CỦA ĐIỀU KHIỂN  Name : Tên của điều khiển.  Control Source : Nguồn dữ liệu của điều khiển. 114
  117.  Caption : Nhãn của điều khiển.  Format : Định dạng dữ liệu khi hiển thị  Font : Chọn Font cho điều khiển.  Back Style : Kiểu nền của điều khiển.  Back Color : Màu nền của điều khiển.  Special Effects : Hiệu ứng nền (Raised, Sunken, Shadow, )  Text Align : Canh lề dữ liệu trong điều khiển.  Decimal Places : Định số số lẻ hiển thị trong điều khiển.  Input Mask : Định khuơn mẫu nhập liệu.  Default Value : Trị mặc định của điều khiển.  Validation Rule : Quy tắc kiểm chính.  Validation Text : Thơng báo khi quy tắc kiểm chính bị vi phạm.  Visible : Hiển thị hay khơng hiển thị điều khiển.  Display When : Tình huống hiển thị điều khiển - Always: luơn hiển thị. - Print Only: chỉ hiển thị khi in ra giấy. - Screen Only: chỉ hiển thị trên màn hình.  Enabled : Cho phép hay khơng cho phép xâm nhập đối tượng để hiệu chỉnh hay nhập mới.  Lock : Khĩa điều khiển khơng cho phép hiệu chỉnh. 5.5.2. THU C T NH CỦA FORM  Allow Filters : Cho phép/khơng cho phép sử dụng lọc dữ liệu.  Allow Edits : Cho phép/khơng cho phép hiệu chỉnh dữ liệu.  Allow Deletions : Cho phép/khơng cho phép xĩa dữ liệu.  Allow Additions : Cho phép/khơng cho phép thêm dữ liệu.  Autoresize : Tự động thay đổi kích thước để hiển thị đủ mẩu tin.  Autocenter : Tự động canh giữa khi mở Form.  Modal : Xác lập trị Yes thì khơng thể chuyển qua cửa sổ khác khi Form chưa đĩng.  Pop Up : Nếu chọn Yes thì Form nằm trên các cửa sổ và Form khác.  Close : Cĩ / khơng cĩ nút Close.  Control Box : Hiện / khơng hiện Control Box  Caption : Nhãn của Form.  Default View : Chế độ hiển thị mặc định.  Data Entry : Cho phép nhập thêm dữ liệu mới.  Dividing Lines : Đường phân cách giữa các thành phần khi xem Form ở chế độ Form View.  Min Max Buttons : Cĩ / khơng các nút Min, Max.  Navigation Buttons : Hiện / che các nút di chuyển mẩu tin.  Picture : Xác lập ảnh nền cho Form.  Record Source : Nguồn dữ liệu của Form.  Record Selectors : Hiện hay khơng hiện con trỏ mẩu tin hiện hành.  Scroll bars : Hiện hay khơng hiện thanh trượt của Form (Neither, 115
  118. Horizontal Only, Vertical Only, Both).  View Allowed : Xác định cho phép xem ở chế độ nào (Form, Datasheet và Both) 5.6. SỬ DỤNG WIZARD ĐỂ TẠO C C ĐIỀU KHIỂN TRÊN FORM 5.6.1. LABEL a) CHỨC NĂNG Dùng hiển thị dịng văn bản. b) C C BƯỚC TẠO - Click chuột vào nút Label trên Toolbox và kéo thành khung hình chữ nhật trên Form. - Gõ dịng văn bản vào Label. - Định dạng. 5.6.2. TEXTBOX a) CHỨC NĂNG - Hiển thị dữ liệu của một field. - Hiển thị kết quả trả về của hàm hoặc biểu thức. b) CÁCH TẠO Tương tự Label 5.6.3. NHÚNG FIELD VÀO FORM + Mở danh sách tên Field bằng cách Click vào nút Field List . + Chọn các cột trên Field List Drag thả vào màn hình thiết kế Form. 116
  119. Hình 5.34 : Drag tên cột từ Field List thả vào màn hình thiết kế Form. 5.6.4. COMBO BOX H P DANH S CH THẢ XU NG a) CHỨC NĂNG Dùng để hiển thị một danh sách các mục tùy chọn và người sử dụng chỉ cần chọn một giá trị trong danh sách này, tránh sai sĩt khi nhập liệu. u điểm khi nào chọn mới mở hộp danh sách ra, tiết kiệm khơng gian làm việc. b) VÍ DỤ Tạo Combo Box LOAIVT trong Form F HOADON dùng để chọn loại vật tư là N (nhập) hay X (xuất). Hình 5.35 : Yêu cầu tạo Combo Box trên Form. 117
  120. c) C C BƯỚC TẠO Click chuột vào nút Combo Box trên ToolBox rồi drag thành hình chữ nhật trên màn hình thiết kế Form để xác định vị trí của Combo Box. Combo Box Hình 5.36 : Control Combo box trên hộp Controls. Bước : Chỉ định nguồn dữ liệu (control source) cung cấp cho Combo Box Hình 5.37 : Chọn Control Source là tự g vào. Bước 2: Gõ vào các giá trị của Combo Box, mỗi giá trị là một dịng. Hình 5.38 : G các giá trị cho Combo Box. 118
  121. Bước : Chọn cách sử dụng khi ta chọn một giá trị trong Combo Box. đây ta dùng giá trị này để nhập liệu cho cột LOAIVT trong Table nguồn của Form là T_HOADON Hình 5.39 : Giá trị mà ta chọn trong Combo Box s được gán vào cột LOAIVT. Bước : Đặt tên nhãn cho Combo Box. Hình 5.40 : t tên nh n cho Combo Box là Loại vật tư. 5.6.5. LIST BOX H P DANH S CH a) CHỨC NĂNG 119
  122. Dùng để hiển thị một danh sách các mục tùy chọn và người sử dụng chỉ cần chọn một giá trị trong danh sách này, tránh sai sĩt khi nhập liệu. b) VÍ DỤ Tạo List Box chứa tên các khách hàng trên Form F HOADON dùng để khi chọn một tên khách hàng sẽ nhập một MaKH vào Table T HOADON. Hình 5.41 : Yêu cầu tạo List Box trên Form. c) C C BƯỚC TẠO Click chuột vào nút List Box trên ToolBox rồi drag thành hình chữ nhật để xác định vị trí của hộp danh sách. List box Hình 5.42 : Control List box trên hộp Controls. Bước : Chỉ định nguồn dữ liệu (Control Source) cung cấp cho Combo Box. Cụ thể chọn nguồn từ Table. 120
  123. Hình 5.43 : Chọn nguồn dữ liệu cho List box từ Table. Bước 2: Chọn tên Table nguồn cho List Box. Hình 5.44 : Chọn tên Table là T KHACHHANG. Bước : Chọn các cột cần cĩ trong List Box. 121
  124. Hình 5.45 : Chọn tên cột cho List Box là MAKH và TENKH. Bước : Chọn cột cần sắp xếp trong List Box. Hình 5.46 : Chọn cột cần sắp xếp trong List Box là MAKH. Bước 5: Che cột làm khĩa chính là MAKH. 122
  125. Hình 5.47 : Chọn Hide key column để che cột làm kh a chính. Bước 6: Khi ta chọn một dịng trên List Box thì cĩ 2 giá trị là MAKH và TENKH. Do đĩ bước này yêu cầu ta chọn giá trị cần sử dụng khi chọn một dịng trên List Box. Hình 5.48 : Chọn cột cần lấy giá trị khi chọn 1 d ng trên List Box. Bước 7: Giá trị mà ta chọn ở bước 5 được sử dụng làm gì. đây ta chọn lưu vào cột MAKH của Table T_HOADON. 123
  126. Hình 5.49 : Chọn lưu MAKH được chọn trong List Box vào cột MAKH của Table nguồn. Bước 8: Đặt tên nhãn cho List Box Hình 5.50 : t tên nh n cho List Box là M khách hàng. 5.6.6. COMMAND BUTTON NƯT LỆNH a) CHỨC NĂNG Dùng để thực hiện một hành động khi ta Click chuột vào nĩ. b) VÍ DỤ Tạo các nút lệnh trên Form F_Khachhang như mẫu sau 124
  127. Hình 5.51 : Yêu cầu tạo Command button trên Form. a) C C BƯỚC TẠO Click chuột vào nút Command Button trên ToolBox rồi drag thành hình chữ nhật để xác định vị trí của nút. Command Button Hình 5.52 : Control Command Button trên hộp Controls. Bước : Chọn hành động cho nút - Trong khung Categories chọn tên nhĩm hành động. - Trong khung Actions chọn hành động cho nút. 125
  128. Hình 5.53 : Chọn hành động cho n t. Bước 2 Chọn hình hay dịng chữ trên nút (Picture hay Text) Hình 5.54 : Chọn d ng chữ hay hình thể hiện trên n t. Bước : Đặt tên cho nút 126
  129. Hình 5.55 : t tên cho n t thuộc tính Name b) C C H NH Đ NG THƠNG DỤNG Categories Actions Record Navigation Find Next Tìm tiếp Find Record Tìm mẩu tin Go To First Record Di chuyển về mẩu tin đầu Go To Last Record Di chuyển về mẩu tin cuối Go To Next Record Di chuyển về mẩu tin sau Go To Previous Record Di chuyển về mẩu tin trước Record Operations Add New Record Thêm mẩu tin mới Delete Record Xĩa mẩu tin hiện hành Print Record In mẩu tin hiện hành Save Record Lưu mẩu tin hiện hành Undo Record Phục hồi mẩu tin đang sửa Form Operations Apply Form Filter Lọc dữ liệu cho Form Close Form Đĩng Form hiện hành Edit Form Filter Hiệu chỉnh bộc lọc dữ liệu Open Form Mở Form Print a Form In Form Print Current Form In Form hiện hành Refresh Form Data Làm tươi dữ liệu cho Form Report Operations Preview Report In Report ra màn hình. Print Report In Report ra máy in Send Report to File In Report thành File Application Quit Application Thốt khỏi Access Run Application Chạy một CTUD Run MS Excel Chạy CTUD Excel 127
  130. Run MS Word Chạy CTUD Word Miscellaneous Print Table In Table Run Macro Chạy Macro Run Query Chạy Query 5.6.7. UNBOUND OBJECT FRAME a) CHỨC NĂNG Hiển thị một đối tượng được tạo ra từ một chương trình ứng dụng nào đĩ. b) VÍ DỤ Tạo một Unbound Object Frame hiển thị một Word Art được tạo ra từ Microsoft Word Picture như sau: Hình 5.56: Tạo Unbound Object Frame c) C C BƯỚC TẠO - Kéo một Unbound Object Frame trên màn hình thiết kế Form. - Bước 1: Xuất hiện hộp thoại và ta chọn Microsoft Word Picture Hình 5.57: Hộp thoại dùng để chọn trình ứng dụng cần nhúng - Bước 2: Xuất hiện cửa sổ Microsoft Word Picture và ta tạo Word Art trên đĩ. 128
  131. Hình 5.58:Cửa s Microsoft Word Picture - Bước 3: Đĩng cửa sổ Microsoft Word (bấm vào nút Close Picture) trở về màn hình thiết kế Form, ta được kết quả như trên. - Định dạng cách hiển thị Word Art bằng cách bấm vào nút Properties Hình 5.59: Bảng thuộc tính của Unbound Object Frame - thuộc tính Size Mode ta cĩ thể chọn: + Clip: đối tượng sẽ bị cắt nếu nĩ lớn hơn khung. + Stretch: đối tượng tự động co giãn cho vừa với khung (bị biến dạng theo khung). + Zoom: đối tượng tự động co giãn cho vừa với khung (khơng bị biến dạng theo khung). 5.6.8. TAB CONTROL 129
  132. a) CHỨC NĂNG Tạo trên cùng một diện tích của Form nhiều trang thơng tin b) VÍ DỤ Tạo Tab Control như sau: Hình 5.60: Tạo Tab Control trên Form c) C C BƯỚC TẠO - Click chuột vào biểu tượng Tab Control trên Tool Box sau đĩ kéo Tab Control trên Form. - Chọn Tab Control và định dạng Font chữ cho Tab Control - Chọn từng trang và đặt tên cho các trang ở mục Caption ta cĩ kết quả như trên. 130
  133. Hình 5.61: Bảng thuộc tính của trang Lưu : Nếu muốn thêm trang ta chọn Tab Control và Click phải chuột vào trang cuối cùng và chọn Insert Page; Muốn xĩa trang ta chọn Delete Page. Muốn đưa các điều khiển vào trang ta chọn trang rồi đưa các điều khiển mà ta muốn đưa vào. Hình 5.62: Short menu xuất hiện khi Click chuột vào tiêu đề trang 131
  134. Bài 6. REPORT – BÁO BIỂU 6.1. CHỨC NĂNG V C C DẠNG CỦA REPORT 6.1.1. CHỨC NĂNG Report là một cơng cụ cĩ chức năng sử dụng nguồn dữ liệu từ table hoặc query để tạo các bảng thống kê báo cáo hoặc các nhãn biểu để in ra giấy trên máy in. 6.1.2. CÁC DẠNG REPORT f) DẠNG CHI TIẾT  Columnar: Hình 6.1: Report dạng Columnar  Tabular: Hình 6.2: Report dạng Tabular g) DẠNG CH NH PHỤ 132
  135. Hình 6.3: Report dạng chính phụ h) DẠNG GOM NHĨM TH NG KÊ Hình 6.4: Report dạng Tabular c gom nh m 6.2. CẤU TRƯC CHUNG CỦA M N HÌNH THIẾT KẾ REPORT 133
  136. Hình 6.5: Màn hình thiết kế Report c gom nh m 6.2.1. REPORT HEADER Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện chỉ một lần ở đầu Report. Thường là logo cơng ty, tiêu đề bảng báo cáo, ngày giờ in, 6.2.2. PAGE HEADER Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện ở đầu mỗi trang giấy in của Report. Thường là tiêu đề các cột số liệu, số thứ tự trang in, 6.2.3. HEADER Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện ở đầu mỗi nhĩm của Report. Được sử dụng khi cĩ nhu cầu kết nhĩm dữ liệu. Thường là tên các nhĩm dữ liệu. 6.2.4. DETAIL Thể hiện các dịng thơng tin chi tiết dữ liệu của Report. Khu vực này thể hiện nội dung chính của bảng báo cáo. 6.2.5. FOOTER Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện ở cuối mỗi nhĩm của Report. Được sử dụng khi cĩ nhu cầu kết nhĩm dữ liệu. Thường là những số liệu thống kê dữ liệu của từng nhĩm. 134
  137. 6.2.6. PAGE FOOTER Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện ở cuối mỗi trang giấy in của Report. Thường để chứa số thứ tự trang, ngày giờ in, nơi in, 6.2.7. REPORT FOOTER Các điều khiển (Control) nằm trong thành phần này sẽ xuất hiện chỉ một lần ở cuối Report (cuối dữ liệu in của trang in cuối cùng). Khu vực này thường chứa những số liệu thống kê cuối bảng báo cáo, các tiêu đề cuối báo cáo như: người lập biểu, ký duyệt, 6.3. C C CƠNG CỤ HỖ TRỢ TRONG M N HÌNH THIẾT KẾ REPORT Hình 6.6 : Thanh cơng cụ h trợ thiết kế Report Ngăn cơng cụ View: Giúp cho ta lựa chọn cách hiện thị của Report khi mở Report View:Dùng để chuyển Report về chế độ xem dữ liệu. chế độ này cho phép bạn cĩ thể thực hiện các thao tác tác động lên nội dung của report như tìm kiếm, lọc dữ liệu trong report, Print Preview:Dùng để chuyển Report về chế độ xem trước khi in Layout View:Dùng để chuyển Report về chế độ Layout. chế độ Layout cho phép bạn nhìn thấy dữ liệu thật của report khi in ra máy in, từ màn hình này bạn cũng cĩ thể chỉnh sửa lại vị trí kích thước, kẽ bảng, cho các control trong report sao cho phù hợp dữ liệu trên từng control. Design View:Dùng để chuyển Report về màn hình thiết kế Hình 6.6.1 : Thanh menu xuất hiện khi khai triển n t View Ngăn cơng cụ Font: Dùng để định dạng font chữ hiển thị trên màn hình report 135
  138. Hình 6.6.2 : Thanh cơng cụ định dạng xuất hiện khi khai triển nút Font Ngăn chứa cơng cụ dùng để kết nhĩm, thống kê Hình 6.6.3 : Ngăn Grouping & Totals Ngăn cơng cụ Gridlines: Sử dụng để kẽ bảng cho Report Hình 6.6.4 : Thanh cơng cụ định dạng xuất hiện khi khai triển nút Gridlines Ngăn cơng cụ Controls: Chứa các loại điều khiển cĩ thể sử dụng để đặt lên Report. 136
  139. Hình 1.6.5 : Hộp cơng cụ Controls Ngăn cơng cụ Tools: Chứa hai nút chính Add Existing Fields dùng để làm xuất hiện các Field cĩ thể nhúng vào report và Property Sheet dùng để làm xuất hiện bảng thuộc tính của các đối tượng đang chọn trên Report. Hình 6.6.6 : Hộp cơng cụ Tools 6.4. TẠO REPORT 6.4.1. TẠO BẰNG WIZARD Thí dụ: Tạo Report gom nhĩm như trong thí dụ ở mục R Bangluong Thơng thường ta chuẩn bị một query làm nguồn cho Report ( đây là Q Bangluong) Từ thanh ribbon chọn ngăn Create click chuột vào nút Report Wizart Hình 6.7: Tạo Report bằng Wizard  Bước : Chọn các cột cần cĩ trong Report - Chọn Table hoặc query làm nguồn cho Report ở mục Tables / Queries. - Đưa những cột cần cĩ trong Report từ khung Available Fields sang khung Selected Fields bằng cách bấm vào các nút để chọn từng Field hoặc bấm vào nút để chọn hết các Field. Nếu muốn bỏ thì bấm vào các nút ngược lại phía dưới hoặc 137