Bài giảng MS Access 2010

pptx 293 trang ngocly 210
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng MS Access 2010", để 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:

  • pptxbai_giang_ms_access_2010.pptx

Nội dung text: Bài giảng MS Access 2010

  1. MS ACCESS 2010 1
  2. NỘI DUNG CHƯƠNG TRÌNH: Chương 1 Tổng quan về hệ quản trị CSDL Access 2010 Chương 2 Thiết kế và cài đặt Cơ Sở Dữ Liệu Chương 3 Làm việc với Bảng (Table) Chương 4 Truy vấn dữ liệu ( Query) Chương 5 Thiết kế biểu mẫu ( Form) Chương 6 Thiết kế báo cáo ( Report) Chương 7 Thiết kế Macro Lập trình Module Chương 8 2
  3. TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CƠNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN Chương 1 Tổng quan về hệ quản trị CSDL Access 2010 1. Giới thiệu về Hệ quản trị CSDL 2. Giới thiệu Access 2010 8. Giao diện người dùng Access 3. Khởi động chương trình 7. Quản lý CSDL 4. Các thành phần của Access 6. Cách tạo CSDL trong Access 3 5. Các đối tượng chính trong Access
  4. Chương 1 Tổng quan về hệ quản trị CSDL Access 2010 1.1 Giới thiệu Hệ Quản Trị Cơ Sở Dữ Liệu Access Databas Access là gì? e (Cơ Sơ Dữ Liệu) 1.1.1 Access là gì: Access là một trong những hệ quản trị cơ sở dữ liệu quan hệ (RDMS - Relational Database Management System) và là phần mềm quản lý cơ sở dữ liệu quan hệ do hãng Microsoft giữ bản quyền. 4
  5. 1.1.2 Access làm những gì: ➢ Access cung cấp hệ thống cơng cụ rất mạnh, giúp người dùng nhanh chĩng và dễ dàng xây dựng chương trình ứng dụng. ➢ Access cho phép người sử dụng quản lý, bảo trì, khai thác, lưu trữ số liệu một cách cĩ tổ chức trên máy tính, tạo ra các ứng dụng mà khơng cần lập trình. 1.1.3 Những ứng dụng của Access: ➢ Dùng để xây dựng hệ cơ sở dữ liệu ➢ Cĩ thể dùng để xây dựng trọn gĩi những phần mềm quản lý qui mơ vừa và nhỏ. ➢ Dùng để quản lý dữ liệu cho phép người dùng đăng nhập vào rồi xem, tìm kiếm, sửa, xĩa, chia sẻ Tạo các ứng dụng về quản lý mà khơng cần phải là một nhà phát triển. VD: Quản lý Sinh Viên, Quản Lý Bán Hàng, Quản Lý Nhân Viên 5
  6. 1.1.3 Những ứng dụng của Access: QUẢN LÝ THƯ VIỆN QUẢN LÝ NHÀ HÀNG 6 QUẢN LÝ SINH VIÊN QUẢN LÝ HỌC VIÊN
  7. 1.1.4 Cơ sở dữ liệu (CSDL): Tìm 4. Cơ sở dữ liệu(Database) là gì? hiểu? Cơ sở dữ liệu Access( CSDL) là 1 tập hợp các dữ liệu về 1 “tổ chức” nào đĩ (ví dụ dữ liệu Sinh Viên) được lưu giữ trong máy tính, được nhiều người sử dụng và được tổ chức theo mơ hình dữ liệu. Các tiêu chuẩn của 1 Cơ sở dữ liệu: ➢ Khơng cĩ sự dư thừa thơng tin. ➢ Phản ánh đúng đắn hoạt động của tổ chức ➢ Đảm bảo an tồn dữ liệu (vì được nhiều người sử dụng) ➢ Cĩ sự độc lập giữa CSDL và các chương trình để đảm bảo cho việc bảo trì ➢ Hiệu quả sử dụng tốt: khai thác trên các máy khác nhau cho kết quả như nhau. 7
  8. 1.1.5 Hệ quản trị CSDL: ? ? ? 5. Hệ quản trị cơ sở dữ liệu Đặt ra là gì? câu hỏi? ? ➢ Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu. ➢ Cĩ rất nhiều loại hệ quản trị CSDL khác nhau, ngồi Access cịn cĩ: MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix 8
  9. 1.2 Giới thiệu Microsoft Access 2010 1.2.1 Lịch sử phát triển: 9
  10. 1.2.2 Access 2010 cĩ gì mới? ➢ Các lệnh được bố trí trên các tab ở phía bên trái của màn hình, và mỗi tab chứa một nhĩm các lệnh cĩ liên quan. Các thao tác sử dụng ít đi, đơn giản hơn so với phiên bản trước ➢ Giao diện của Access 2010 cũng đã thay đổi khá là thân thiện với người sử dụng. Cửa sổ Danh mục chính thay thế và mở rộng các chức năng của cửa sổ Database. ➢ Backstage View cho phép bạn truy cập vào tất cả các lệnh áp dụng cho tồn bộ cơ sở dữ liệu, như là thu gọn và sửa chữa, hoặc các lệnh từ menu File. 10
  11. 1.3 Khởi động Access 2010 Khởi động chương trình MS Access bằng một trong hai cách sau: 1. Start -> (All) Programs -> Microsoft Office -> Microsoft Office Access 2010. Cửa sổ chương trình MS Access 2010 2. Click đúp chuột trái vào biểu tượng11 MS Access 2010 trên Desktop.
  12. 1.4 Các thành phần trong cửa sổ khởi động 1.4.1 Thanh Quick Access ➢ Thanh Quick Access: hiển thị bên trái của thanh tiêu đề, mặc định thanh Quick Access gồm các nút cơng cụ Save, Undo, Chú ý: Thanh Quick Access chỉ hiển thị khi bạn đang mở một Cơ sở dữ liệu (CSDL) bất kỳ. 12
  13. 1.4.1 Thanh Quick Access ➢ Bên phải của Quick Access chứa nút Customize , giúp bạn chỉ định các nút lệnh hiển thị trên thanh Quick Access, ➢ Nhấp vào Show Below the Ribbon : Để hiển thị Thanh Quick Access dưới Ribbon.( Hình 3) 13
  14. 1.4.1 Thanh Quick Access ➢ Muốn thêm, xĩa, nút lệnh vào Quick Access : File/option/ Quick Access toobar ( Hình 2) Nhấp Add để thêm Nhấp Remove để xĩa Nhấp OK để lưu 14
  15. 1.4.2 Vùng làm việc: Là một cửa sổ được chia thành 3 khung: 1. Khung bên trái gồm các 1 lệnh trong tab File 2. Khung giữa chứa các loại tập 2 tin cơ sở dữ liệu mà bạn cĩ thể 3 tạo mới. 3. Khung bên phải: để nhập tên và chọn vị trí lưu tập tin mới tạo và thực thi lệnh tạo mới cơ sơ dữ liệu. . 15
  16. 1.4.3 Thanh Ribbon: Dưới thanh tiêu đề, Thanh dài hiển thị các nút lệnh Home, Create được gọi là Ribbon ➢ Ribbon được chia thành Thu nhỏ kích thước của Ribbon bằngcách từng nhĩm khác nhau click nút Minimize The Ribbon ➢ Mỗi nhĩm hiển thị tiêu đề con bên dưới mỗi nhĩm ➢Để thiết lập thuộc tính mỗi nhĩm nhấp vào 16
  17. 1.4.4 Cửa sổ Properties: Cửa sổ Properties giúp bạn cĩ thể hiệu chỉnh thuộc tính của đối tượng, tùy theo đối tượng đang được chọn mà cửa sổ thuộc tính sẽ chứa những thuộc tính tương ứng của đối tượng đĩ. Cửa sổ Properties được chia thành năm nhĩm: ➢ Format: Gồm các thuộc tính định dạng đối tượng ➢ Data: Gồm các thuộc tính truy suất dữ liệu của đối tượng. ➢ Event: Gồm các sự kiện (event) của đối tượng. ➢ Other: Gồm các thuộc tính giúp bạn tạo hệ thống menu, toolbars, ➢ All: Gồm tất cả các thuộc tính trong bốn nhĩm trên. 17
  18. 1.4.5 Thanh Navigation Pane ➢ Navigation Pane là khung chứa nội dung chính của cơ sở dữ liệu. ➢ Từ khung Navigation Pane, bạn cĩ thể mở bất kỳ Table, Query, Form, Report, Macro, hoặc Module trong cơ sở dữ liệu bằng cách double click vào tên của đối tượng. •Ẩn hiện khung cửa sổ Nagvigation Pane 1 •Ẩn hiện đối tượng 2 •Hiển thị đối tượng 3 •Danh sách các đối tượng 4 Thanh Navigation Pane khi bị ẩn: 18
  19. 1.5 Các đối tượng chính trong Access 2010 Table (Bảng) Module Query (Lập (Truy vấn) trình) ACCESS (Cơ sở dữ liệu) Macro Form (Tập lệnh) (Biểu mẫu) Report (Báo cáo) 19
  20. Table Query Form Repor Macro Module t 1.5.1 Table (Bảng) Table: Là đối tượng dùng để lưu dữ liệu. Một bảng bao gồm cột và hàng - Cột hay cịn gọi là trường (Field) - Hàng hay cịn gọi là bản ghi (Record) VD: Quan sát bảng Khách Hàng dưới đây: Bảng cĩ 5 trường: Mã KH, Tên cơng20 ty, Địa Chỉ, Thành phố, SĐT.
  21. Table Query Form Repor Macro Module t 1.5.2 Query (Truy vấn) Query: là cơng cụ được sử dụng để trích rút dữ liệu theo những điều kiện được xác định, tập dữ liệu trích rút cũng cĩ dạng bảng biểu. VD: Quan sát truy vấn dưới đây: Truy vấn trên trích rút ra thơng tin các sản phẩm theo Mã KH. 21
  22. Table Query Form Repor Macro Module t 1.5.3 Form ( Biểu mẫu) Form: Là đối tượng thiết kế để nhập hoặc hiển thị dữ liệu giúp xây dựng các thành phần giao tiếp giữa người sử dụng với chương trình. VD: Quan sát Form dưới đây: 22
  23. Table Query Form Repor Macro Module t 1.5.4 Report ( Báo cáo) Report: Là cơng cụ được sử dụng để tạo báo cáo dữ liệu được lấy từ các bảng (Table) hoặc từ truy vấn (Queries). VD: Quan sát Report dưới đây: 23
  24. Table Query Form Repor Macro Module t 1.5.5 Macro ( Tập lệnh) Marco: Là đối tượng định nghĩa một hoặc nhiều hành động (thao tác) mà Access sẽ thực hiện một lần khi chạy. VD: Quan sát Macro dưới đây: 24
  25. Table Query Form Repor Macro Module t 1.5.6 Lập trình Module Module: Là ngơn ngữ lập trình hoạt động theo các sự kiện, trên nguyên tắc của lập trình cấu trúc, nhằm xây dựng các ứng dụng một cách linh hoạt trên nền các đối tượng của Access. VD: Quan sát Module dưới đây: 25
  26. 1.6 Cách tạo cơ sở dữ liệu trong Access 2010 1.6.1 Tạo một cơ sở dữ liệu rỗng (Blank Database) Thực hiện: Menu File -> New - > Blank Database -> Create ➢ File name: nhập tên cho Cơ Sở Dữ Liệu ➢ Đuơi mở rộng của Access 2010 là .accdb ➢ Nếu khơng chỉ định đường dẫn thì CSDL được lưu mặc định vào thư mục Document ➢ Để chỉ định thư mục lưu ta chọn Brows và nhấp vào 26 Create để tạo CSDL
  27. 1.6.2 Tạo một cơ sở dữ liệu theo mẫu (Template) Thực hiện: Tại cửa sổ khởi động/ New/Sample Template/CSDL cĩ sẵn/Create ➢ Trong khung File name nhập tên CSDL. ➢ Click vào nút Brows để chỉ định vị trí lưu tệp tin ➢ Click vào Create để tạo CSDL. 27
  28. 1.7 Quản lý Cơ Sở Dữ Liệu Access 2010 1.7.1 Recent Recent: hiển thị danh sách các tập tin cơ sở dữ liệu được mở gần nhất. Số tập tin hiển thị trong danh sách này mặc định là 9 Cĩ thể thay đổi bằng các cách sau: ➢ Tại cửa sổ làm việc của Acces, chọn tab File. ➢ Chọn Options/Client Settings ➢ Trong mục Display, thay đổi giá trị của thuộc tính “Show This Number of Recent Documents” ➢ Nhập số bản ghi muốn hiển thị 28
  29. 1.7.2 Mở một cơ sở dữ liệu (Open) Để mở một cơ sở dữ liệu đã cĩ ta thực hiện một trong các cách sau: Cách 1: Tại cửa sổ khởi động chọn File/Open /chọn tệp tin cở sở cần mở/Open Cách 2: nhấp double click vào tệp CSDL cần mở ➢ Open: mở CSDL mặc định bình thường. ➢ Open Read Only: mở CSDL ở chế độ chỉ đọc, khơng chỉnh sửa. ➢ Open Exclusive: mở chế độ bảo mật. ➢ Open Exclusive Read Only: 29 chế độ chỉ đọc và bảo mật.
  30. 1.7.3 Thốt khỏi cơ sở dữ liệu (Exit) Để đĩng một cơ sở dữ liệu đang chạy ta thực hiện cách sau: Tại cửa sổ khởi động , File -> Close Database Để đĩng chương trình Access ta thực hiện cách sau: Tại cửa sổ khởi động, File -> Exit (Alt+F4) hoặc ấn nút (X) 30
  31. 1.7.4 Thu gọn và chỉnh sửa CSDL (Compact & Repair) Khi tạo thêm đối tượng trong cơ sở dữ liệu thì dung lượng của tập tin cơ sở dữ liệu sẽ tăng lên, khi xĩa một đối tượng thì vùng nhớ của nĩ sẽ rỗng, nhưng khơng sử dụng được. Chức năng Compact & Repair Database giúp thu hồi lại phần bộ nhớ bị rỗng, làm cho tập tin cơ sở dữ liệu gọn lại. Cách thực hiện: - Mở cơ sở dữ liệu cần thu gọn và chỉnh sửa - Chọn Menu File - Click nút Compact & Repair Database 31
  32. 1.7.5 Xuất dữ liệu từ Access sang ứng dụng khác (Export) Cĩ thể xuất dữ liệu sang cơ sở dữ liệu Access khác, hoặc Excel, Word, Pdf Cách thực hiện: ➢ Chọn đối tượng muốn xuất sang ứng dụng khác. ➢ Chọn tab External Data. ➢ Trong nhĩm cơng cụ Export, chọn loại ứng dụng mà bạn muốn xuất dữ liệu: Excel, Text file, XML file, Word, Access ➢ Click nút Browse chỉ định vị trí xuất dữ liệu. ➢ Click OK hồn tất việc export dữ liệu. 32
  33. 1.7.6 Nhập dữ liệu từ ứng dụng khác vào Access (Import) Cĩ thể chép dữ liệu từ ứng dụng khác như Excel, ODBC Database, Access, vào cơ sở dữ liệu hiện hành. Cách thực hiện: ➢ Chọn tab External Data ➢ Trong nhĩm lệnh Import & Link, chọn ứng dụng mà bạn muốn chép dữ liệu. ➢ Lần lượt làm theo các bước hướng dẫn của Access: 33
  34. 1.7.6 Nhập dữ liệu từ ứng dụng khác vào Access (Import) a. Nhập dữ liệu từ Excel vào Access (Import) Trong cửa sổ làm việc của Access, chọn tab External Data, click nút Excel trong nhĩm lệnh Import & Link Chọn tập tin Excel cần chép (Click nút Browse để tìm tập tin Excel)-> Open-> OK, sau đĩ thực hiện theo các bước hướng dẫn của Access: + Chọn sheet chứa dữ liệu cần chép -> Next. + Chọn dịng làm tiêu đề cho bảng -> Next. + Chỉ định thuộc tính cho các field -> Next. + Chọn cách tạo khĩa cho bảng: ▪ Let Access add primary key: Access tự tạo khĩa. ▪ Chose my own primary key: Bạn chỉ định khĩa. ▪ No primary key: Khơng tạo khĩa + Nhập tên cho bảng -> Finish + Access hiển thị thơng báo cho biết hồn tất quá trình import một file Excel thành một bảng trong34Access
  35. 1.7.6 Nhập dữ liệu từ ứng dụng khác vào Access (Import) Cĩ thể chép dữ liệu từ ứng dụng khác như Excel, ODBC Database, Access, vào cơ sở dữ liệu hiện hành. b. Nhập dữ liệu từ Access vào CSDL hiện hành: ➢ Trong cửa sổ làm việc của Access, chọn tab External Data, click nút Access trong nhĩm lệnh Import & Link ➢ Chọn tập tin Access chứa dữ liệu cần chép (Click nút Browse để tìm tập tin Access)- >Open. ➢ Chọn tùy chọn “Import table, query, form, report, macro and modules into the current database”để chỉ định vị trí lưu trữ dữ liệu trong cơ sở dữ liệu hiện hành->OK ➢ Trong cửa sổ Import object, chọn đối tượng cần chép. Cĩ thể chọn nhiều đồng thời đối tượng hoặc35 chọn tất cả bằng cách click nút Select All->OK.
  36. 1.7.7 Bảo Mật trong Access 2010 (Password) a. Tạo mật khẩu bảo mật CSDL: Cách thực hiện: + Mở cơ sở dữ liệu ở chế độ Exclusive bằng cách: File-Open- Open Exclusive. + Chọn tab File, Chọn lệnh Info Click nút set Database Password + Nhập Password 2 lần , OK 36
  37. 1.7.7 Bảo Mật trong Access 2010 (Password) b. Gỡ bỏ mật khẩu trong CSDL: Cách thực hiện: + Mở cơ sở dữ liệu ở chế độ Exclusive bằng cách: File-Open- Open Exclusive. + Chọn tab File, chọn lệnh Info-Click nút UnSet DatabasePassword. . + Nhập Password để gỡ bỏ , OK 37
  38. 1.8 Giao diện người dùng trong Access 2010 1.8.1 Tạo mới một đối tượng: ➢ Click tab Create trên thanh Ribbon. ➢ Trong nhĩm cơng cụ của từng đối tượng,chọn cách tạo tương ứng 1.8.2 Thiết kế lại một đối tượng: ➢ Nếu đối tượng đang đĩng: + Click phải trên đối tượng cần thiết kế lại. + Chọn Design view. ➢ Nếu đối tượng đang mở + Click nút Design View 1.8.3 Xem nội dung trình bày của một đối tượng: ➢ Nếu đối tượng đang mở ở chế độ Design View + Click nút View. ➢ Nếu đối tượng đang đĩng: + Click phải trên tên đối tượng cần xem. + Chọn Open. 38
  39. 1.8.4 Xĩa một đối tượng ➢ Click phải chuột trên đối tượng cần xĩa, ➢ Chọn mục delete trên Menu Popup. ➢ Hoặc chọn rồi nhấn phím Delete. Hoặc nút trên thanh cơng cụ. 1.8.5 Đổi tên đối tượng: ➢ Click phải chuột trên đối tượng, chọn rename, ➢ Hoặc nhấn F2 ➢ Nhập tên mới. 1.8.6 Sao chép một đối tượng: ➢ Click phải chuột lên thành viên cần chép ➢ Chọn mục copy để chép đối tượng vào Clipboard. ➢ Click nút Paste trên thanh Menu để chép vào cửa sổ database. ➢ Nhập tên cho đối tượng sao chép. ➢ Đối với kiểu đối tượng Table, ta cĩ thể lựa chọn 1 trong 3 kiểu sao chép + Structure only: Sao chép cấu trúc + Structure and data: Sao39chép cấu trúc và dữ liệu
  40. 1.8.7 Chức năng Link Chức năng Link trong Acces để duy trì mối liên kết với dữ liệu nguồn. Nếu dữ liệu nguồn thay đổi thì dữ liệu trong bảng liên kết sẽ thay đổi theo và ngược lại. Cách thực hiện: Tương tự như chức năng Import, nhưng trong cửa sổ Get External Data, ta chọn tùy chọn “Link to data source by creating a link table”- Chọn bảng muốn link- OK 1.8.8 Chọn giao diện người dùng trong Access 2010: Access 2010, bạn cĩ sự lựa chọn của việc sử dụng các giao diện truyền thống hoặc loại giao diện mới cĩ dạng các tab. 40
  41. 1.8.9 Tabbed Documents Tabbed Documents là giao diện lý tưởng cho người dùng làm việc với nhiều hơn một đối tượng tại một thời điểm. ➢ Trong giao diện này form và report khơng thể nằm trên đầu trang của một khác và người dùng cĩ thể xem tất cả các điều khiển trên một đối tượng giao diện người dùng mà khơng cần phải di chuyển một đối tượng trong đường đi. 41
  42. 1.8.10 Overlapping Windows ➢ Overlapping Windows cĩ lợi thế hơn. Do sự đa dạng của việc thiết lập thuộc tính BorderStyle và khả năng loại bỏ các nút Min, Max, và Close. ➢ Với giao diện Overlapping Windows, bạn cĩ thể dễ dàng buộc người dùng tương tác với một form tại một thời điểm. 42
  43. 1.8.11 Chuyển từ giao diện Tabbed Documents sang Overlapping Windows Chuyển sang dạng Overlapping Windows ta thực hiện như sau: ➢ Trong cửa sổ làm việc của Access, chọn tab File- chọn lệnh Options. ➢ Trong cửa sổ Access options, chọn Current Database. ➢ Trong mục Document- Window Options - Chọn Overlapping Windows-OK ➢ Thốt khỏi Access và khởi 43 động lại.
  44. TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CƠNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN Chương 2 Thiết kế và cài đặt Cơ sở dữ liệu 1 Thiết kế các Bảng và xác định các mối quan hệ 2 2. Cài đặt các Bảng lên đĩa thơng qua Access 3 3. Thiết lập các mối quan hệ giữa các Bảng 44
  45. 2.1 Phân tích CSDL 2.1.1 Đặt vấn đề Trong một xí nghiệp, hàng ngày người ta xuất vật tư theo phiếu xuất kho: Ta thấy cấu trúc bảng trên cĩ những điều khơng hợp lý như sau: ➢ Cùng một người nhận vật tư, nhưng ở phiếu khác thì ta phải ghi lặp lại tên và địa chỉ của họ. ➢ Nếu cĩ thêm vật tư M3, M4, v.v thì cấu trúc trên bị thiếu cột, nghĩa là cấu trúc trên khơng phù hợp nữa, mặt khác rất lãng phí để ghi tên trường mã vật tư. ➢ Bởi vậy phải biết phân tích CSDL45 để đưa ra được bảng hợp lý
  46. 2.1.1 Đặt vấn đề Để phân tích tốt phải hiểu được CSDL là gì ? Đĩ là một mơn học riêng (dành cho chuyên ngành) Ở đây ta chỉ dùng trực giác để xây dựng một cách tương đối, đáp ứng nhu cầu ứng dụng ngay của Access mà thơi. 46
  47. 2.1.1 Giải quyết vấn đề ➢ Giả sử bạn cần quản lý một cửa hàng bán hàng hĩa trong thành phố. Bạn hãy phân tích và thiết kế một CSDL nhằm thực hiện các yêu cầu quản lý thực tế. Đĩ là quản lý các nhân viên trong cửa hàng, các sản phẩm, các khách hàng, các hố đơn ➢ Theo trực giác chúng ta cần gì? ➢ NHÂN VIÊN: Mỗi một nhân viên cần cĩ thơng tin gì? ➢ SẢN PHẨM: Mỗi sản phẩm cần cĩ gì để quản lí ➢ KHÁCH HÀNG: Mỗi khách hàng cần cĩ thơng tin gì? ➢ HĨA ĐƠN: Mỗi một hĩa đơn cần cĩ những gì? ➢ CHI TIẾT HĨA ĐƠN: Một chi tiết hĩa đơn cho biết gì? 47
  48. 2.1.2 Một số các quy tắc về xây dựng CSDL Mỗi trường trong bảng phải mơ tả một loại thơng tin duy nhất. 1 Mỗi bản ghi cĩ một số trường tối thiểu, nhờ nĩ mà khơng cĩ các 2 bản ghi trùng nhau. (số trường tối thiểu đĩ gọi là khố cơ bản) Các trường trong bảng phải đầy đủ và liên quan đến khố cơ 3 bản hay cịn gọi là liên quan đến chủ thể của bảng (điều này được gọi là phụ thuộc hàm) Cĩ thể thay đổi được một trường bất kỳ (trừ các khố cơ bản) 4 mà khơng ảnh hưởng đến mọi trường khác 48
  49. 1 Mỗi trường trong bảng phải mơ tả một loại thơng tin duy nhất. Giả sử ta cĩ một phiếu xuất kho như sau: Ta thấy mã vật tư 1 và vật tư 2 đều mơ tả một loại thơng tin là mã vật tư vậy tại sao ta khơng để chung là mã vật tư
  50. 2 Mỗi bản ghi cĩ một số trường tối thiểu, nhờ nĩ mà khơng cĩ các bản ghi trùng nhau. (số trường tối thiểu đĩ gọi là khố cơ bản) Họ tên Giới Ngày sinh Địa chỉ Để xây dựng bảng tính Nhân Viên ta xây dựng gồm: Lê Anh Nu 12/2/1977 Hà nội Hà Thi Tú Nu 13/4/1974 Hà Nam Lê Anh Nu 12/2/1977 Hà nội ➢ Ta thấy cĩ hai bản ghi Mã Hoten Giới Ngày Địa chỉ thơng tin giống hệt NV tính sinh nhau vậy làm cách nào để phân biệt 01 Lê Anh Nu 12/2/1977 Hà nội ➢ Hãy thêm mã nhân viên sẽ giúp chúng ta 02 Hà Thị Tú Nu 13/4/1974 Hà Nam khác phục điều này 03 Lê Anh Nu 12/2/1977 Hà nội
  51. 3 Các trường trong bảng phải đầy đủ và liên quan đến khố cơ bản hay cịn gọi là liên quan đến chủ thể của bảng (điều này được gọi là phụ thuộc hàm) Mã Họ tên Giới Ngày sinh Địa chỉ NV tính 01 Lê Anh Nu 12/2/1977 Hà nội 02 Hà Thị Tú Nu 13/4/1974 Hà Nam 03 Lê Anh Nu 12/2/1977 Hà nội ➢ Ta thấy Họ tên, giới tính, ngày sinh, địa chỉ liên quan đến Mã NV giúp cho thơng tin nhân viên rõ ràng Ta gọi Mã NV là khĩa cơ bản ➢ Khơng thể thêm vào một trường chẳng hạn Số lượng vào bảng này vì chẳng liên quan gì đến Mã NV cả
  52. 4 Cĩ thể thay đổi được một trường bất kỳ (trừ các khố cơ bản) mà khơng ảnh hưởng đến mọi trường khác ➢ Ở bảng Phiếu Kho bên cạnh nếu dịng 1 ta vơ tình gõ sai tên người nhận là Lê Anh Quân thì: - Địa chi Lê Anh Quân chỉ cĩ là 13 Hàng Bài - khơng cĩ Lê Anh Quân nào ở 35 Tràng Thi - Thực ra Địa Chỉ là phụ Bảng Phiếu thuộc vào Người Nhận. Do đĩ ta nên tách bảng Bảng Địa Chỉ Phiếu Kho thành 2 bảng: Phiếu và Địa Chỉ như bên:
  53. 2.2 Cài đặt dữ liệu lên các bảng trong Access Để rõ hơn về vấn đề này chúng ta phải hiểu Bảng là gì? Hãy hình dung bài tốn CSDL vừa phân tích gồm các bảng Bảng 1: Danh mục Khách Hàng (KHACHHANG): Bảng 2: Danh mục Sản Phẩm (SANPHAM): Bảng 3: Danh mục Nhân Viên (NHANVIEN): 53
  54. 2.2 Cài đặt dữ liệu lên các bảng trong Access Bảng 4: Hĩa đơn (HOADON): Bảng 5: Chi tiết hĩa đơn (CTHD): Một cơ sở dữ liệu Access bao gồm tập hợp các bảng dữ liệu cĩ quan hệ chặt chẽ, phù hợp để phục vụ lưu trữ dữ liệu cho một ứng dụng quản lý 54
  55. 2.3 Thiết kế các bảng và xác định mối quan hệ ➢ Dựa vào số liệu thống kê trên ta xây dựng Bảng. Tìm hiểu cấu trúc của một bảng và cách tạo một bảng trong Access 55
  56. TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CƠNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN Chương 3 Làm việc với Bảng (Table) Thao tác CSDL 7. Cách nhập dữ liệu Hiệu chỉnh cấu trúc Bảng cho Bảng 8. Các thao tác với Các thao tác với Bảng 5. Hiệu chỉnh cấu trúc của Bảng Bảng ở chế độ Datasheet 1. Khái niệm Bảng 6. Tạo các quan hệ 2. Cách tạo Bảng giữa các Bảng trong 3. Các kiểu dữ liệu cùng CSDL 3 4. Các thuộc tính Bảng 2 1 56
  57. 3.1 Các khái niệm 3.1.1 Khái niệm về bảng trong Access Bảng (Table): Là thành phần cơ bản, đối tượng chính trong cơ sở dữ liệu Access. ➢ Đây là đối tượng quan trọng nhất, dùng để lưu trữ dữ liệu, mỗi bảng lưu trữ thơng tin về một đối tượng đang quản lý. ➢ Một bảng gồm cĩ nhiều cột (Fields) và nhiều hàng (Records). 57
  58. 3.1.1 Khái niệm về bảng trong Access Field Record(Bản ghi) (Cột) ❑ Cột (Field) : Mỗi field (field hoặc cột) trong một bảng chỉ chứa một loại dữ liệu duy nhất, nĩ lưu trữ một thuộc tính của đối tượng.Trong một bảng phải cĩ ít nhất một field. ❑ Dịng (Record): Là một thể hiện dữ liệu của các field trong bảng. Trong một bảng cĩ thể cĩ khơng cĩ record nào hoặc cĩ nhiều records. Trong một bảng thì dữ liệu trong các record khơng được trùng lắp. 58
  59. 3.1.2 Khái niệm Các Khĩa trong Bảng Khĩa chính (Primary Key): ➢ Trường khố cĩ tác dụng phân biệt giá trị các bản ghi trong cùng một bảng với nhau. ➢ Trường khố cĩ thể chỉ 01 trường, cũng cĩ thể được tạo từ tập hợp nhiều trường (gọi bộ trường khố). ➢ Khi một Field hoặc nhiều field kết hợp được chỉ định là khĩa chính thì Access sẽ tự động tạo chỉ mục cho chúng. ➢ Khi nhập dữ liệu, Access sẽ tự động kiểm tra khĩa chính và khơng cho phép trùng lắp, và khơng rỗng. 59
  60. 3.2 Khái niệm Các Khĩa trong Bảng Khĩa phụ (Foreign Key): ➢ Khĩa ngoại là một field hay một nhĩm các field trong một record của một bảng, trỏ đến khĩa chính của một record khác của một bảng khác. ➢ Thơng thường, khĩa ngoại trong một bảng trỏ đến khĩa chính của một bảng khác. ➢ Dữ liệu trong field khĩa ngoại phải tồn tại trong field khĩa chính mà nĩ trỏ tới. Khĩa ngoại dùng để tạo quan hệ giữa các bảng trong cơ sở dữ liệu. 60
  61. 3.2 Cách tạo bảng 3.2.1 Tạo bảng bằng chức năng Table Design Bước 1: Trong cửa sổ làm việc của Access ➢ trên thanh Ribbon ➢ click tab Create, trong nhĩm lệnh Table ➢ click nút lệnh Table Design ➢ xuất hiện cửa sổ thiết kế bảng gồm các thành phần: ➢ Field Name: định nghĩa các trường trong bảng ➢ Data Type: chọn kiểu dữ liệu để lưu trữ dữ liệu của Trường tương ứng. ➢ Description: dùng để chú thích ý nghĩa của trường. ➢ Field Properties: thiết lập các thuộc tính của trường, gồm cĩ hai nhĩm 61
  62. 3.2.1 Tạo bảng bằng chức năng Table Design Bước 2: Trong cửa sổ thiết kế, thực hiện các cơng việc sau: ➢ Nhập tên field trong cột Field Name ( Tên trường) ➢ Chọn kiểu dữ liệu cho field trong cột Data Type. ( Kiểu dữ liệu) ➢ Chú thích cho field trong cột Description.( Ghi chú thích) ➢ Chỉ định thuộc tính cho trường trong khung Field Properties (Thuộc tính) Bước 3: Xác định khĩa chính cho bảng: ➢ Đặt trỏ tại field được chọn làm khĩa chính (hoặc chọn các trường đồng thời làm khĩa). ➢ Click nút Primary key trên thanh cơng cụ Table (Table Tools), hoặc click phải trên tên field, chọn lệnh Primary key. 62
  63. 3.2.1 Tạo bảng bằng chức năng Table Design Bước 4: Lưu bảng vừa tạo bằng cách: ➢ Click vào nút Save trên thanh Quick Access. ➢ Nhập tên cho bảng trong hộp thoại Save as như hình (trong trường hợp Table mới tạo, chưa đặt tên). Lưu ý: Nếu bảng chưa được đặt khĩa chính thì Access sẽ hiển thị một hộp thoại thơng báo: ➢ Nhấn nút Cancel để trở lại cửa sổ thiết kế, đặt khố chính cho bảng. ➢ Nhấn nút No để lưu mà khơng cần đặt khĩa chính, cĩ thể đặt sau. ➢ Nhấn nút Yes để Access tự tạo khố chính cĩ tên là ID, kiểu Autonumber. 63
  64. 3.2.2 Tạo bảng trong chế độ Datasheet View : Cĩ thể tạo bảng bằng cách định nghĩa trực tiếp các cột trong chế độ DataSheet View như sau: Trong cửa sổ làm việc của Access: ➢ Chọn tab Create trên thanh Ribbon, trong nhĩm lệnh Table ➢ Click nút Table, xuất hiện bảng mới ở chế độ Datasheet View. ➢ Thanh Ribbon chuyển sang tab Field với nhĩm lệnh Add & Delete giúp bạn chọn kiểu dữ liệu cho Field mới khi thêm Field vào bảng. ➢ Nhập tên cho Field mới. 64
  65. 3.3 Các kiểu dữ liệu trong Bảng (Data Type) Trong Access mỗi Field cĩ thể nhận một trong các kiểu dữ liệu sau: Kiểu dữ liệu Dữ liệu Kích thước Text Văn bản Tối đa 255 ký tự Memo Văn bản nhiều dịng Tối đa 65.535 ký tự Number Kiểu số 1,2,4, 8 byte Date/Time Ngày tháng 8 byte Currency Tiền tệ, mặc định $ 8 byte AutoNumber Số tự động tăng dần 4 byte Yes/No Kiểu logic, Yes/No; True/False 1 bit OLE Object Dữ liệu kiểu đối tượng 65
  66. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.1 Field Size ( kích thước của trường) Quy định kích thước của field, tuỳ thuộc vào kiểu dữ liệu. Chỉ cĩ hiệu lực với các Field cĩ kiểu là Text hoặc Number. ➢ Dữ liệu kiểu text: giới hạn kích thước từ 0- 255 ký tự, mặc định là 50 ký tự. ➢ Dữ liệu kiểu Memo: giới hạn kích thước từ 0- 65.535 ký tự. ➢ Đối với kiểu dữ liệu Number: kiểu Number bao gồm một số kiểu con, giới hạn kích thước kiểu Number chính là xác định 66 kiểu con
  67. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.2 Decimal Places : Quy định số chữ số thập phân (chỉ sử dụng trong trường hợp số cĩ dạng single, double). Đối với kiểu Currency, Fixed, Percent luơn luơn decimal places là 2. 67
  68. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.3 Format a. Các ký tự định dạng kiểu dữ liệu Text ( văn bản) Ký tự định dạng Tác dụng @ Chuỗi ký tự > Chuỗi văn bản chữ in hoa Ký tự nằm sau dấu \ [Black], [Yellow], [Red] Màu chữ (Màu đen, màu vàng, đỏ) [Green], [Blue], [White] Xanh, xanh biển, trắng Định dạng Dữ liệu nhập Hiển thị 68 >[Red] Thiên yết THIÊN YẾT
  69. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.3 Format b. Các ký tự định dạng kiểu dữ liệu Number Ký tự Tác dụng General Number Hiển thị đúng như số nhập vào Currency Cĩ dấu phân cách, thập phân và ký hiệu tiền tệ Fixed Giống như định dạng trong máy tính và số lẻ phụ thuộc vào phần Decimal ( thập phân) Standard Giống như Fixed thêm cĩ dấu phân cách hàng ngàn Percent Hiển thị phần trắm (%) Scientific Hiện thị dạng khoa học. Định dạng Dữ liệu nhập Hiển thị 69 Currency 235.5 $235.50
  70. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.3 Format c. Các ký tự định dạng kiểu dữ liệu Số Ký tự Tác dụng . (period) Dấu chấm thập phân .(comma) Dấu chấm ngăn cách 0 Số (0-9) # Số hoặc khoảng trắng (blank) $ Dấu $ % Phần trăm E+E+e+e- Số dạng khoa học Khoảng trắng (blank) Khoảng trắng Định dạng Dữ liệu nhập Hiển thị % 0.02 70 2%
  71. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.3 Format d. Các ký tự định dạng kiểu ngày tháng (Data/Time) Ký tự Hiển thị Ví dụ General Ngày , giờ 1/08/2014 12:30:45PM Long Date Thứ , ngày , tháng , năm Friday, 28 Octorber 2014 Medium Date Ngày – tháng – năm 15-03-2014 Short Date Ngày / tháng/ năm 28/10/14 Long time Giờ - phút – giây AM/PM 05:02:35 AM Medium Time Giờ - phút AM/PM 05:02 AM Short Time Giờ - phút 15:10 71
  72. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.3 Format e. Định dạng dữ liệu kiểu Yes/No Định dạng Ý nghĩa Yes/No Đúng / Sai True/False Đúng / Sai On/foff Đúng / Sai ➢ Chuỗi ký tự định dạng kiểu yes/no gồm 3 phần: First; Second; Third. ➢ First: bỏ trống, định dạng trong mục này khơng ảnh hưởng đến dữ liệu kiểu Yes/No. ➢ Second: field hợp nội dung field mang giá trị đúng. ➢ Third: field hợp nội dung field mang giá trị sai. 72
  73. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.4 Input Mask ( mặt nạ nhập dữ liệu) Quy định khuơn định dạng dữ liệu. Người sử dụng khi nhập dữ liệu vào bảng bắt buộc phải tuân theo đúng định dạng đĩ. Quy định khuơn định dạng dữ liệu. Người sử dụng khi nhập dữ liệu vào bảng bắt buộc phải tuân theo đúng định dạng đĩ. Những field cùng lúc qui định thuộc tính Format và Input Mask, Access sẽ hiển thị theo dạng qui định trong Format khi hiển thị dữ liệu. Tuy nhiên nếu điều chỉnh dữ liệu thơng qua biểu mẫu, Access dùng dạng thức qui định trong Input Mask. Các ký tự dùng định dạng trong Input Mask. 73
  74. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.4 Input Mask ( mặt nạ nhập dữ liệu) Các ký tự dùng định dạng trong Input Mask. Ký tự Ý nghĩa 0 Vị trí bắt buộc nhập, nhập các số 0-9 cho phép nhập dấu 9 nhập các số 0-9 cho phép nhập dấu # Vị trí khơng bắt buộc nhập, Nhập số 0-9, khoảng trắng, +,- L Bắt buộc nhập ký tự chữ A-Z ? Khơng bắt buộc nhập, ký tự chữ và số A Bắt buộc nhập các ký tự chữ và số a Khơng bắt nhập các ký tự chữ và số & bắt buộc nhập, ký tự bất kỳ hoặc khoảng trắng C Khơng bắt buộc nhập nhập ký tự bất kỳ hoặc khoảng trắng74
  75. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.5 Validation rule (Quy tắc hợp lệ) : ➢ Kiểm tra tính hợp lệ của dữ liệu khi nhập liệu. Nếu dữ liệu khơng thỏa điều kiện cho trước, Access xuất hiện trên màn hình một thơng báo chứa dịng văn bản quy định ở Validation text. ➢ Trong Validation Rule cĩ các phép tốn sau: ➢ Phép tốn so sánh: > , =, ➢ Phép tốn quan hệ: OR; AND; NOT ➢ Phép tốn về chuỗi: tốn tử Like (giống như).Cĩ thể sử dụng tốn tử Like kèm với các ký tự thay thế như: Dấu *: thay thế tất cả các ký tự. Dấu #: thay thế các ký tự số. Dấu ?: thay thế ký tự tại vị trí cĩ dấu ?. 75
  76. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.6 Validation text (Thơng báo lỗi) : ➢ Chuỗi thơng báo xuất hiện khi dữ liệu nhập vào khơng thoả điều kiện của Validation Rule, chuỗi trong validation text cĩ độ dài tối đa 255 ký tự. 76
  77. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.7 Caption: Tiêu đề ➢ Qui định nhãn là một chuỗi ký tự xuất hiện tại dịng tên field. Chuỗi này cũng xuất hiện tại tiêu đề của các điều khiển trong các biểu mẫu hoặc báo cáo. ➢ Nếu giá trị này bỏ trống thì Access sẽ lấy tên field làm tiêu đề. 3.4.8 Default value: giá trị ngầm định ➢ Quy định giá trị mặc nhiên cho cột. ➢ Access sẽ tự động gán giá trị này vào khi thêm mẩu tin mới. ➢ Người sử dụng cĩ thể gán một biểu thức cho thuộc tính này 3.4.9 Required: Yêu cầu ➢ Cĩ yêu cầu bắt buộc nhập dữ liệu cho một field hay cĩ thể để trống 77
  78. 3.4 Các thuộc tính của Trường (Field Properties ) 3.4.10 AllowZeroLength: trường trống Quy định field cĩ kiểu Text hay Memo cĩ thể cĩ (yes) hoặc khơng cĩ (no) chuỗi cĩ độ dài Zero. Nếu field là field khố thì thuộc tính này là No. Chú ý: ➢ Cần phân biệt field cĩ giá trị null (trống chưa cĩ dữ liệu) và một field chứa chuỗi cĩ độ dài là zero (đĩ là chuỗi ""). ➢ Khi hiển thị ra màn hình cả hai cĩ hình thức giống nhau. 3.4.11 Index ( Chỉ mục, sắp xếp) Quy định thuộc tính Index để tạo chỉ mục đơn (chỉ mục trên một field). ➢ Nếu chọn No thì khơng sắp xếp dữ liệu. ➢ Nếu chọn Yes (No Duplicates) thì tạo chỉ mục (sắp xếp) trên field và khơng cho phép các giá trị trùng nhau. ➢ Nếu chọn Yes (Duplicates Yes) thì tạo chỉ mục (sắp xếp) trên field và 78 cho phép các giá trị trùng nhau.
  79. 3.5 Hiệu chỉnh cấu trúc Bảng Thêm, sửa, thay đổi trường dữ liệu ➢ Mở bảng ở chế độ thiết kế (Design View) bằng cách: Trong cửa sổ Database, chọn bảng muốn thay đổi cấu trúc, click phải, chọn Design View. ➢ Thanh Ribbon chuyển sang Tab Design gồm các cơng cụ cho phép hiệu chỉnh cấu trúc của bảng. ➢ Insert Rows: chèn thêm một field trên field hiện hành. ➢ Delete Rows: xĩa các field được đánh dấu chọn Di chuyển field: Click chọn tên field muốn di chuyển, drag chuột 79 vào tên field, di chuyển đến vị trí mới.
  80. 3.6 Tạo quan hệ giữa các bảng trong cơ sở dữ liệu 3.6.1 Các loại mối quan hệ: Quan hệ 1-1 (một-một) ➢ mỗi record của bảng thứ 1 sẽ liên kết với một record của bảng thứ 2 ➢ Bảng Nhan Vien và Luong được liên kết qua MANV ➢ Những bảng cĩ mối quan hệ 1 -1 ta cĩ thể gộp các trường vào làm một bảng 80
  81. 3.6.1 Các loại mối quan hệ: Quan hệ 1-n (một-nhiều) Quan hệ 1-n: mỗi record của bảng 1 sẽ liên kết với một hoặc nhiều record của bảng n, ngược lại một record của bảng n chỉ liên kết với duy nhất một record trong bảng 1. 81
  82. 3.6.2 Cách tạo mối quan hệ Tại cửa sổ làm việc của Access, chọn tab Database Tools trên thanh Ribbon, click nút Relationships. ➢ Nếu là lần đầu tiên (CSDL chưa cĩ quan hệ) thì hộp thoại Show Tables sẽ xuất hiện. ➢ Nếu khơng cĩ cửa sổ Show Table thì Click nút Show Table trên thanh Ribbon. ➢ Tab Tables: hiển thị tất cả các bảng trong cơ sở dữ liệu ➢ Tab Queries: hiển thị các truy vấn đã tạo trong cơ sơ dữ liệu ➢ Tab Both: hiển thị tất cả Table và Query. 82
  83. 3.6.2 Cách tạo mối quan hệ ➢ Chọn bảng hoặc Query cần thiết lập quan hệ, click Add. ➢ Click nút Close đĩng cửa sổ Show Table. ➢ Cửa sổ RelationShips chứa các bảng muốn thiết lập quan hệ. ➢ Drag chuột kéo field quan hệ từ bảng này sang bảng kia. ➢ (vd: Kéo field MaNV từ bảng NHANVIEN sang MaNV của bảng HOADON). ➢ Xuất hiện cửa sổ Edit RelationShips với các tùy 83 chọn:
  84. 3.6.2 Cách tạo mối quan hệ Enforce Referential Integrity nếu muốn quan hệ cĩ tính ràng buộc tồn vẹn. Quan hệ cĩ tính ràng buộc tồn vẹn sẽ đảm bảo các vấn đề sau: ➢ Khi nhập dữ liệu, dữ liệu của field tham gia quan hệ ở bảng "nhiều" (bảng con) phải tồn tại trong bảng "một" (bảng cha). Ví dụ: muốn nhập một sinh viên cho bảng KETQUA thì MaSV đĩ phải tồn tại trong bảng SINHVIEN. ➢ Khơng thể xĩa những mẩu tin trong bảng "một" khi những mẩu tin trong bảng "nhiều" cĩ quan hệ với mẩu tin bên "một". ➢ Nếu vi phạm các nguyên tắc trên thì Access sẽ khơng nhận dữ liệu và thơng báo lỗi. 84
  85. 3.6.3 Cách xĩa mối quan hệ Muốn xĩa quan hệ giữa 2 bảng, ta Click phải mối quan hệ muốn xĩa, chọn Delete, hoặc chọn mối quan hệ và nhấn phím Delete. Lưu ý: ➢ Nếu nhập dữ liệu trước khi tạo quan hệ thì khi nhập liệu ta cĩ thể nhập dữ liệu cho các bảng theo trình tự tùy ý. ➢ Ngược lại, nếu tạo quan hệ trước, nhập liệu sau thì khi nhập liệu ta phải nhập bảng 1 (bảng cha) trước và bảng n (bảng con) sau. 85
  86. 3.7 Cách nhập dữ liệu cho Bảng Để nhập dữ liệu cho bảng, trước hết phải mở bảng ở chế độ Datasheet View Trong cửa sổ Database chọn Object Table → chọn bảng muốn nhập hoặc sửa dữ liệu → click phải chọn Open. Hoặc double click vào tên bảng muốn mở. ➢ Bảng được mở ở chế độ nhập liệu (Chế độ Data Sheet view). ➢ Mặc định, luơn cĩ một dịng rỗng để nhập record mới ở cuối bảng ➢ Khi nhập dữ liệu phải nhập theo từng Record, dữ liệu nhập vào phải thỏa mãn các thuộc tính của bảng và thuộc tính của field khi thiết kế bảng. Nếu dữ liệu khơng thỏa mãn thì Access sẽ 86 thơng báo lỗi.
  87. 3.7 Cách nhập dữ liệu cho Bảng Đối với field cĩ kiểu dữ liệu OLE object: ➢ Tại vị trí nhập, click chuột phải, ➢ Chọn Insert – Object. ➢ Chọn Create New nếu muốn tạo đối tượng mới. ➢ Chọn Create from file nếu muốn lấy đối tượng từ tập tin trên đĩa (thường là hình ảnh) chọn file cần sử dụng. 87
  88. 3.8 Các thao tác với bảng ở chế độ Datasheet view: 3.8.1 Một số định dạng trong chế độ Database View : Thay đổi font chữ: ➢ Trên thanh Ribbon chọn tab Home. ➢ Trong nhĩm lệnh Text Formatting, chọn font chữ cho Table và các định dạng khác. Click nút trên nhĩm Text Formatting -> cửa sổ Datasheet Formatting cho phép bạn hiệu chỉnh các thuộc tính của Datasheet như màu nền, màu lưới. 88
  89. 3.8.1 Một số định dạng trong chế độ Database View : Thay đổi độ rộng cột: Để thay đổi độ rộng của cột ta cĩ thể sử dụng một trong các cách sau: Cách 1: đặt trỏ ở đường biên bên phải của cột, khi trỏ cĩ dạng mũi tên 2 chiều thì drag chuột để thay đổi độ rộng của cột. Cách 2: Click phải trên tên của cột muốn thay đơi độ rộng và chọn Field width. Nhập kích thước của cột vào ơ Column Width. 89
  90. 3.8.1 Một số định dạng trong chế độ Database View : Thay đổi vị trí cột: Click vào tiêu đề cột. Drag để thay đổi vị trí cột (chuột vẫn đang ở tại tiêu đề cột). Che dấu (Hide column) và hiển thị (Unhide column) cột: ➢ Chọn cột muốn ẩn. ➢ Trên thanh Ribbon, trong nhĩm lệnh Records, click nút More, chọn lệnh Hide fields. ➢ Muốn hiển thị tại cột bị ẩn, ta làm tương tự như thao tác ẩn cột, nhưng trong menu lệnh của nút Moreta chọn lệnh Unhide fields. 90
  91. 3.8.1 Một số định dạng trong chế độ Database View : Cố định và bỏ cố định cột: ➢ Chọn cột cần cố định. ➢ Trên thanh Ribbon, trong nhĩm lệnh Records, click nút More, chọn lệnh Freeze Fields. ➢ Ngược lại, muốn bỏ cố định cột ta chọn lệnh UnFreeze All Fields 91
  92. 3.8.1 Một số định dạng trong chế độ Database View : Thay đổi chiều cao dịng: ➢ Đặt con trỏ vào đường biên của dịng sao cho xuất hiện mũi tên 2 chiều, Drag để thay đổi chiều cao của dịng. 92
  93. 3.8.2 Sắp xếp ( Sort): Sắp xếp theo một field : ➢ Đặt trỏ tại field chứa dữ liệu cần sắp xếp. ➢ Click nút sort Ascending (sắp xếp tăng dần)/ Sort Descending (sắp xếp giảm Sắp xếp theo nhiều fields : ➢ Để sắp xếp theo nhiều field, trong nhĩm lệnh sort & Filter trên thanh Ribbon, click nút lệnh Advanced filter options 93
  94. 3.8.2 Sắp xếp (Sort) ➢ Chọn lệnh → Advanced Filter/Sort. ➢ Xuất hiện cửa sổ Filter → Double click chọn các field chứa dữ liệu cần sắp xếp, thứ tự ưu tiên từ trái sang phải. ➢ Ở mục Sort → chọn kiểu sắp xếp. ➢ Để thực hiện sắp xếp ta chọn lệnh Apply Filter/Sort. 94
  95. 3.8.3 Tìm kiếm và Thay thế a. Tìm kiếm (Find) Để tìm một giá trị trong bảng ta click nút Find trong nhĩm lệnh Find trên thanh Ribbon. Xuất hiện cửa sổ Find and Replace. 95
  96. 3.8.3 Tìm kiếm và Thay thế a. Tìm kiếm (Find) ➢ Find What: Nhập giá trị cần tìm. ➢ Look In: Phạm vi tìm kiếm. ➢ Kiểu so trùng giá trị cần tìm với giá trị trong ơ. ➢ Search: hướng tìm. ➢ Match Case: Tìm phân biệt chữ hoa và chữ thường. ➢ Click nút Find Next để thực hiện tìm kiếm, nếu tìm hết access sẽ cho xuất hiện hộp thơng báo hồn tất việc tìm kiếm. 96
  97. 3.8.3 Tìm kiếm và Thay thế b. Thay thế (Replace) ➢ Trong cửa sổ Find and Replace, nếu muốn thay thế các giá trị được tìm thấy bằng một giá trị khác ta chọn tab Replace ➢ Replace With: Nhập giá trị cần thay thế. ➢ Click nút Replace để thay thế giá trị được tìm thấy hiện tại. ➢ Click nút Replace All để thay thế tồn bộ các giá trị được tìm thấy. 97
  98. 3.8.4 Lọc dữ liệu ( Filter) a. Filter by selection : Filter by selection giúp bạn chọn ra những Record dựa trên một giá trị hiện hành. Cách thực hiện: Đặt trỏ tại field chứa giá trị lọc, chọn giá trị làm điều kiện lọc. Click nút lệnh Seletion trong nhĩm lệnh Sort & Filter trên thanh Ribbon: ➢ Equals : lọc các records cĩ giá trị bằng với giá trị được chọn. ➢ Does Not Equal : lọc các records cĩ giá trị khác với giá trị được chọn. ➢ Contains : lọc các records chứa giá trị được chọn. ➢ Does Not Contains : lọc các records khơng chứa giá trị 98 được chọn.
  99. 3.8.4 Lọc dữ liệu ( Filter) a. Filter by selection : ➢ Ngồi ra, cũng cĩ thể lọc bằng cách click nút cơng cụ Selection button bên phải tên field. ➢ Đánh dấu check vào giá trị làm điều kiện lọc. ➢ Click OK. 99
  100. 3.8.4 Lọc dữ liệu ( Filter) b. Filter by form : ➢ Filter by form giúp bạn lọc bằng cách nhập giá trị lọc vào một dịng trên Datasheet ➢ Click nút Advanced trong nhĩm lệnh Sort & Filter, chọn lệnh Filter By Form. ➢ Chuyển dạng Datasheet của bảng thành một dịng trống, và xuất hiện các nút Dropdown list trên mỗi field cho phép chọn giá trị lọc. ➢ Nếu lọc theo nhiều giá trị thì click tab Or và chọn giá trị làm điều kiện lọc tiếp theo. ➢ Click nút Toggle Filter để thực hiện lọc. 100
  101. 3.8.4 Lọc dữ liệu ( Filter) b. Advanced filter : ➢ Chức năng Advanced filter cho phép lọc với nhiều điều kiện ở nhiều field khác nhau. ➢ Click nút Advanced, chọn lệnh Advanced filter/Sort, xuất hiện cửa sổ Filter, với các dịng: ➢ Field: Nhập tên các field chứa điều kiện lọc. ➢ Sort: Chọn kiểu sắp xếp (nếu cĩ yêu cầu). ➢ Criteria: Nhập điều kiện lọc. Nếu các điều kiện lọc ở các field bắt ➢ buộc thỏa mãn đồng thời (và) thì các điều kiện phải được nhập trên cùng một dịng. Nếu các điều kiện khơng thỏa mãn đồng thời (hoặc) thì nhập trên khác dịng. 101
  102. TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CƠNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN Chương 4 Query – Truy vấn trong Access 1 • Đặt vấn đề 2 • Cách tạo Select Query bằng Design View 3 • Total Query 4 • Queries tham số (Parameter Queries) 5 • Crosstab query • Action query 6 102
  103. Chương 4 Query – Truy vấn trong Access 4.1 Khái Niệm Query là các câu lệnh SQL (Structured Query Language - ngơn ngữ truy vấn mang tính cấu trúc) là một loại ngơn ngữ phổ biến để tạo, hiệu chỉnh, và truy vấn dữ liệu từ một cơ sở dữ liệu quan hệ. 103
  104. 4.2 Các loại Query Select query • Là truy vấn lựa chọn thơng tin từ một hoặc nhiều bảng. Total • Là một loại đặc biệt của truy vấn chọn. Thực hiện chức query năng tổng hợp dữ liệu trên một nhĩm các record. Crosstab • Là loại query cĩ thể hiển thị dữ liệu dưới dạng tĩm tắt như một bảng tính, với các tiêu đề hàng và tiêu đề cột query dựa trên các field trong bảng Top (n) • Top (n) cho phép bạn chỉ định một số hoặc tỷ lệ phần trăm của record mà bạn muốn trả về từ bất kỳ loại truy query vấn khác (select query, total query, ). Action • Gồm các loại query như Make-Table, Delete, Update, Append cho phép bạn tạo ra các bảng mới hoặc thay đổi query dữ liệu trong các bảng hiện cĩ của cơ sở dữ liệu 104
  105. 4.3 Cách tạo select query bằng Design View Để tạo query bạn chọn tab Create trên thanh Ribbon, click nút query Design trong nhĩm lệnh Queries. Xuất hiện cửa sổ thiết kế query và cửa sổ Show table cho phép chọn các bảng hoặc query tham gia truy vấn. 105
  106. ➢Chọn các bảng chứa các field mà bạn muốn hiển thị trong kết quả, hoặc các field cần trong các biểu thức tính tốn. ➢ Click nút Add để thêm các bảng vào cửa sổ thiết kế query ➢ Sau khi chọn đủ các bảng hoặc query cần thiết, click nút close để đĩng cửa sổ Show Table. ➢ Chọn các field cần hiển thị trong kết quả vào lưới thiết kế bằng cách drag chuột kéo tên field trong field list hoặc double click vào tên field. ➢ Nhập điều kiện lọc tại dịng Criteria. ➢ Click nút View để xem trước kết quả, click nút run để thực thi. 106
  107. 4.3.1 Các thành phần trong cửa sổ thiết kế Query - Table/query pane: khung chứa các bảng hoặc query tham gia truy vấn. - Lưới thiết kế (Query by Example - QBE) : Chứa tên field tham gia vào truy vấn và bất kỳ tiêu chuẩn được sử dụng để chọn các records. Mỗi cột trong lưới QBE chứa thơng tin về một field duy nhất từ một bảng hoặc query trên Table/query pane, bao gồm: ♦ Field: field được tạo vào hoặc thêm vào và hiển thị trong kết quả truy vấn. ♦ Table: tên của các bảng chứa các field tương ứng trên dịng Field. ♦ Sort: chỉ định kiểu sắp xếp dữ liệu của các field trong query. ♦ Show: quyết định để hiển thị các field trong Recordset. ♦ Criteria: Nhập các điều kiện lọc các record. ♦ Or: thêm các điều kiện lọc tương ứng với phép OR, nếu các biểu thức điều kiện ở các field cùng đặt trên một107 dịng thì tương ứng với AND.
  108. 4.3.2 Cách nhập biểu thức điều kiện ➢ Biểu thức điều kiện là các quy tắc lọc áp dụng cho dữ liệu khi chúng được chiết xuất từ cơ sở dữ liệu, nhằm giới hạn các record trả về của truy vấn. Ví dụ: người dùng chỉ muốm xem thơng tin về các NHANVIEN tên là Nga ➢ Biểu thức điều kiện được nhập trên dịng Criteria và dịng Or của lưới thiết kế query và tại cột chứa giá trị của biểu thức điều kiện lọc. Ví dụ: Chuỗi điều kiện "Nga" là giá trị trong field TenNV, do đĩ chuỗi "Nga" được nhập trên dịng Critetia tại cột TenVN. 108
  109. Cách nhập biểu thức điều kiện ➢ Các loại dữ liệu dates, times, text, và giá trị trong biểu thức điều kiện: ➢ Tốn tử được sử dụng trong biểu thức điều kiện: ➢ Ngồi ra các hàm ngày giờ, hàm109 dữ liệu chuỗi, cũng được sử dụng trong biểu thức điều kiện
  110. 4.3.3 Truy vấn cĩ nhiều điều kiện ở nhiều fields ➢ Khi bạn muốn giới hạn các records dựa trên nhiều điều kiện ở nhiều field khác nhau, thì Access sẽ kết hợp các điều kiện lại với nhau bằng cách sử dụng tốn tử And và Or, cho hai trường hợp: ➢ Nếu các điều kiện phải được thoả mãn đồng thời thì các điều kiện phải được liên kết nhau bởi phép AND, bằng cách nhập các điều kiện trên cùng một dịng Criteria trong lưới thiết kế query. Ví dụ: Ví dụ: Hãy đưa ra các nhân viên tên Nga lập hố đơn Xuất: 110
  111. ➢ Nếu chỉ cần thỏa mãn một trong các điều kiện thì các điều kiện được liên kết nhau bởi phép OR, bằng cách nhập các điều kiện trên các dịng khác nhau trong lưới thiết kế query. 111
  112. 4.3.4 Top value ➢ Chức năng top value được sử dụng để hiển thị những record trên cùng của danh sách được tạo ra bởi một truy vấn ➢ Thực hiện : ❑ Descending : Chiều giảm dần ❑ Ascending : Chiều tăng dần ❑ Return: nhập vào số giá trị muốn hiển thị ➢ Các tùy chọn trong Top Values ❑ All : Hiển thị tất cả các record của Query. ❑ 5, 25, 100 : Hiển thị 5,25,100 record đầu tiên. ❑ 5%, 25% : Hiển thị 5%, 25% record đầu tiên trên tổng số. ➢ Nếu các record thuộc Top Values cĩ giá trị trùng nhau thì chúng cũng xuất hiện trong kết quả. ➢ Nếu muốn chỉ xuất hiện duy nhất một record trong các record cĩ giá trị trùng nhau ta click phải trong cửa sổ thiết kế query → chọn properties, 112 tại thuộc tính Unique Values → chọn yes.
  113. 4.3.5 Tạo Field tính tốn trong Query Để làm được các phép tính trong một truy vấn, bạn tạo một field tính tốn mới trong query. Tên của field tính tốn khơng trùng với tên của các field trong bảng. Cú pháp: Ví dụ: Tạo Field ThanhTien:[SoLuong]*[GiaBan] 113
  114. 4.4 Total Query ➢Access cung cấp chức năng kết nhĩm các record và thực hiện các phép thống kê dữ liệu trên nhĩm record đĩ. Các hàm count, sum, min, max, avg là các hàm cơ bản trong Total Query. ➢Ví dụ: Thơng tin bao gồm MaSp, TenSp TongSoLuong. Trong đĩ TongSoLuong là sum của Soluong, kết nhĩm theo Masp. 114
  115. * Kết quả của query trước khi tổng hợp dữ liệu Sau khi tổng hợp dữ liệu ta cĩ kết quả: 115
  116. 4.4.1 Cách tạo Total Query Để tạo một Total query, bạn thực hiện các bước sau: ➢Tạo một query mới bằng Design view. ➢Chọn các table cần sử dụng trong query từ cửa sổ Show Table. ➢Chọn các field chứa dữ liệu cần thống kê vào lưới thiết kế. ➢Chọn Query Tools, chọn tab Design. 116
  117. ➢Trong nhĩm lệnh Show/Hide, click nút Totals. ➢Trên lưới thiết kế query xuất hiện thêm dịng Total. ➢Tại mỗi field, chọn các tùy chọn trên dịng Total. 117
  118. 4.4.2 Các tùy chọn trên dịng Total Tùy Chọn Ý Nghĩa Group by Nhĩm các Record cĩ giá trị giống nhau tại 1 số field được chỉ định thành 1 nhĩm SUM Tính tổng các giá trị trong một nhĩm Record tại field được chỉ định AVG Tính trung bình cộng các giá trị trong một nhĩm Record tại field được chỉ định MAX Tìm giá trị lớn nhất trong nhĩm Record tại field được chỉ định MIN Tìm giá trị nhỏ nhất trong nhĩm Record tại field được chỉ định COUNT Đếm số Record trong nhĩm FIRST Tìm giá trị đầu tiên trong nhĩm tại cột được chỉ định LAST Tìm giá trị cuối cùng trong nhĩm tại cột được chỉ định Expression Dùng cho Field chứa biểu thức tính tốn Where Dùng cho Field chứa điều kiện để lọc Record trước khi tính tốn và khơng hiển thị trong kết quả 118
  119. 4.5 Queries tham số (Parameter Queries) Query tham số là query nhắc người dùng nhập điều kiện cho query tại thời điểm query thực thi. Cách tạo: ➢Trong cửa sổ thiết kế query, chọn các bảng/query tham gia truy vấn. ➢Chọn các field hiển thị trong kết quả . ➢Tại field chứa điều kiện lọc, nhập câu nhắc trên dịng Critetia và đặt trong cặp dấu [ ]. 119
  120. - Khi thực thi query, chương trình yêu cầu nhập giá trị 120
  121. 4.6 Crosstab Query 4.6.1 Khái niệm : Crosstab query là một query dùng để tổng hợp dữ liệu dưới dạng bảng tính hai chiều, trong đĩ tiêu đề của dịng và cột của bảng là các giá trị được kết nhĩm từ các field trong bảng dữ liệu, phần thân của bảng tính là dữ liệu được thống kê bởi các hàm: Sum, count, avg, min, max, và các chức năng khác. ➢ Ví dụ: Thống kê tổng số lượng sản phẩm mỗi khách hàng đã bán 121
  122. 4.6.2 Cách tạo a) Tạo Crosstab query bằng chức năng Wizard: - Trên thanh Ribbon, click nút Create. - Trong nhĩm lệnh Query, chọn Query Wizard. - Trong cửa sổ New Query, chọn Crosstab Query Wizard → OK. 122
  123. - Chọn dữ liệu nguồn cho Crosstab Query, cĩ thể là table hoặc Query → Next. 123
  124. - Chọn field làm Row heading trong khung Available Fields - Click nút > để chọn field. - Click Next. 124
  125. - Chọn field làm column heading → Next. 125
  126. - Chọn field chứa dữ liệu thống kê trong khung Fields. - Chọn hàm thống kê trong khung Function → Next. - Nhập tên cho query và click nút Finish để kết thúc. Hạn chế khi tạo crosstab query bằng wizard: Nếu các field trong Crosstab query được lấy từ nhiều bảng hoặc trong query cĩ chứa các điều kiện lọc dữ liệu thì phải tạo một select query chứa tất cả các field và các điều kiện, sau đĩ lấy select126 query này làm dữ liệu nguồn tạo crosstab query.
  127. b) Tạo Crosstab query bằng Design Một crosstab query cần ít nhất là 3 field: ➢Một field để lấy giá trị làm tiêu đề cho cột gọi là column heading. ➢Một field (hoặc nhiều field) để lấy giá trị làm tiêu đề cho dịng gọi là row heading. ➢Một field chứa dữ liệu thống kê (Value). Ví dụ: 127
  128. - Để tạo một Crosstab query bằng Design View ta thực hiện như sau: - Trong cửa sổ thiết kế Query, trên thanh Ribbon, chọn Query Tools, chọn Tab Design. - Trong nhĩm lệnh Query Type, chọn Crosstab. 128
  129. - Trong lưới thiết kế query xuất hiện thêm dịng Crosstab và dịng Total. 129
  130. ❖Chỉ định chức năng cho các field: ➢Đối với các field làm row heading và column heading thì trên dịng Total ta chọn chức năng Group by, trên dịng Crosstab, chỉ định chức năng Row Heading hoặc Column Heading. ➢Đối với field chứa dữ liệu để thống kê thì trên dịng Total, chọn hàm thống kê (Sum, Avg, Count, Min, Max, ), trên dịng Crosstab chọn Value. ➢Đối với các field chứa điều kiện lọc dữ liệu thì trên dịng Total chọn Where, các field này sẽ khơng xuất hiện trong kết quả. Lưu ý: Row Heading và Column Heading cĩ thể hốn đổi nhau, nhưng đối với những field chứa nhiều giá trị thì nên chọn làm Row Heading. 130
  131. 4.7 Các loại Query tạo bằng chức năng Wizard 4.7.1. Find Duplicate query : Find Duplicate query Wizard dùng để tìm những record cĩ giá trị trùng lắp ở một số field. Ví dụ, tìm những nhân viên cĩ trùng ngày sinh, trùng tên, Cách tạo: ➢Trong cửa sổ làm việc của Access, trên thanh Ribbon, chọn tab Create. ➢Trong nhĩm lệnh Queries click nút Query Wizard. 131
  132. - Trong cửa sổ New Query chọn Find Duplicate query Wizard. - Xuất hiện cửa sổ Find Duplicates query wizard → OK. - Chọn bảng chứa field muốn tìm dữ liệu trùng lắp → Next. - Chọn field chứa dữ liệu trùng lắp → Next. - Chọn các field muốn hiển thị trong kết quả → Next. - Nhập tên cho query → Finish. 132
  133. 4.7.2. Find Unmatched query Wizard : ➢Trong quan hệ 1-n, một record trong bảng 1 quan hệ với nhiều record trong bảng n. Tuy nhiên cũng cĩ những record khơng quan hệ với bất kỳ record nào trong bảng n. Ví dụ, những nhân viên chưa tham gia lập hĩa đơn, những nhân viên này tồn tại trong bảng NHANVIEN, nhưng khơng tồn tại trong bảng HOADON. ➢Find Unmatched query Wizard dùng để tìm những record cĩ trong bảng 1 nhưng khơng cĩ trong bảng n 133
  134. Cách tạo: ➢Trong cửa sổ làm việc của Access, trên thanh Ribbon, chọn tab Create. ➢Trong nhĩm lệnh Queries click nút Query Wizard. ➢Trong cửa sổ New Query chọn Find Unmatched query Wizard → OK. ❖Xuất hiện cửa sổ Find Unmatched query wizard. ➢Chọn bảng 1 là bảng chứa các record cần tìm → Next. ➢Chọn bảng n là bảng chứa record quan hệ → Next. 134
  135. Ví dụ: tìm những nhân viên chưa lập hĩa đơn, bảng 1 là bảng NHANVIEN, bảng n là bảng HOADON, field quan hệ là field MANV. - Chọn field quan hệ giữa hai bảng → Next. - Chọn các field hiển thị trong kết quả → Next. - Nhập tên cho query → Finish. 135
  136. 4.8 Action Query Action query là loại query mà khi thực thi sẽ làm thay đổi dữ liệu trong các bảng của cơ sở dữ liệu, sự thay đổi cĩ thể làm cho cơ sở dữ liệu bị sai, do đĩ trước khi thực thi các loại action query bạn nên chép một file dự phịng. Cĩ 4 loại action query: 136
  137. 4.8.1 Update Query a) Chức năng Update query dùng để cập nhật dữ liệu trong các bảng. b) Cách tạo - Trong cửa sổ làm việc của Access, trên thanh Ribbon chọn tab Create, trong nhĩm lệnh Queries, click nút Query Design. - Chọn các bảng chứa dữ liệu muốn cập nhật. 137
  138. - Thanh Ribbon chuyển sang tab Design. - Trong nhĩm lệnh Query Type, Click nút Update, Trong lưới thiết kế xuất hiện dịng Update to. - Chọn field chứa dữ liệu cần cập nhật và các field chứa điều kiện. - Tại field chứa dữ liệu muốn cập nhật và trên dịng Update to ta nhập biểu thức cập nhật dữ liệu. 138
  139. c) Thực thi Update Query: - Click nút run để thực thi query. - Khi thực thi query sẽ xuất hiện hộp thoại thơng báo số record được Update. - Nếu đồng ý → click yes. - Xem kết quả trong bảng chứa dữ liệu Update. 139
  140. 4.8.2 Make-Table Query a) Chức năng Make-Table dùng để tạo một bảng mới dựa trên các bảng hoặc query cĩ sẵn. b) Cách tạo Trong cửa sổ làm việc của Access, trên thanh Ribbon chọn tab Create, trong nhĩm lệnh Queries, click nút Query Design. - Chọn các bảng hoặc query làm dữ liệu nguồn cho MakeTable. Thanh Ribbon chuyển sang tab Design. - Chọn các field muốn hiển thị trong bảng mới. - Trong nhĩm lệnh Query Type, click nút Make - Table. 140
  141. ➢Xuất hiện hộp thoại Make Table với các tùy chọn: ♦ Table name: Nhập tên bảng mới. ♦ CurrentDatabase: Bảng mới được lưu trong cơ sở dữ liệu hiện hành. ♦ Another Database: Bảng mới được lưu trong một cơ sở dữ liệu khác, click nút browse để tìm cơ sở dữ liệu chứa bảng mới. ➢Click nút OK để tạo Make-Table. 141
  142. c) Thực thi Make-Table Query - Click nút Run để thực thi query, xuất hiện hộp thơng báo số record được đưa vào bảng mới. - Nếu đồng ý → Click yes, khi đĩ bảng mới sẽ được tạo, xem kết quả trong phần Table. 142
  143. 4.8.3 Append Query 8.3. Append query : a) Chức năng Append query dùng để nối dữ liệu vào cuối một bảng cĩ sẵn. b) Cách tạo Trong cửa sổ làm việc của Access, trên thanh Ribbon chọn tab Create, trong nhĩm lệnh Queries, click nút Query Design. - Chọn các bảng hoặc query làm dữ liệu nguồn cho Append Query. Thanh Ribbon chuyển sang tab Design. - Chọn các field chứa dữ liệu nối vào bảng cĩ sẵn, các field được chọn phải tương ứng với các field trong bảng muốn nối dữ liệu vào. - Click nút Append trong nhĩm lệnh Query Type. 143
  144. - Xuất hiện hộp thoại Append → Chọn bảng muốn nối dữ liệu vào. - Trong lưới thiết kế xuất hiện dịng Append to, chứa tên các field tương ứng trong bảng cĩ sẵn. 144
  145. c) Thực thi Append query - Click nút run để thực thi query. - Xuất hiện hộp thơng báo số record được nối vào. - Nếu đồng ý → click yes, xem kết quả trong phần Table. 145
  146. 4.8.4 Delete Query a) Chức năng: Delete query xĩa các record từ các bảng, thơng thường dựa trên các điều kiện mà bạn cung cấp, Delete query xĩa tất cả các record trong một bảng trong khi vẫn giữ nguyên cấu trúc của bảng. Delete Query là nguy hiểm vì nĩ xĩa vĩnh viễn dữ liệu từ các bảng trong cơ sở dữ liệu của bạn, do đĩ trước khi thực thi loại query này cần phải cĩ một backup. 146
  147. b) Cách tạo: Trong cửa sổ làm việc của Access, trên thanh Ribbon chọn tab Create, trong nhĩm lệnh Queries, click nút Query Design. - Chọn bảng hoặc query chứa dữ liệu cần xĩa. Thanh Ribbon chuyển sang tab Design. - Click nút Delete trong nhĩm Query Type. - Chọn field chứa điều kiện xĩa, lưới thiết kế xuất hiện dịng Delete → tại field chứa điều kiện xĩa ta chọn where. 147
  148. - Nhập điều kiện xĩa trên dịng Criteria. 148
  149. c) Thực thi Delete Query - Click nút run để thực thi, xuất hiện hộp thơng báo số record bị xĩa. - Nếu đồng ý → yes, các record trong bảng đã bị xĩa, xem kết quả trong phần Table. 149
  150. TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CƠNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN Chương 5 Form – Biểu mẫu trong Access 1. Cơng dụng và khái quát về biểu mẫu 2. Cách tạo Form 3. Tùy biến Form trong chế độ Design View 4. Cách tạo các Control cĩ hỗ trợ của chức năng Wizard 5. Form và những bảng liên kết 6. Tab Control 7. Navigation Form
  151. 5.1 Giới thiệu Biểu mẫu (Form) là phương tiện giao dịên cơ bản giữa người dùng và Access, thơng tin trong biểu mẫu được lấy từ bảng, cĩ thể thiết kế các biểu mẫu cho nhiều mục đích khác nhau: ➢ Hiển thị và chỉnh sửa dữ liệu: Đây là cơng việc thơng dụng nhất của biểu mẫu. Sử dụng biểu mẫu để thay đổi, bổ sung, xố dữ liệu thì dễ dàng hơn. ➢ Nhập các dữ liệu: Cĩ thể thiết kế biểu mẫu dùng để nhập dữ liệu mới vào CSDL hoặc để cung cấp dữ liệu cho việc tự động hố tính tốn. ➢ Và cịn nhiều mục đích khác. 151
  152. 5.2 Cách tạo Form Để tạo form, chọn tab From Design :Tạo một From mới trống và Create trên thanh hiển thị nĩ trong chế độ Design View Ribbon, chọn cách tạo form bằng các nút lệnh trong nhĩm lệnh Forms. Blank Form : Tạo một Form trống, Form mới khơng bị ràng buộc với một nguồn dữ liệu, mở ra trong chế độ Layout View Form Wizard: Hỗ trợ thiết kế Form đơn giản :Wizard yêu cầu các nguồn dữ liệu, chọn Field hiển thị Nguồn cho Form cĩ thể là table hoặc query. Navigation Form: (một tính năng hồn tồn mới trong Access 2010) Cho phép người dùng dễ dàng di chuyển giữa các thành phần trong form 152
  153. 5.2.1 Tạo một Single Form Access cung cấp một cách dễ dàng và thuận lợi để tạo một form dựa trên dữ liệu nguồn là Table/Query. Cách thực hiện: • Trong Navigation, chọn table hoặc query mà bạn muốn sử dụng làm dữ liệu nguồn cho from. • Chọn tab trên thanh Ribbon. • Trong nhĩm lệnh Form, click nút Form. • Xuất hiện một Form mới ở dạng Layout view. • Single form hiển thị một record tại một thời điểm. • Mặc định mỗi field hiển thị trên một dịng và theo thứ tự của các field trong bảng hoặc query dữ liệu nguồn. 153
  154. Nếu dữ liệu nguồn của form là bảng cha cĩ liên kết với bảng con, thì kết quả form sẽ hiển thị các record quan hệ trong bảng con. 154
  155. 5.2.2 Tạo Form bằng chức năng Form Wizard • Là cơng cụ tạo Form qua các bước trung gian với một loạt câu hỏi gợi ý giúp xây dựng From phù hợp nhất. - Trên thanh Ribbon chọn Create / From Wizard - Chọn Table/ Query làm dữ liệu cho Form. Chọn các Field sử dụng trong khung Available Field. Chọn Next để tiếp tục - Chọn dạng Form gồm : ➢ Columnar ➢ Tabular ➢ Datasheet ➢ Justified - Chọn Next - Nhập tiêu đề cho Form -> Finish 155
  156. 5.2.3 Tạo Form bằng Design • Thiết kế From bằng tay mà khơng cĩ sự hỗ trợ của Access 5.2.3.1 Layout View ( Blank Form) Cách tạo: ➢ Chọn tab Create trên thanh Ribbon, click nút Blank Form trong nhĩm lệnh Forms. ➢ Xuất hiện một form trắng ở chế độ Layout view. ➢ Drag chuột kéo các field từ field list vào form. 156
  157. 5.2.3.2 Design View Khi thiết kế form bằng Design view thì các control khi thả vào form nĩ khơng tự động canh theo hàng và cột như Blank Form. Cách tạo: ➢Chọn tab Create trên thanh Ribbon, click nút Design View trong nhĩm lệnh Forms. ➢Xuất hiện một form trắng ở chế độ Design view. ➢Drag chuột kéo các field từ field list vào form. 157
  158. 5.2.3.3 Các thành phần trong cửa sổ thiết kế Form ➢ Form Header: Chứa nội dung tiêu đề Form ➢ Form Footer: Chứa nội dung của phần cuối Form ➢ Detail: Chứa nội dung chính của Form, hiện thị nội dung trong dữ liệu nguồn của Form hoặc các control đưa vào từ toolbox 158
  159. 5.2.3.4 Thiết lập các thuộc tính của Form ➢Chọn form cần thiết lập thuộc tính. ➢Click nút Properties Sheet. ➢Chọn thuộc tính. * Các thuộc tính trong Properties Sheet được hiển thị theo từng nhĩm 159
  160. 5.2.3.5 Các thuộc tính quan trọng trong nhĩm Format Thuộc tính Cơng dụng Caption Tạo tiêu đề cho form. Thiết lập dạng hiển thị của form. - Single Form chỉ hiển thị một Recor tại một thời điểm - Continuous Form: hiển thị các record liên tiếp Default view nhau. - Datasheet hiển thị dữ liệu dạng bảng. Scroll Bar Thiết lập chế độ hiển thị thanh cuộn. Record Bật/tắt thanh chọn record. Selectors Navigation Bật/tắt các nút duyệt record. Buttons Bật/tắt các đường kẽ phân cách các phần Dividing lines của form. Tự động hiển thị form ngay giữa màn Auto Center hình. Border Style Chọn kiểu đường viền của form. Min Max botton Bật/tắt nút Max/Min. Close Button Bật/tắt nút close form. Picture Canh vị trí cho các picture trên form. Alignment 160
  161. 5.2.3.6 Các thuộc tính quan trọng trong nhĩm Data Thuộc tính Cơng dụng Record Source Chọn dữ liệu nguồn cho form. Filter Khai báo điều kiện lọc. Order by Khai báo field cần sắp xếp số liệu. Cho phép/khơng cho phép lọc các Allow filter record. Allow Edits Cho phép/ khơng cho phép chỉnh sửa. Cho phép nhập thêm các record hay Allow Additions khơng. 161
  162. 5.3 Sử dụng Form • Một Form khi thiết kế xong cĩ ba dạng ➢ Layout view: Cho phép xem những gì trơng giống như Form của bạn, sắp xếp lại các field, và áp dụng định dạng ➢ Design view: Cho phép tinh chỉnh lại Form, nhưng khơng nhìn thấy dữ liệu thực. ➢ Form view: Thực hiện các thao tác trên dữ liệu thơng qua Form 162
  163. 5.3.1 Tìm kiếm và chỉnh sửa một record a) Sử dụng form để tìm kiếm một record - Mở form ở dạng form view. - Chọn tab Home trên thanh Ribbon. - Đặt trỏ trong field chứa dữ liệu cần tìm, Click nút Find trong nhĩm lệnh Find. - Xuất hiện cửa sổ Find and Replace. ♦ Find What: nhập giá trị cần tìm. ♦ Look in: Phạm vi tìm kiếm. ♦ Search: Hướng tìm. ♦ Match: Chọn cách so trùng giá trị nhập trong ơ Find What với giá trị trong field chứa dữ liệu cần 163 tìm.
  164. b) Thay thế hoặc chỉnh sửa dữ liệu Khi đã tìm thấy record cần tìm, bạn thực hiện chỉnh sửa thì giá trị sau khi chỉnh sửa sẽ cập nhật xuống bảng. Nếu cần thay thế giá trị thì chọn tab Replace trong cửa sổ Find and Replace. oNhập giá trị cần thay thế trong ơ Replace with. oClick nút Replace hoặc Replace All nếu cần thay tất cả giá trị trong bảng. 164
  165. 5.3.2 Thêm một record Khi làm việc trên form, để thêm một record mới bạn thực hiện như sau: ➢Mở form ở chế độ form view. ➢Click nút New Record trên thanh Navigation button bên dưới cửa sổ form. ➢Form sẽ chuyển đến record trống, cho phép bạn nhập dữ liệu. Tuy nhiên khi nhập dữ liệu phải thỏa mãn các ràng buộc trong cơ sở dữ liệu. 165
  166. 5.3.3 Xĩa một record ➢Di chuyển đến record cần xĩa. ➢Trong nhĩm lệnh Record trên thanh Ribbon, chọn lệnh Delete → chọn Delete Record. Tuy nhiên khi xĩa record phải xem xét ảnh hưởng đến các Record quan hệ. 166
  167. 5.3.4 Lọc dữ liệu trên form ➢Mở form ở dạng Form view. ➢Trong nhĩm lệnh Sort & Filter trên thanh Ribbon, click nút Advanced, Chọn lệnh Filter by Form. ➢Form chuyển sang dạng Filter. 167
  168. - Click nút combobox của field chứa giá trị chọn điều kiện lọc. - Nếu cĩ nhiều điều kiện thì bạn chọn tab OR bên dưới cửa sổ Filter, chọn điều kiện lọc tiếp theo. - Click nút Toggle Filter để thực hiện lọc. - Click nút Toggle Filter để bỏ lọc. 168
  169. * 5.4. Tùy biến form trong chế độ Desing view : 5.4.1. Thêm một control vào form : Để thêm một control vào form ta làm các bước như sau: ➢Chuyển form sang dạng Design view, Thanh Ribbon chuyển sang Form Design Tools. ➢Chọn tab Design, trong nhĩm Control, chọn các control. ➢Drag chuột vẽ vào form tại bất kỳ vị trí nào mà bạn mong muốn. 169
  170. - Đối với các control cĩ sự trợ giúp của Control Wizard thì cĩ thể thiết kế bằng hai cách: Design hoặc Wizard bằng cách bật tắt nút Control Wizard. 170
  171. 5.4.2. Các loại form control : 171
  172. 5.4.2. Các loại form control : 172
  173. 5.4.3 Định dạng các control trên form a) Canh lề cho các control Chọn các control cần canh lề và thực hiện một trong các cách như sau: - Click phải và chọn Align, sau đĩ chọn một trong các kiểu canh lề trên submenu. - Chọn tab Arrange trên Form Design Tools. - Trong nhĩm lệnh Sizing & Ordering, click nút Align và chọn một trong các kiểu canh lề trong Submenu. 173
  174. b) Hiệu chỉnh kích thước và khoảng cách giữa các control trên form ➢Chọn các control cần hiện chỉnh. ➢Chọn tab Arrange trên Form Design Tools. ➢Trong nhĩm lệnh Sizing & Ordering, click nút Size/Space. ➢Chọn lệnh hiệu chỉnh thích hợp. 174
  175. 5.4.4 Thiết lập thuộc tính cho control - Chọn control cần thiết lập thuộc tính. - Click nút properties Sheet trong nhĩm lệnh Tools trên thanh Ribbon. 175
  176. 5.5 Cách tạo các control cĩ hỗ trợ của chức năng Wizard 5.5.1. Command button : a) Tạo bằng wizard ➢Chọn button trong nhĩm Controls, drag chuột vẽ vào form. ➢Xuất hiện cửa sổ Command button Wizard. ➢Trong khung Categories chọn nhĩm lệnh. 176
  177. ♦ Record Navigation: chứa các lệnh di chuyển giữa các record như: ➢Go To First Record: di chuyển đến record đầu, ➢Go To Last Record: di chuyển đến record cuối, ➢Go To Next Record: di chuyển đến record kế record hiện hành, ➢Go To Previous Record: di chuyển đến record trước record hiện hành. Các lệnh này thường dùng để tạo thanh navigation buttons trên form. 177
  178. ♦ Record Operations: gồm các lệnh thêm record hoặc xĩa record như: ➢Add New Record: Thêm record mới. ➢Delete Record: Xĩa record. ➢Duplicate Record: Tạo các record cĩ giá trị trùng ở tất cả các field. ➢Print Record: In mẩu tin hiện tại ➢Save Record: lưu những thay đổi trước khi chuyển đến record tiếp theo. ➢Undo Record: Hủy sự thay đổi sau cùng. 178
  179. ♦ Form Operations: gồm các lệnh về form ➢CloseForm: đĩng form hiện hành. ➢Print Current Form: in form hiện hành. ➢Open Form: Mở một form khác. ♦ Report Operations: gồm các lệnh về Report ➢ Open Report: mở report. ➢ Preview Report: xem một report trước khi in. ➢ Print Report: in report. ♦ Application: gồm lệnh liên quan đến ứng dụng như Quit Application. ♦ Miscellaneous: chứa những lệnh tổng hợp: Run Query, Run Macro ➢ Chọn lệnh cho nút trong khung Action, click Next. ➢ Chọn Text hoặc Picture hiển thị trên nút, click Next. ➢ Đặt tên cho nút, Finish. 179
  180. b) Tạo bằng design ➢Tắt nút wizard. ➢Chọn nút button trong nhĩm controls. ➢Drag chuột vẽ vào form. ➢Gán lệnh bằng cách click phải trên nút, chọn Build event. ➢Chọn Macro builder, ➢Trong khung New Action, chọn lệnh Close Window. ➢Điền các argument vào các khung. ♦ Object type: Form ♦ Object name: Nhập tên form. 180
  181. 5.5.2 Option Group a) Tạo bằng wizard ➢Chọn cơng cụ option group trong nhĩm Controls. ➢Xuất hiện cửa sổ Option group Wizard. ➢Nhập nhãn cho các option, click Next. ➢Chọn/khơng chọn option mặc định, click Next. ➢Nhập giá trị cho các option, mặc định, option đầu tiên sẽ cĩ option value là 1, click Next. 181
  182. ➢Chọn vị trí lưu trữ giá trị của option group, click Next. ➢ Chọn loại option trong option group và style cho option group, các option này cĩ hình dạng khác nhau nhưng chức năng là giống nhau, click Next. ➢ Nhập nhãn cho Option group, click Finish. 182
  183. b) Tạo bằng design ➢Tắt nút Control Wizard. ➢Click nút Option group trong nhĩm Controls vẽ vào form. ➢Chọn loại Option vẽ vào trong khung của Option group. ➢Mở Properties Sheet của Option group và thiết lập các thuộc tính sau: ♦ Control source: chọn field chứa dữ liệu nguồn cho option group. ♦ Lần lượt chọn từng option và gán giá trị cho thuộc tính option value. 183
  184. 5.5.3 Combobox và Listbox a) Tạo bằng wizard: ➢Chọn cơng cụ Combo box/List box trong nhĩm Controls. ➢Drag chuột vẽ vào form, xuất hiện cửa sổ Combo box Wizard với hai lựa chọn ứng với hai chức năng của combo box: 184
  185. - Nếu chọn I want the combo box to get the values from another table or query thì sau khi click Next để thực hiện bước tiếp theo ta chọn bảng chứa dữ liệu nguồn cho Combo box, dữ liệu nguồn cĩ thể là Table hoặc Query, click Next. 185
  186. - Chọn field chứa dữ liệu đưa vào Combo box, click nút để chọn một field hoặc click nút để chọn nhiều field, click Next. 186
  187. - Chọn field sắp xếp (cĩ thể bỏ qua), mặc định các field đã được sắp xếp, click Next. 187
  188. ➢Điều chỉnh độ rộng của cột dữ liệu trong combo box. ➢ Hide key column (recommended): ẩn hoặc hiện cột khĩa. Mặc định mục Hide key column được chọn (cột khĩa bị ẩn), nếu muốn combo box hiển thị field khĩa thì bỏ check, click Next. ➢ Chọn field chứa giá trị của combo box, click Next. 188
  189. ➢Nhập nhãn cho combo box, click Finish. ➢Nếu chọn I will type in the values that I want, thì sau khi chọn xong, click Next. ➢Nhập số cột trong ơ Number of columns, ➢Nhập giá trị cho các cột trong combo box, click Next. ➢Nhập nhãn cho combo box, click Finish. 189
  190. b) Tạo bằng Design: ➢Tắt nút wizard. ➢Click nút combo box trong nhĩm Controls drag chuột vẽ vào form. ➢Sử dụng Properties Sheet để thiết lập các thuộc tính sau: 190
  191. Ví dụ: Tạo form hĩa đơn lấy dữ liệu nguồn từ bảng HoaDon, khi tạo combo box MaKH ta thiết lập các thuộc tính sau: 191
  192. 5.6 Form và những bảng liên kết ➢Access 2010 nhận ra các quan hệ khi tạo một form mới từ một bảng cha. Nếu bảng cha cĩ nhiều bảng con thì Access chỉ hiển thị các record trong một bảng, nĩ sẽ chọn bảng đầu tiên mà nĩ tìm thấy. ➢Ví dụ: Bảng HOADON và bảng SANPHAM trong cơ sở dữ liệu QL BAN HANG. Khi tạo form từ bảng HOADON thì nĩ sẽ hiển thị danh sách các SAN PHAM quan hệ trong bảng SANPHAM. 192
  193. 5.6.1 Subform control ➢Subforms là khơng thể thiếu cho việc hiển thị thơng tin từ hai bảng khác nhau hoặc các truy vấn trên cùng một form. Thơng thường, subforms được sử dụng khi dữ liệu nguồn trong main cĩ quan hệ một-nhiều với dữ liệu nguồn của subform. Nhiều record trong subform được liên kết với một record trong mainform. ➢Access sử dụng các thuộc tính LinkMasterFields và LinkChildFields của subform để lựa chọn các record trong subform cĩ liên quan đến mỗi record trong mainform. 193
  194. a) Tạo bằng Wizard: - Tạo main form: dữ liệu nguồn của main form thường là thơng tin ở bảng cha, do đĩ dạng form thường là những dạng hiển thị một record tại một thời điểm như columnar. ➢Mở main form ở chế độ Design. ➢Bật nút control Wizard. ➢Chọn cơng cụ SubForm/SubReport trong nhĩm Controls vẽ vào Form, xuất hiện cửa sổ SubForm Wizard với hai tùy chọn: 194
  195. Use existing Tables and Queries (sử dụng bảng và các query làm dữ liệu nguồn cho subform) → Next. ➢Chọn bảng hoặc query làm dữ liệu nguồn cho sub form, trong bảng hoặc query phải cĩ field liên kết với main form → Next. ➢Chọn field liên kết với subform → Next. ➢Nhập tên cho subform → Finish. ➢Use an existing form: sử dụng form cĩ sẵn làm subform. ➢Chọn form làm subform → Next. ➢Nhập tên cho SubForm → Finish. 195
  196. b) Tạo bằng Design: ➢Nếu dữ liệu nguồn của subform được lấy từ nhiều bảng thì phải tạo query, trong query phải chứa field liên kết với main form (link child filed). ➢Dạng của subform thể hiện quan hệ n, do đĩ thường chọn dạng Datasheet hoặc Tabular. ➢Mở main form ở chế độ design, chọn cơng cụ subform/Subreport trong nhĩm Controls drag chuột vẽ vào main form. ➢Mở Properties Sheet và thiết lập các thuộc tính: ❑ Source object: Chọn Table/Query làm dữ liệu nguồn cho Subform, hoặc chọn form nếu đã thiết kế form để làm subform. ❑ Link child field: nhập tên của field trong subform liên kết với main form. ❑ Link master field: nhập tên field của main form liên kết với subform. 196
  197. 5.6.2 Hiệu chỉnh Subform ➢Khi chỉ định thuộc tính Source Object cho Subform thì form xuất hiện với dạng mặc định được quy định trong thuộc tính Default view. ➢Tuy nhiên, nếu bạn muốn sử dụng một form hồn tồn riêng biệt để bạn cĩ thể tùy biến nĩ. 5.6.3. Tạo ơ tính tốn trong subform : ➢Khi tạo một subform, bạn cĩ thể muốn hiển thị subform thơng tin tổng hợp ở dạng tổng thể. ➢Ví dụ, bạn cĩ thể tính tổng tiền của các Hĩa đơn. 197
  198. * Ví dụ: Cần hiển thị tổng thành tiền cho tất cả hĩa đơn của mỗi khách hàng. 198
  199. ➢Trước khi đặt ơ tính tốn tổng hợp dữ liệu trên Mainform thì giá trị của nĩ phải được tính trong Subform. Ơ tính tốn tổng hợp dữ liệu phải được đặt trong phần footer của Subform. ➢Ví dụ: Tính tổng thành tiền của các hĩa đơn. 199
  200. * - Sau đĩ, trên Mainform bạn chèn một text box với ControlSource được thiết lập giá trị như sau: Trong đĩ: - SubformName: là tên của Subform. - ControlName_inSubform: tên của ơ tính tốn tổng hợp dữ liệu trong Subform. 200
  201. 5.7 Tab control ➢Tab control là một cơng cụ cho phép bạn cĩ thể hiển thị nhiều nội dung trên một khơng gian hạn chế, bằng cách các tổ chức nội dung cần hiển thị trên từng trang riêng biệt. ➢Tab control khơng phải là lựa chọn tốt vì nhược điểm của nĩ là cần phải click chuột để di chuyển từ tab này sang tab khác. 201
  202. 5.7.1 Sử dụng Tab Control ➢Trong Form Design Tools trên thanh Ribbon. ➢Chọn Design, trong nhĩm Controls, click nút Tab Control. ➢Vẽ tab control vào form tại vị trí thích hợp. ➢Thêm tất cả các trang cần thiết. 202
  203. 5.7.2 Hiệu chỉnh Tab Control a) Thêm và xĩa tab - Khi tạo mới một tab control thì luơn mặc định cĩ hai trang bạn cĩ thể thêm hoặc xĩa bằng cách Click phải chọn Insert hoặc Delete Page. b) Tạo nhãn cho các tab ➢Chọn tab muốn tạo nhãn. ➢Mở Properties Sheet. ➢Chọn thuộc tính caption: nhập nhãn cho các trang. 203
  204. c) Sắp xếp lại thứ tự tab - Sắp xếp thứ tự của các trang bằng cách click phải trên tab → chọn Page Order - Chọn Page → click nút Move Up/Move Down. d) Đặt các control vào trang - Chọn trang thích hợp. - Chọn control trong Navigation pane, drag chuột đưa vào trang. 204
  205. 5.8 Navigation Form ➢Access 2010 giới thiệu một dạng form mới là Navigation form, là một form cĩ một navigation control mà nĩ cĩ thể hiển thị một hoặc nhiều form và report, navigation control cĩ nhiều tab giúp bạn cĩ thể di chuyển nhanh đến bất kỳ một form khác, hoặc form dạng Main/Sub. 205
  206. 5.8.1. Tạo Single level Navigation Form : ➢Trong nhĩm lệnh Forms trên thanh Ribbon, click nút dropdown Navigation. ➢Chọn dạng Navigation, gồm các dạng: oHorizontal Tabs. oVertical Tabs, Left. oVertical Tabs, Right. oHorizontal Tabs, 2 levels oHorizontal Tabs and Vertical Tabs, Left. oHorizontal Tabs and Vertical Tabs, Right 206
  207. ➢Navigation form xuất hiện trong chế độ Design view với sự kết hợp của hai control: một control subform rỗng và lớn và một navigation. 207
  208. ➢Để thêm một navigation button vào form, click chọn một form trong Navigation Panel của Access và drag chuột kéo form vào navigation control (Chế độ Layout View) 208
  209. ➢Để thay đổi nhãn của Navigation button, bạn double click vào nhãn và nhập tên mới. ➢Tạo khoảng cách giữa các navigation button bằng cách chọn Form Layout Tools, chọn tab Arrange → Control Padding, chọn loại khoảng cách. 209
  210. 5.8.2 Tạo Two level Navigation Form ➢Trong nhĩm lệnh Forms trên thanh Ribbon, click nút dropdown Navigation. ➢Chọn dạng Navigation: Horizontal Tabs, 2 levels ➢Xuất hiện một Navigation Form ở chế độ Layout view với sự kết hợp của ba control: một control subform rỗng và lớn và hai navigation control. ➢Tạo tiêu đề cho level1 bằng cách double click vào khung [Add New] → Nhập tiêu đề. ➢Thêm submenu cho tiên đề này bằng cách drag chuột kéo form từ trong navigation pane vào submenu. 210
  211. TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CƠNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN Chương 6 Thiết kế báo cáo ( Report) • 6.1.1 Tạo bằng lệnh Report 6.1 • 6.1.2 Tạo Report bằng chức năng Winzard Cách tạo • 6.1.3 Tạo Report bằng Design Report 6.2 • 6.2.1 Sử dụng Total Query Tạo Report • 6.2.2 Report Grouping cĩ phân • 6.2.3 Sub Report nhĩm
  212. 6.1 Cách tạo Report 6.1.1 Tạo bằng lệnh Report Chức năng Report là cơng cụ tạo Report nhanh và dễ dàng, thường dùng để tạo những Report đơn giản cĩ dữ liệu nguồn từ một bảng hoặc một query. Để tạo bằng chức năng Report ta phải chọn dữ liệu nguồn cho Report ❖ Click nút Report trong nhĩm lệnh Report trên thanh Ribbon. ❖ Xuất hiện report dạng Tabular ở chế độ Layout. 212
  213. 6.1.2 Tạo bằng chức năng Wizard: ➢ Chọn tab Create trên thanh Ribbon, trong nhĩm lệnh Reports, click nút Report Wizard. ➢ Chọn Table/Query làm dữ liệu nguồn cho Report. ➢ Chọn các field hiển thị trên Report trong khung Available Field click nút để chọn một field và click nút để chọn nhiều field. Click Next. ➢ Nếu report lấy dữ liệu nguồn từ một bảng thì bỏ qua bước này, ngược lại nếu dữ liệu lấy từ nhiều bảng thì chọn field kết nhĩm. Click Next. 213
  214. 6.1.2 Tạo bằng chức năng Wizard: ➢ Chọn field mà bạn muốn Nhĩm(Grouping) dữ liệu cho report. ➢ Sau khi chọn field cần Nhĩm chọn Next ➢ Chọn field mà bạn muốn sắp xếp dữ liệu cho report. ➢ Cĩ thể sắp xếp kết quả trong report bằng cách kết hợp tối đa là 4 field 214
  215. 6.1.2 Tạo bằng chức năng Wizard: Chọn dạng Report. Layout: gồm 3 dạng: + Columnar. + Tabular. + Justified. Orentation: gồm 2 dạng + Portrait: trang dọc + Landscape: trang ngang 215
  216. 6.1.2 Tạo bằng chức năng Wizard: Nhập tiêu đề cho report Chọn lựa: - Preview: xem trước báo cáo - Modify: sửa và thiết kế báo cáo - Nhấp Finish để tạo báo cáo 216
  217. 6.1.3 Tạo bằng chức năng Design: Cách tạo: ➢ Chọn Table/Query làm dữ liệu nguồn cho report. ➢ Chọn tab Create trên thanh Ribbon, trong nhĩm lệnh Reports, click nút Report Design. ➢ Xuất hiện cửa sổ thiết kế report và field list chứa các field trong dữ liệu nguồn của report. Lần lượt drag chuột kéo các field trong field list hoặc các control trong nhĩm lệnh Controls trên thanh Ribbon thả vào Report 217
  218. 6.1.3 Tạo bằng chức năng Design: Các thành phần trong cửa sổ thiết kế Report: Một Report gồm các thành phần: 1. Page Header/Footer 2. Report Header/Footer 3. Detail 4. Group Header 5. Footer 218
  219. 6.1.3 Tạo bằng chức năng Design: Page Header/Footer: Chứa tiêu đề đầu trang và cuối trang. Nội dung đặt trong phần Page Header/Footer sẽ xuất hiện ở đầu và cuối mỗi trang. Các nội dung thường đặt trong Page Header/Footer. Page Numbers, logo, Title, Date and Time 219
  220. 6.1.3 Tạo bằng chức năng Design: Page Header/Footer: Chứa tiêu đề đầu trang và cuối trang. Nội dung đặt trong phần Page Header/Footer sẽ xuất hiện ở đầu và cuối mỗi trang. Các nội dung thường đặt trong Page Header/Footer: Page Numbers: chèn số trang Logo: chèn logo báo cáo Title: tiêu đề cho trang báo cáo 220 Date and Time: ngày và thời gian
  221. 6.1.3 Tạo bằng chức năng Design: Report Header/Footer: Tiêu đề đầu và cuối report, nội dung đặt trong Report Header/Footer chỉ xuất hiện ở phần đầu của trang đầu tiên và phần cuối trang của trang cuối cùng. Các nội dung thường đặt trong Report Header/Footer. Cơng thức tính tốn, thống kê dữ liệu. 221
  222. 6.1.3 Tạo bằng chức năng Design: Detail: chứa nội dung chính của report, hiển thị dữ liệu trong dữ liệu nguồn dưới dạng các textbox bound control, mỗi textbox là một field dữ liệu hoặc các textbox dạng unbound control dùng để tạo thêm field mới. Group Header/Footer (Các report cĩ phân nhĩm): đối với các report cĩ phân nhĩm giống như form dạng main-sub thì ngồi các phần cơ bản cịn cĩ thêm phần kết nhĩm là group header/Footer. ➢ Nội dung trong phần group header/Footer là tiêu đề của nhĩm. ➢ Thống kê dữ liệu theo nhĩm. 222
  223. 6.1.3 Tạo bằng chức năng Design: Hiệu chỉnh Report ➢ Để hiệu chỉnh report, ta mở report ở chế độ design view. ➢ Chọn các control muốn hiệu chỉnh. ➢ Mở Properties Sheet, chọn thuộc tính đê hiệu chỉnh ➢ Cách hiệu chỉnh tương tự như đối với form. 223
  224. 6.2 Tạo Report cĩ phân nhĩm 1. Sử dụng Total Query 2. Sử dụng Report Grouping 3. Sử dụng Sub Report 6.2.1 Sử dụng Total Query Trong trường hợp này, report khơng chứa phần chi tiết mà chỉ chứa các ơ thống kê dữ liệu: Sum, Avg, Min, Max trong phần Detail của report. Cách thực hiện như sau: ➢ Tạo Total Query, trong query chọn field làm tiêu chuẩn thống kê, field chứa dữ liệu thống kê và chọn phép thống kê ➢ Tạo Report, sử dụng Total query đã tạo ở trên. 224
  225. 6.2.1 Sử dụng Total Query Ví dụ: Tạo report tính tổng số lượng và tổng tiền đã bán của từng sản phẩm Tạo report, sử dụng Total query đã tạo ở trên. 225
  226. 6.2.2 Report Grouping Report grouping giúp bạn cĩ thể tổ chức khối lượng lớn các thơng tin vào các nhĩm. Với cách này report sẽ thể hiện dữ liệu chi tiết trong từng nhĩm và cĩ thể thêm nhiều cấp độ nhĩm theo các tiêu chí khác nhau. Cách tạo như sau: ➢ Trên thanh Ribbon, chọn tab Create, trong nhĩm lệnh Reports, click nút Report Design. ➢ Xuất hiện cửa sổ thiết kế Report, thanh Ribbon chuyển sang tab Design 226
  227. 6.2.2 Report Grouping ➢ Trong Properties Sheet, chọn Tab Data, tại thuộc tính Record source, chọn Table/Query làm dữ liệu nguồn cho Report. ➢ Click nút Group& Sort trong nhĩm lệnh Grouping & Totals. 227
  228. 6.2.2 Report Grouping Trong cửa sổ thiết kế xuất hiện khung Group, Sort and Total bên dưới cửa sổ thiết kế. Click nút Add a group để chọn field kết nhĩm, chọn field kết nhĩm trong field list, trên cửa sổ thiết kế xuất hiện thanh Group header. 228
  229. 6.2.2 Report Grouping Khung Group, Sort and Total cĩ dạng như hình: Mở thanh group footer và thực hiện các phép thống kê bằng cách click nút More, cửa sổ Group, Sort and Total cĩ dạng: 229
  230. 6.2.2 Report Grouping Click nút with no Total để mở menu Totals: Total On: chọn field chứa dữ liệu thống kê. Type: Chọn phép thống kê. Chọn vị trí đặt các ơ thống kê bằng cách check vào các ơ: ➢ Show Grand Total: Đặt ơ thống kê trong phần report header/footer. ➢ Show group subtotal as % of Grand Total: Đặt ơ thống kê trong phần report header/footer. ➢ Show subtotal in group header: Đặt ơ thống kê trong phần group header. ➢ Show subtotal in group footer: Đặt ơ thống kê trong phần group footer. 230
  231. 6.2.3 Sub Report Subreport cĩ tác dụng tương tự như Report grouping. Sự khác biệt duy nhất là tạo các report trong hai phần riêng biệt: Main Report và SubReport. 231
  232. 6.2.3 Sub Report Cách tạo: ➢ Tạo Main Report, dữ liệu nguồn thường là bảng cha. ➢ Tạo Sub Report, dữ liệu nguồn phải chứa field liên kết với Main Report. ➢ Đưa Sub Report vào Main Report cĩ thể dùng cơng cụ SubForm/SubReport trong nhĩm lệnh Controls. ➢ Thiết lập thuộc tính Link child Fields và Link master Fields. 232
  233. TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CƠNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN Chương 7 Tự động hĩa ứng dụng bằng Marco Marco là gì? Cách tạo và thực thi Marco Marco Autoexec Xây dựng hệ thống menu bằng Marco
  234. 7.1 Marco là gì? ➢Giả sử ta cĩ một cơng việc gồm 4 thao tác: ✓Mở một bảng để sửa (giả sử cĩ tên BanHang) ✓Mở một Form ứng vơí bảng đĩ để vào dữ liệu ✓Mở một Report ứng với bảng đĩ ✓In Report đĩ ➢Bình thường ta thao tác từng cơng việc một, hết một cơng việc, đĩng lại và mở cơng việc khác cứ như thế cho đến hết. ➢ Nhưng cịn một cách khác là xử lý bốn cơng việc trên một cách tự động bằng cơng cụ mà ta hay gọi là Macro. ➢Giả sử xây dựng một form với nút đĩng form bằng cách tạo nút trên form và xây dựng một macro để đĩng form sau đĩ gán macro cho sự kiện Click của nút. 234
  235. 7.2 Cách tạo và thực thi Marco ➢Cách tạo: Chọn tab Create trên thanh Ribbon, trong nhĩm lệnh Macro & Code, click nút Macro ➢Xuất hiện cửa sổ thiết kế Macro với các thành phần: oKhung bên trái dùng để chọn các action trong Macro. o Khung bên phải chứa các Action theo nhĩm và các đối tượng trong cơ sở dữ liệu đã được gán macro. 235
  236. 7.2.1 Cách tạo Marco ➢Chọn Action trong khung Add New Action. ➢Ứng với những Action khác nhau thì xuất hiện các ơ cho bạn chọn hoặc nhập các argument tương ứng. ➢Ví dụ: khi chọn Action là GotoRecord thì sẽ xuất hiện các Argument như hình. ➢Tiếp tục chọn Action tiếp theo bằng cách click Add new Action. 236
  237. 7.2.2 Thực thi Marco ➢Đối với macro khơng gán cho sự kiện của một đối tượng cụ thể thì chọn tên macro và click nút run để thực thi hoặc double click vào tên macro, thường dùng cho các macro chứa các lệnh Open. o Ví dụ: macro mở form. ➢ Đối với macro mà chỉ cĩ thể thực thi khi tác động vào một đối tượng cụ thể trên form hoặc report thì sau khi tạo và lưu macro thì phải gán macro cho sự kiện của đối tượng cụ thể. Các thực hiện. ➢ Mở form hoặc report chứa đối tượng cần gán macro. ➢ Click phải trên đối tượng chọn properties, hoặc chọn đối tượng → Mở properties Sheet. ➢Chọn tab Event, chọn sự kiện (event). ➢ Trong danh sách xổ xuống chọn tên Macro. 237
  238. 7.2.3 Các Actions và Events thơng dụng ➢Actions: Trong Access 2010 action được chia thành nhĩm theo chức năng. ➢Events: Sự kiện tác động lên đối tượng để thực thi macro. 238
  239. 7.3 Marco Autoexec ➢ Macro Autoexec là macro tự động thực thi khi chương trình được khởi động và cĩ tên là autoexec. ➢ Macro autoexec thường dùng để mở form giao diện, khi ứng dụng được khởi động thì form giao diện tự động mở ra đầu tiên. Để thực hiện ta tạo một macro autoexec chứa action OpenForm, Form name là tên form giao diện, tên macro là autoexec. 7.4 Xây dựng hệ thống menu bằng Marco ➢Một ứng dụng hồn chỉnh thường cần đến hệ thống menu để liên kết các thành phần thành một hệ thống. ➢Ví dụ: hệ thống menu trong chương trình quản lý hĩa đơn. 239
  240. 7.4.1 Tạo Marco cho hệ thống menu ➢Trong Access 2010, menu do người dủng tạo được tổ chức thành nhĩm giống như nhĩm lệnh trên thanh Ribbon đặt trong tab Add-In. ➢Tạo menu cấp 1: chính là Main Menu dùng action Addmenu với các Argument như sau: oMenu Name: tên các menu trong menu cấp 1. o Menu Macro Name: tên macro để tạo menu cấp 2. o StatusBar Text: Dịng văn bản xuất hiện trên thanh status bar khi menu được chọn. o Giả sử Main menu gồm 4 Menu. 240
  241. 7.4.1 Tạo Marco cho hệ thống menu ➢Tạo macro cho menu cấp 2: Macro này cĩ tên trùng với tên được đặt trong mục Menu Macro Name của macro cấp 1, mỗi menu là một macro. ➢Trong menu chính cĩ bao nhiêu menu con thì tạo bấy nhiêu macro. 241
  242. 7.4.2 Đưa menu vào chương trình ➢Để đưa menu vào hoạt động thì cần phải cĩ một form chính của chương trình, khi form này được mở thì hệ thống menu sẽ được kích hoạt: oMở form chính ở chế độ design. oClick phải trên form → properties. oChọn tab Other ➢Tại thuộc tính Menu bar, nhập tên macro cấp1. 242
  243. TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CƠNG NGHỆ HÀ NỘI KHOA CƠNG NGHỆ THƠNG TIN Chương 8 Module – Lập trình trong Access Tổ chức, hoạt động chương trình trong Access Thủ tục đáp ứng sự kiện Tạo và thực hiện thủ tục và hàm Các phép tốn, hàm, biến, biểu thức Một số lệnh về lập trình Đối tượng, biến đối tượng và cách xử lý
  244. 8.1 Tổ chức và hoạt động của chương trình trong Access Chương trình con cĩ hai dạng: Thủ tục hoặc hàm. Mỗi chương trình con là một dãy các lệnh để thực hiện một cơng việc nào đĩ. Một chương trình cĩ thể cĩ rất nhiều chương trình con. a. Chương trình con dạng thủ tục: Bao gồm các thành phần: Đầu thủ tục, thân thủ tục và kết thúc thủ tục. 1. Đầu thủ tục cĩ dạng: o[Private] Sub [( ] 2. Thân thủ tục oThân thủ tục nằm sau đầu thủ tục. Thân thủ tục chứa các lệnh để giải quyết một cơng việc nào đĩ (các lệnh cụ thể bạn sẽ tìm hiểu sau). 3. Kết thúc thủ tục oĐể báo cho máy tính biết kết thúc một thủ tục, ta viết dịng lệnh: End Sub [Private] Sub [( ] 244 End Sub
  245. 8.1 Tổ chức và hoạt động của chương trình trong Access b. Chương trình con dạng hàm (Funtion) ➢ Cũng như thủ tục, hàm cũng cĩ cấu trúc ba phần: Đầu hàm, thân hàm và kết thúc hàm. Dạng tổng quát như sau: [Private] Function [( ] End Function ➢ Sau đây là một số ví dụ: oVí dụ1: Lập trình hiển thị câu chào: “Chào bạn đã đến với lập trình Access” oBước 1: oChọn Create chọn New chọn Macro & code , sau đĩ cửa sổ để bạn soạn thảo chương trình (hay cịn gọi là cửa sổ Code) hiện ra như sau: 245
  246. 8.1 Tổ chức và hoạt động của chương trình trong Access ➢ Bước 2: Bạn gõ vào cửa sổ Code các lệnh (bạn cứ gõ rồi sau sẽ hiểu lệnh đĩ là gì?) như hình sau: ➢Bước 3: Chạy chương trình: Chọn Run/Run Sub. Sau khi chạy chương trình, kết quả như hình sau: ➢Giải thích: Lệnh MsgBox(“Chao ban da den voi lap trinh Access”) sẽ đưa ra một thơng báo như hình trên. Ta cĩ thể gọi đây là lệnh hiển thị dữ liệu cũng được. Khi đưa ra kết quả trên chương trình tạm dừng và nếu bạn chọn OK thì chương trình sẽ chạy tiếp và thực hiện lệnh sau lệnh MsgBox( ). 246
  247. 8.1 Tổ chức và hoạt động của chương trình trong Access ➢ Ví dụ 2: Vào 2 số nguyên, tính tổng và hiển thị tổng của hai số đĩ. oBạn gõ vào cửa sổ Code như hình sau: oKhi chạy chương trình, máy yêu cầu bạn gõ từ bàn phím giá trị a như giao diện sau: 247
  248. 8.1 Tổ chức và hoạt động của chương trình trong Access ➢Đến đây nếu bạn gõ vào số 5 và chọn OK (Hay ấn Enter) thì số nguyên 5 sẽ lưu vào biến a. Máy lại đưa ra giao diện: ➢Và nếu bạn gõ vào số 4 và chọn OK thì máy sẽ lưu số nguyên 4 vào biến b. Tiếp tục máy sẽ tính tổng và đưa kết quả là 9 như hình sau: 248
  249. 8.1 Tổ chức và hoạt động của chương trình trong Access ➢Giải thích: ➢Lệnh: Dim a As Integer o Nghĩa là: Biến (Dim) a là (As) nguyên (Integer). Bạn khai báo biến a là nguyên , để máy sử dụng ơ nhớ tương ứng với số nguyên mà!, tất nhiên nếu là số thực thì ơ nhớ phải lớn hơn, v.v lý do khai báo là vậy. ➢Lệnh: a = InputBox("Moi ban go vao so a? ") o Nghĩa là: Hộp nhập liệu (InputBox) ra thơng báo: "Moi ban go vao so a? “. Nếu bạn gõ vào một số thì số đĩ được lưu vào biến a ➢Lệnh: s = a + b o Đây là lệnh “gán”, nghĩa là máy sẽ lấy nội dụng biến a (bạn vừa gõ vào 5), cộng với nội dung của biến b (bạn vừa gõ vào 4), kết quả sẽ là 9, “gán” kết quả này cho biến s (gọi lệnh “gán” là như vậy). ➢Lệnh: MsgBox "Tong 2 so la: " & Str(s) o Đây là lệnh hiển thị dữ liệu, nhưng dữ liệu thì phải đồng nhất, ở đây: "Tong 2 so la: "(là dữ liệu văn bản) cịn nội dung của biến s là một số nguyên. Để ghép được bạn phải đổi nội dung của biến s (số nguyên) thành dạng văn bản bằng hàm Str(s): Str viết tắt từ chữ String (văn bản). Để ghép hai văn bản ta dùng dấu & (cũng như để cộng 2 số ta dùng dấu + ). 249
  250. 8.2 Thủ tục đáp ứng sự kiện với form, report ➢Mở đối tượng form hoặc report ở chế độ design. ➢Click phải trên control muốn gán module → chọn properties. ➢Chọn tab event → chọn event thích hợp → Click nút biểu tượng. ➢Xuất hiện cửa sổ Choose Builder. ➢Chọn lệnh Code Builder → OK. ➢Xuất hiện cửa sổ soạn thảo module với nội mặc định. ➢Bạn chọn Event và cuốn để tìm sự kiện mình cần. 250
  251. 8.2 Thủ tục đáp ứng sự kiện với form, report ➢Ví dụ: Tạo thủ tục để mở bảng cĩ tên SO_LUONG khi ta kích vào vùng tiêu đề đầu trang Form. Ta thao tác như sau: ➢Chọn Create vào tap Form chon Form Design ➢Kích vào thanh FormHeader để bật cửa sổ chứa các thủ tục đáp ứng sự kiện ứng với vùng này (tất nhiên ban chon Event), như hình sau: 251
  252. 8.2 Thủ tục đáp ứng sự kiện với form, report ➢Kích vào ơ bên phải ứng với dịng On Click, kích mũi tên xuống để chọn [Event Procedure], kích tiếp vao nút ba chấm bên phải , Sau đĩ thủ tục đáp ứng sự kiện hiện ra: 252
  253. 8.2 Thủ tục đáp ứng sự kiện với form, report ➢Bạn gõ dịng lệnh: DoCmd.OpenTable “So_luong”. ➢Lưu thủ tục này bằng một tên nào đĩ, giả sử tên DauForm ➢Thốt về CSDL ➢Chạy thủ tục này bằng cách chọn Navigation pane/ Forms, kích đúp vào tên DauForm ta thấy một Form hiện ra. ➢Tiếp theo bạn kích vào vùng FormHeader, chương trình chạy và kết quả là bảng SoLuong được mở ra như sau: ➢Sự kiện Click ở các vùng cịn lại thiết kế tương tự. 253
  254. 8.3 Tạo và thực hiện thủ tục và hàm a. Taọ thủ tục, hàm trong Macro & Code Tab. o Bước 1: Create chọn Tab Macro & Code chọn Module o Bước 2: Khai báo và tạo lập thủ tục hoặc hàm o Bước 3: Ghi Module Ví dụ: Vào tuổi của hai người, tính tuổi trung bình của họ. Function Tong() Dim T1 As Interger Dim T2 As Interger Dim TB As Single T1 = InputBox(“vào tuoi cua nguoi thu nhat?”) T2 = InputBox(“vào tuoi cua nguoi thu hai?”) TB=(T1+T2)/2 MsgBox “Tuoi trung binh la:” & Str(TB) End Function ➢Tuổi trung bình cĩ thể khơng phải nguyên (vì phải chia cho 2), do đĩ ta phải khai báo là thực (Single). Số thực trong máy là số cĩ dấu chấm thập phân, ví dụ: 23.45, 12.00, -45.34567, v.v 254
  255. 8.3 Tạo và thực hiện thủ tục và hàm b. Tạo thủ tục đáp ứng sự kiên của các điều khiển trên Form. Trên Form ta cĩ thể đặt các điều khiển như nút lệnh chẳng hạn, nút lệnh này cũng cĩ các sự kiện. Các bước tiến hành: ➢Bước 1: Mở Form và bổ sung một đối tượng lên Form, giả sử nút lệnh (Button) chẳng hạn. ➢Bước 2: Mở cửa sổ Code: oChọn nút lệnh, kích phải chuột chọn Build event , sau đĩ hộp thoại Code Builder hiện ra: 255
  256. 8.3 Tạo và thực hiện thủ tục và hàm ➢Chọn Code Builder và chọn OK, một thủ tục sự kiện xuất hiện: ➢Soạn thủ tục hoặc hàm đáp ứng sự kiện. ➢Ghi lại thủ tục đĩ và chạy thử 256
  257. 8.3 Tạo và thực hiện thủ tục và hàm c. Chương trình cĩ nhiều thủ tục Một thủ tục khi chạy cĩ thể yêu cầu (gọi) một hoặc nhiều thủ tục khác làm việc. Lệnh gọi này được viết lại đúng tên thủ tục bị gọi, ví dụ hai thủ tục sau: Sub MoBang() DoCmd.OpenTable”So_luong” End Sub Và thủ tục tính tổng: Sub Tong() Dim a As Integer, b As Integer, s As Integer a = 12 b = 20 s = a + b MsgBox ("s=" & Str(s)) End Sub Để chạy được 2 thủ tục trên, ta cĩ thể tạo một thủ tục khác (giả sử cĩ tên là GOI(), thủ tục GOI cĩ dạng sau: Sub GOI() MoBang Tong End Sub 257
  258. 8.3 Tạo và thực hiện thủ tục và hàm Khi chạy, thủ tục GOI() yêu cầu thủ tục MoBang() làm việc, thủ tục MoBang() làm việc xong lại quay về thủ tục GOI() và thực hiện tiếp lệnh sau đĩ (tức là lệnh gọi thủ tục Tong). Cứ như thế cho đến khi tất cả các lệnh trong thủ tục GOI() được hồn tất. Ba thủ tục đĩ nằm trong một đoạn mã (chương trình) như sau: 258
  259. 8.4 Các phép tốn, hàm, biến, biểu thức a. Các phép tốn số học + : Cộng Mod : Chia lấy phần dư - : Trừ \ : Chia nguyên * : Nhân ^ : Luỹ thừa / : Chia b. Các phép tốn so sánh: = : Bằng >= : Lớn hơn hoặc bằng : Lớn hơn <> : khác c. Các phép tốn Logic: AND, OR, NOT: Các phép tốn so sánh tạo nên biểu thức logic cho kết quả True(-1) hoặc False(0) X Y X And Y X Or Y Not (x) -1 -1 -1 -1 0 -1 0 -1 -1 0 0 0 -1 -1 -1 0 0 0 0 -1 d. Phép ghép chuỗi ký tự: Muốn ghép 2 chuỗi ký tự ta sử sụng phép tốn & hoặc dấu + 259
  260. 8.4 Các phép tốn, hàm, biến, biểu thức Khai báo biến: ➢Biến phải khai báo để chương trình xác định: ➢Tên của biến là gì? vì chương trình sẽ làm việc với tên đĩ. ➢Kiểu của biến là gì? (nguyên, thực, logic, văn bản, v.v ) vì chương trình phải “xếp chỗ” cho các biến “lưu trú”, nghĩa là chương trình phải huy động ơ nhớ phù hợp với kiểu của biến, ví dụ nếu biến nguyên thì ơ nhớ “bé”, số thực thì ơ nhớ “to”, v.v Việc khai báo là để xếp chỗ ở của biến (ơ nhớ) cho hợp lý, tránh lãng phí (thừa khơng gian “lưu trú” hoặc khơng đủ chỗ để “lưu trú”) ➢Dạng khai báo biến như sau: Dim [As ] : Bạn tự đặt theo luật sau: là một chuỗi các chữ cái, chữ số, dấu gạch chân, độ dài tên khơng quá 40 ký tự, khơng được trùng với các từ khố cĩ trong Access và đặc biệt ký tự đầu phải là chữ cái [As ]: Nếu phần này khơng ghi thì coi như biến đĩ ngầm định cĩ các kiểu: Kiểu số, chuỗi, Date/Time, Null (rỗng). Khi sử dụng biến đĩ tuỳ ngữ cảnh mà xác định kiểu sau. Cịn nếu ghi phần này thì kiểu cĩ thể là: Nguyên, thực, văn bản, v.v Ví dụ về khai báo biến: Dim i As Interger (i là biến nguyên ngắn) 260
  261. 8.4 Các phép tốn, hàm, biến, biểu thức Các hàm thường sử dụng. ➢Với các hàm, bạn cũng phải viết đúng theo quy định của Access, ví dụ Sin(x), Cos(x), Sqr(x), v.v các hàm như đã trình bày ở chương 5. Biểu thức (Expression) ➢ Các biến, hằng, hàm nối với nhau bởi phép tốn được gọi là biểu thức, biểu thức cũng cĩ thể chỉ là 1 biến , 1 hằng, 1 hàm. Điều quan trọng là bạn phải viết biểu thức đúng quy định (đúng phép tốn đã quy định, đúng tên biến, đúng tên hằng, đúng cách viết hằng v.v ). Ví dụ: oBiểu thức chỉ chứa hằng: (234+678)/13 oBiểu thức số chỉ chứa biến: (a+b+c)*(a+b) oBiểu thức số vừa chứa biến và hằng: (a+b)/7 oBiểu thức văn bản: “Tin hoc” & “Văn phong” oBiểu thức logic:(5>13) Or (3<9) 261
  262. 8.5 Một số lệnh về lập trình ➢Khi lập trình trong Access, 1 câu lệnh chỉ được viết trên 1 dịng, nếu muốn viết nhiều câu lệnh trên 1 dịng ta phải dùng dấu hai chấm(:) để ngăn cách. Ví dụ: a=4: b=7: s=a+b ➢ Các câu ghi chú, cĩ ý nghĩa giải thích rõ chức năng từng hằng, biến, biểu thức, câu lệnh, v.v Câu ghi chú phải bắt đầu bằng REM hoặc dấu nháy đơn (‘), ví dụ: Rem Doan ma sau là de vao du lieu 262