1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình lập trình quản lý (nghề tin học văn phòng trình độ trung cấp)

119 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo Trình Lập Trình Quản Lý
Tác giả Nguyễn Hoàng Vũ, Châu Mũi Khéo
Trường học Trường Cao Đẳng Nghề Mạng Máy Tính
Chuyên ngành Tin Học Văn Phòng
Thể loại Giáo Trình
Năm xuất bản 2017
Thành phố Cần Thơ
Định dạng
Số trang 119
Dung lượng 3,89 MB

Cấu trúc

  • 1. Giới thiệu chung về Access (0)
  • 2. Khởi động (7)
  • 3. Tạo mới tệp Access (0)
  • 4. Môi trường làm việc (8)
  • 5. Mở tệp đã tồn tại (0)
  • 6. Thoát khỏi Access (11)
  • BÀI 1: XÂY DỰNG CƠ SỞ DỮ LIỆU (12)
    • 1. Các khái niệm về CSDL Access (0)
    • 3. Thiết lập quan hệ (20)
    • 4. Nhập liệu (0)
    • 5. Thuộc tính LOOKUP (26)
  • BÀI 2: TRUY VẤN DỮ LIỆU (33)
    • 1. SELECT queries (33)
    • 2. Total query (37)
    • 3. Crosstab Query (39)
    • 4. MAKE TABLE QUERIES (41)
    • 5. DELETE queries (41)
    • 6. UPDATE queries (42)
    • 7. Một số query khác (43)
    • 8. Các hàm thông dụng (45)
  • BÀI 3: THIẾT KẾ GIAO DIỆN (52)
    • 1. Khái niệm về form (0)
    • 2. Sử dụng FORM WIZARD (52)
    • 3. Sử dụng FORM DESIGN VIEW (53)
    • 4. Kỹ thuật Main/Sub Form (57)
    • 5. MACRO – tập lệnh (0)
  • BÀI 4: BÁO BIỂU (REPORT) (68)
    • 1. Các khái niệm về report (0)
    • 2. Sử dụng Report wizard (68)
    • 3. Thiết kế report (70)
  • Bài 5: LẬP TRÌNH VBA CĂN BẢN (77)
    • 1. Môi trường lập trình VB (77)
    • 2. Các kiểu dữ liệu và khai báo (0)
    • 3. Các cấu trúc lệnh VBA (0)
    • 4. Chương trình con (86)
    • 6. Biến kiểu đối tượng (90)
    • 7. Cấu trúc điều khiển (94)
    • 8. Lệnh Function (0)
    • 9. Lệnh Sub (0)
    • 10. Lệnh Call (0)
  • Bài 6: LẬP TRÌNH CƠ SỞ DỮ LIỆU (102)
  • Bài 7: MENU & TOOLBAR (111)
    • 1. Tạo Menu (111)
    • 2. Gắn kết Menu, Toolbar (115)
    • 3. Tạo Form chính (116)
  • TÀI LIỆU THAM KHẢO (119)

Nội dung

Khởi động

- Cách 1: Start (AU) Programs -> Microsoft Office -> Microsoft Office Access 2010

- Cách 2: Double click vào shortcut Ms Access trên desktop

Hình I.1: Giao diện khởi động Access

− Tại cửa sổ khởi động, click nút Blank Database

− File name: nhập tên tập tin cơ sở dữ liệu, trong Access 2010, tập tin cơ sở dữ liệu được lưu với tên có phần mở rộng là.accdb

Nếu không chỉ định đường dẫn lưu, tập tin mới sẽ tự động được lưu trong thư mục Document Để thay đổi vị trí lưu, hãy nhấp vào nút Browse và chọn vị trí mong muốn Sau đó, nhấn nút Create để tạo tập tin cơ sở dữ liệu.

Hình I.2: Giao diện tạo mới CSDL

Hình I.3: Giao diện Môi trường làm việc Access

Môi trường làm việc chính của Access là trên cửa sổ Database gồm các thành phần sau: a Vùng làm việc

Khi khởi động Access, trong cửa sổ khởi động, mặc định tab File và lệnh New trong tab File được chọn, cửa sổ được chia thành 3 khung:

- Khung bên trái gồm các lệnh trong tab File -Khung giữa: chứa các loại tập tin cơ sở dữ liệu mà bạn có thể tạo mới

- 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 b Thanh Quick Access

Thanh công cụ 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

Bên phải của Quick Access chứa nút

Customize, khi cơ sở dữ liệu đang mở, nếu click nút

Tùy chỉnh sẽ hiển thị một menu cho phép bạn chỉ định các nút lệnh hiển thị trên thanh Truy cập Nhanh Nếu các lệnh không có trong menu, bạn có thể nhấn nút để thêm chúng.

More Commands hoặc click phải trên thanh Quick

Access chọn Customize Quick Access Toolbar Để thêm nút lệnh vào Quick Access, bạn chọn lệnh trong khung choose commands from, click nút Add-> click OK c Thanh Navigation Pane

The Navigation Pane is the main content area of a database, allowing users to easily access any Table, Query, Form, Report, Macro, or Module by simply double-clicking on the object's name.

- Thanh tiêu đề (Title bar) : nằm ở trên cùng chứa tên cơ sở dữ liệu (Database), tên chương trình

(Microsoft Access) và tên đối tượng đang làm việc

Thanh thực đơn trong Microsoft Access là nơi tập hợp các lệnh làm việc Khi người dùng nhấp vào tên nhóm như Home, Create, hay Database Tools, một danh sách các lệnh trong nhóm sẽ xuất hiện trong khung hiển thị tùy chọn của Menu, giúp người dùng dễ dàng chọn lệnh cần thực hiện.

- Khung chứa các đối tượng (Navigation Pane ): ở phía bên trái màn hình, chứa tập các đối tượng đã được tạo gồm: Table, Query, Form, Report …

- Cửa sổ của đối tượng : khi chọn làm việc với đối tượng nào thì sẽ xuất hiện cửa sổ thiết kế và hiển thị kết quả đối tượng đó

- Office Button : là nút lệnh nằm phía trên bên trái màn hình, chứa các lệnh cơ bản của chương trình như New, Open, Save, Print …

Các thành phần cơ bản của một tập tin CSDL access

- CSDL trong Access là cơ sở dữ liệu quan hệ gổm các thành phần: Tables,

- Công cụ để tạo các đối tượng trong Access được tổ chức thành từng nhóm trong tab Create của thanh Ribbon a Bảng (Tables)

Bảng là thành phần quan trọng nhất trong cơ sở dữ liệu Access, dùng để lưu trữ dữ liệu và cần được tạo ra đầu tiên Trong một bảng, dữ liệu được tổ chức thành nhiều cột và dòng, giúp người dùng dễ dàng quản lý và truy cập thông tin.

Query là công cụ cho phép người dùng truy vấn thông tin và thao tác trên dữ liệu, sử dụng ngôn ngữ SQL hoặc công cụ QBE Biểu mẫu (Forms) là một phần quan trọng trong quá trình này.

Form là công cụ thiết kế giao diện cho bài trình bày, giúp người dùng cập nhật và xem dữ liệu một cách dễ dàng Biểu mẫu không chỉ thân thiện hóa quá trình nhập, thêm, sửa, xóa dữ liệu mà còn hỗ trợ hiển thị thông tin hiệu quả.

Báo cáo là công cụ cho phép người dùng tạo kết xuất dữ liệu từ các bảng, sau đó định dạng và sắp xếp theo khuôn mẫu đã được xác định, và có thể in ra màn hình hoặc máy in Tập lệnh (Macros) hỗ trợ tự động hóa quy trình này.

Macro là tập hợp lệnh thực hiện chuỗi thao tác đã được định sẵn, trong khi tập lệnh của Access được coi là công cụ lập trình đơn giản cho các tình huống cụ thể Bộ mã lệnh (Modules) cũng đóng vai trò quan trọng trong việc mở rộng chức năng và tự động hóa quy trình trong Access.

Lập trình trong môi trường Access sử dụng ngôn ngữ Visual Basic for Application, cho phép người dùng tự động hóa các tác vụ một cách chuyên sâu hơn so với việc sử dụng tập lệnh Công cụ này giúp tạo ra các hàm người dùng tự định nghĩa, mang lại sự linh hoạt và hiệu quả trong việc xử lý dữ liệu.

Hình I.6 Giao diện thanh Ribbon

11 thường dành cho các lập trình viên chuyên nghiệp

5 Mở tệp đã tồn tại

− Cách 1: ∗ Tại cửa sổ khởi động, trong tab File → Open…

∗ Chọn tập tin cơ sở dữ liệu cần mở → Open

− Cách 2: Double click vào tên tập tin cần mở

Khi không làm việc với Access nữa, thoát ứng dụng đang chạy bằng một trong những cách sau:

- Mở thực đơn File | Exit

- Nhấn tổ hợp phím nóng Alt + F4

- Hoặc đóng nút Close trên cửa sổ Access đang mở

CÂU HỎI VÀ BÀI TẬP

1 Hãy phân biệt cơ sở dữ liệu với hệ quản trị cơ sở dữ liệu

2 Các đối tượng trong MS access là gì?

3 Trình bày khả năng và các ứng dụng của MS Acess

4 Với Access 2010, khi tập tin access được tạo ra, tập tin đó sẽ có phần mở rộng là gì?

BÀI 1: XÂY DỰNG CƠ SỞ DỮ LIỆU

Xây dựng bảng là bước quan trọng đầu tiên trong quy trình phát triển ứng dụng trên Access Một cơ sở dữ liệu được thiết kế và xây dựng hợp lý sẽ tạo điều kiện thuận lợi cho quá trình phát triển ứng dụng sau này.

- Hiểu khái niệm bảng dữ liệu;

- Thiết lập được các trường, thuộc tính;

- Thao tác được với dữ liệu trong datasheet view

- Thực hiện các thao tác an toàn với máy tính

1 Các khái niệm về CSDL Access

Hiểu được các khái niệm bảng, trường, mẫu tin, kiểu dữ liệu, thuộc tính

Microsoft Access, viết tắt là Access, là một hệ quản trị cơ sở dữ liệu trên nền tảng Windows, thuộc bộ phần mềm Microsoft Office của Microsoft, được sử dụng để tạo và xử lý các cơ sở dữ liệu hiệu quả.

Bảng là thành phần cơ bản và quan trọng trong CSDL Access, nơi lưu trữ dữ liệu về các đối tượng thông tin như danh mục nhân viên và danh mục phòng ban Mỗi hàng trong bảng đại diện cho một mẫu tin (record) chứa các thông tin riêng biệt của đối tượng, với cấu trúc chung bao gồm các trường (field).

Hình II.1 bản dữ liệu

Mỗi trường trong bảng đại diện cho một thuộc tính của đối tượng quản lý, và tùy thuộc vào tính chất của từng thuộc tính, các trường này có thể sử dụng nhiều kiểu dữ liệu khác nhau.

Trường khóa chính (Primary key): là trường mà giá trị của các mẫu tin trong cùng một bảng là khác nhau

Trường khóa ngoại (Foreign key): là trường khóa chính của một bảng khác có quan hệ với bảng chứa nó

Mỗi bản ghi trong bảng chứa thông tin về các thuộc tính của đối tượng được quản lý, với tất cả các bản ghi đều có cấu trúc giống nhau, bao gồm trường dữ liệu, kiểu dữ liệu và thuộc tính dữ liệu.

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ự

Văn bản nhiều dòng, nhiều Trang

Number Kiểu số (bao gồm số nguyên và số thực), dùng để thực hiện tính toán, các định dạng dữ liệu kiểu số được thiết lập trong Control Panel

Date/Time Dữ liệu kiểu Date và Time Các định dạng của dữ liệu Date/Time được thiết lập trong Control Panel

Currency Kiểu tiền tệ, mặc định là $ 8 byte

AutoNumber Access sẽ tự động tăng tuần tự hoặc ngẫu nhiên khi một mẫu tin mới được tạo, không thể xóa, sửa

Kiểu luận lý (Boolean) Chỉ chấp nhận dữ liệu có giá trị Yes/No, True/False, On/Off 1bit

OLE Object Dữ liệu là các đối tượng được tạo từ các phần mềm khác

HyperLink Dữ liệu của field là các link

Lookup Wizard không phải là kiểu dữ liệu, mà là chức năng để tạo một danh sách mà giá trị của nó

14 được nhập bằng tay hoặc được tham chiếu từ một bảng khác trong cơ sở dữ liệu

Attachment đính kèm dữ liệu từ các BÀI trình khác, nhưng bạn không thể nhập văn bản hoặc dữ liệu số

2 - Xây dựng cấu trúc bảng

Biết cách tạo bảng bằng wizard

Biết cách tự tạo bảng ở chế độ Design view

2.1 Lập bảng nhờ sự trợ giúp Wizard

Môi trường làm việc

Hình I.3: Giao diện Môi trường làm việc Access

Môi trường làm việc chính của Access là trên cửa sổ Database gồm các thành phần sau: a Vùng làm việc

Khi khởi động Access, trong cửa sổ khởi động, mặc định tab File và lệnh New trong tab File được chọn, cửa sổ được chia thành 3 khung:

- Khung bên trái gồm các lệnh trong tab File -Khung giữa: chứa các loại tập tin cơ sở dữ liệu mà bạn có thể tạo mới

- 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 b Thanh Quick Access

Thanh công cụ 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

Bên phải của Quick Access chứa nút

Customize, khi cơ sở dữ liệu đang mở, nếu click nút

Tùy chỉnh sẽ hiển thị một menu cho phép bạn chỉ định các nút lệnh hiển thị trên thanh Truy cập Nhanh Nếu các lệnh không có trong menu, bạn có thể nhấp vào nút để thêm chúng.

More Commands hoặc click phải trên thanh Quick

Access chọn Customize Quick Access Toolbar Để thêm nút lệnh vào Quick Access, bạn chọn lệnh trong khung choose commands from, click nút Add-> click OK c Thanh Navigation Pane

The Navigation Pane serves as the primary framework for displaying the contents of a database Within the Navigation Pane, users can easily access any Table, Query, Form, Report, Macro, or Module by simply double-clicking on the object's name.

- Thanh tiêu đề (Title bar) : nằm ở trên cùng chứa tên cơ sở dữ liệu (Database), tên chương trình

(Microsoft Access) và tên đối tượng đang làm việc

Thanh thực đơn trong Microsoft Access là nơi tập hợp các lệnh làm việc Khi người dùng nhấp vào tên nhóm như Home, Create hay Database Tools, một danh sách các lệnh tương ứng sẽ xuất hiện trong khung hiển thị tùy chọn, giúp người dùng dễ dàng chọn lệnh cần thực hiện.

- Khung chứa các đối tượng (Navigation Pane ): ở phía bên trái màn hình, chứa tập các đối tượng đã được tạo gồm: Table, Query, Form, Report …

- Cửa sổ của đối tượng : khi chọn làm việc với đối tượng nào thì sẽ xuất hiện cửa sổ thiết kế và hiển thị kết quả đối tượng đó

- Office Button : là nút lệnh nằm phía trên bên trái màn hình, chứa các lệnh cơ bản của chương trình như New, Open, Save, Print …

Các thành phần cơ bản của một tập tin CSDL access

- CSDL trong Access là cơ sở dữ liệu quan hệ gổm các thành phần: Tables,

- Công cụ để tạo các đối tượng trong Access được tổ chức thành từng nhóm trong tab Create của thanh Ribbon a Bảng (Tables)

Bảng là thành phần quan trọng nhất trong cơ sở dữ liệu Access, dùng để lưu trữ dữ liệu và cần được tạo ra trước tiên Trong một bảng, dữ liệu được tổ chức thành nhiều cột và dòng.

Query là công cụ cho phép người dùng truy vấn thông tin và thao tác trên dữ liệu, sử dụng ngôn ngữ SQL hoặc công cụ QBE Biểu mẫu (Forms) hỗ trợ người dùng trong việc tương tác và xử lý dữ liệu một cách hiệu quả.

Form là công cụ thiết kế giao diện cho bài trình bày, giúp người dùng cập nhật và xem dữ liệu một cách dễ dàng Biểu mẫu hỗ trợ quá trình nhập, thêm, sửa, xóa và hiển thị dữ liệu, tạo sự thân thiện và thuận tiện trong việc quản lý thông tin.

Báo cáo là công cụ cho phép người dùng tạo ra các kết xuất dữ liệu từ bảng, sau đó định dạng và sắp xếp theo một mẫu nhất định, có thể in ra màn hình hoặc máy in Tập lệnh (Macros) hỗ trợ tự động hóa quy trình này.

Macro là tập hợp các lệnh thực hiện một chuỗi thao tác đã được định sẵn Tập lệnh trong Access hoạt động như một công cụ lập trình đơn giản, giúp xử lý các tình huống cụ thể một cách hiệu quả Bộ mã lệnh (Modules) là phần quan trọng trong việc tối ưu hóa và mở rộng chức năng của ứng dụng.

Là công cụ lập trình trong môi trường Access, ngôn ngữ nền tảng của nó là Visual Basic for Application, cho phép tự động hóa sâu hơn so với tập lệnh thông thường Công cụ này giúp người dùng tạo ra các hàm tự định nghĩa, mang lại tính linh hoạt và khả năng tùy chỉnh cao cho ứng dụng.

Hình I.6 Giao diện thanh Ribbon

11 thường dành cho các lập trình viên chuyên nghiệp

5 Mở tệp đã tồn tại

− Cách 1: ∗ Tại cửa sổ khởi động, trong tab File → Open…

∗ Chọn tập tin cơ sở dữ liệu cần mở → Open

− Cách 2: Double click vào tên tập tin cần mở

Khi không làm việc với Access nữa, thoát ứng dụng đang chạy bằng một trong những cách sau:

- Mở thực đơn File | Exit

- Nhấn tổ hợp phím nóng Alt + F4

- Hoặc đóng nút Close trên cửa sổ Access đang mở

CÂU HỎI VÀ BÀI TẬP

1 Hãy phân biệt cơ sở dữ liệu với hệ quản trị cơ sở dữ liệu

2 Các đối tượng trong MS access là gì?

3 Trình bày khả năng và các ứng dụng của MS Acess

4 Với Access 2010, khi tập tin access được tạo ra, tập tin đó sẽ có phần mở rộng là gì?

BÀI 1: XÂY DỰNG CƠ SỞ DỮ LIỆU

Xây dựng bảng là bước quan trọng đầu tiên trong quy trình phát triển ứng dụng trên Access Một cơ sở dữ liệu được thiết kế và xây dựng tốt sẽ hỗ trợ đáng kể cho quá trình phát triển ứng dụng.

- Hiểu khái niệm bảng dữ liệu;

- Thiết lập được các trường, thuộc tính;

- Thao tác được với dữ liệu trong datasheet view

- Thực hiện các thao tác an toàn với máy tính

1 Các khái niệm về CSDL Access

Hiểu được các khái niệm bảng, trường, mẫu tin, kiểu dữ liệu, thuộc tính

Microsoft Access, hay còn gọi là Access, là một hệ quản trị cơ sở dữ liệu được phát triển bởi Microsoft, tích hợp trong bộ phần mềm Microsoft Office Nó cho phép người dùng tạo và xử lý các cơ sở dữ liệu một cách hiệu quả trên nền tảng Windows.

Bảng là thành phần thiết yếu trong cơ sở dữ liệu (CSDL) của Access, chứa dữ liệu về các đối tượng thông tin như danh mục nhân viên và phòng ban Mỗi hàng trong bảng đại diện cho một mẫu tin (record) với các nội dung riêng biệt, nhưng tất cả các mẫu tin đều có chung cấu trúc với các trường (field) tương ứng.

Hình II.1 bản dữ liệu

Mỗi trường trong bảng đại diện cho một thuộc tính của đối tượng cần quản lý, với các kiểu dữ liệu khác nhau tùy thuộc vào tính chất của từng trường.

Trường khóa chính (Primary key): là trường mà giá trị của các mẫu tin trong cùng một bảng là khác nhau

Trường khóa ngoại (Foreign key): là trường khóa chính của một bảng khác có quan hệ với bảng chứa nó

Mỗi mẫu tin trong bảng đại diện cho một hàng chứa thông tin về các thuộc tính của đối tượng được quản lý Tất cả các mẫu tin đều có cấu trúc đồng nhất, bao gồm trường dữ liệu, kiểu dữ liệu và thuộc tính dữ liệu.

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ự

Văn bản nhiều dòng, nhiều Trang

Number Kiểu số (bao gồm số nguyên và số thực), dùng để thực hiện tính toán, các định dạng dữ liệu kiểu số được thiết lập trong Control Panel

Date/Time Dữ liệu kiểu Date và Time Các định dạng của dữ liệu Date/Time được thiết lập trong Control Panel

Currency Kiểu tiền tệ, mặc định là $ 8 byte

AutoNumber Access sẽ tự động tăng tuần tự hoặc ngẫu nhiên khi một mẫu tin mới được tạo, không thể xóa, sửa

Kiểu luận lý (Boolean) Chỉ chấp nhận dữ liệu có giá trị Yes/No, True/False, On/Off 1bit

OLE Object Dữ liệu là các đối tượng được tạo từ các phần mềm khác

HyperLink Dữ liệu của field là các link

Lookup Wizard không phải là kiểu dữ liệu, mà là chức năng để tạo một danh sách mà giá trị của nó

14 được nhập bằng tay hoặc được tham chiếu từ một bảng khác trong cơ sở dữ liệu

Attachment đính kèm dữ liệu từ các BÀI trình khác, nhưng bạn không thể nhập văn bản hoặc dữ liệu số

2 - Xây dựng cấu trúc bảng

Biết cách tạo bảng bằng wizard

Biết cách tự tạo bảng ở chế độ Design view

2.1 Lập bảng nhờ sự trợ giúp Wizard

To create a new table in Access, navigate to the Create tab on the Ribbon In the Table command group, click the Table button, which opens the table design window featuring a default ID column as the primary key with an Autonumber type, along with an empty Click to Add column.

Bước 2: Để thêm một cột mới, click chuột vào ô Click to Add

Bước 3: Thêm dữ liệu vào bảng mới tạo

Bước 4: Đóng bảng và lưu bảng

Nếu muốn sửa đổi lại bảng vừa thiết kế, chuyển đổi bảng sang chế độ Design View bằng cách chọn menu Home - chọn View – chọn Design View

2.2 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: (Hình II.4)

Hình II.4 Thành phần Table Design

− Field Name: định nghĩa các fields trong bảng

− Data Type: chọn kiểu dữ liệu để lưu trữ dữ liệu của field tương ứng

− Description: dùng để chú thích ý nghĩa của field

− Field Properties: thiết lập các thuộc tính của Field, gồm có hai nhóm:

− General: là phần định dạng dữ liệu cho field trong cột Field Name

∗ Lookup: là phần quy định dạng hiển thị / nhập dữ liệu cho Field

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

− Chọn kiểu dữ liệu cho field trong cột Data Type

− Chú thích cho field trong cột Description

− Chỉ định thuộc tính cho field trong khung Field Properties

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 field đồ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

Bước 4: Lưu bảng vừa tạo bằng cách:

− Click vào nút trên thanh Quick Access

2.3 Các thuộc tính trường (Field Properties)

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ữ iệ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 kiểu con

Field size Miền giá trị Số lẻ tối đa

Thoát khỏi Access

Khi không làm việc với Access nữa, thoát ứng dụng đang chạy bằng một trong những cách sau:

- Mở thực đơn File | Exit

- Nhấn tổ hợp phím nóng Alt + F4

- Hoặc đóng nút Close trên cửa sổ Access đang mở

CÂU HỎI VÀ BÀI TẬP

1 Hãy phân biệt cơ sở dữ liệu với hệ quản trị cơ sở dữ liệu

2 Các đối tượng trong MS access là gì?

3 Trình bày khả năng và các ứng dụng của MS Acess

4 Với Access 2010, khi tập tin access được tạo ra, tập tin đó sẽ có phần mở rộng là gì?

XÂY DỰNG CƠ SỞ DỮ LIỆU

Thiết lập quan hệ

Sau khi thiết kế các bảng, chúng ta đã có cấu trúc nhưng chưa thiết lập mối quan hệ giữa chúng Việc thiết lập các mối quan hệ này giúp MS Access quản lý dữ liệu hiệu quả hơn và bảo vệ các ràng buộc toàn vẹn trong quá trình nhập liệu.

-Để thiết lập được quan hệ thì các field dùng liên kết giữa các Table phải có cùng kiểu dữ liệu

Trong Access tồn tại 2 kiểu quan hệ: quan hệ 1-1 (một-một) và quan hệ 1-n (một- nhiều)

Quan hệ 1-1: một record của bảng này sẽ liên kết với duy nhất một record của bảng kia và ngược lại

Quan hệ 1-n là mối quan hệ trong cơ sở dữ liệu, trong đó mỗi bản ghi của bảng 1 có thể liên kết với một hoặc nhiều bản ghi của bảng n Ngược lại, mỗi bản ghi của bảng n chỉ có thể liên kết với duy nhất một bản ghi trong bảng 1.

Thể hiện dữ liệu của quan hệ 1-n

3.2 Khai báo quan hệ giữa các Bảng

− 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

Hình II.8 dữ liệu quan hệ 1-n Hình II.7 quan hệ 1-n

− 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 (Hình II.32)

− 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

− 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 MaSV từ bảng SINHVIEN sang

MaSV của bảng KETQUA) Xuất hiện cửa sổ Edit

RelationShips với các tùy chọn: (Hình II.34)

* Enforce Referential Integrity nếu muốn quan hệ có tính ràng buộc toàn vẹn Quan hệ có tính ràng buộc toàn vẹn

Cascade Delete Related Records trong Access cho phép người dùng xóa một bản ghi trong bảng cha mà không gặp lỗi Khi thực hiện thao tác này, hệ thống sẽ tự động xóa tất cả các bản ghi liên quan trong bảng con, đảm bảo tính nhất quán của dữ liệu giữa hai bảng.

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 (Hình II.35)

Hình II.9 hộp thoại Show Tables

Hình II.10 hộp thoại RelationShips

Hình II.11 hộp thoại liên kết

Hình II.12 xóa quan hệ

Trong cửa sổ Database, để nhập dữ liệu, bạn chỉ cần nhấp đúp vào tên bảng trong khung đối tượng (Navigation Pane) bên trái màn hình, và cửa sổ nhập liệu của bảng (Datasheet) sẽ xuất hiện.

Nhập hoặc chỉnh sửa dữ liệu trên các dòng tương ứng, với kiểu dữ liệu phụ thuộc vào trường đã định Để định dạng dữ liệu như kiểu chữ, cỡ chữ và màu sắc, hãy sử dụng các công cụ trong thực đơn Home.

Khi làm việc với các bảng có quan hệ, cần nhập dữ liệu cho bảng chính trước, sau đó mới nhập dữ liệu cho bảng quan hệ Dữ liệu trong trường tham gia quan hệ ở bảng chính phải tồn tại trước khi có thể nhập dữ liệu vào bảng quan hệ Không được phép nhập dữ liệu vào trường khóa của bảng quan hệ nếu giá trị khóa đó không tồn tại trong bảng chính.

- Từ bảng chính có thể thực hiện nhập dữ liệu cho các bảng quan hệ Không thực hiện ngược lại được

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 (Hình II.12)

Tuy nhiên khi xóa record phải xem xét ảnh hưởng đến các Record quan hệ

4.3 Tìm kiếm dữ liệu: để 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

* 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 ô

Hình II.15 Find and Replace

* 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 hoàn tất việc tìm kiếm

4.4 Sao chép và di chuyển dữ liệu

− 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: Chỉ sao chép cấu trúc

∗ Structure and data: Sao chép cấu trúc và dữ liệu

∗ Append Data to Exiting Table: Thêm dữ liệu vào một bảng đang tồn tại

Để thực hành, bạn cần thêm 3 mẫu tin vào bảng VIDU theo yêu cầu trong mục 3 Các bước thực hiện bao gồm: tìm kiếm mẫu tin, sao chép dữ liệu, di chuyển dữ liệu, thay thế dữ liệu và xóa mẫu tin.

4.5 Sắp xếp dữ liệu a) 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 dần) trong nhóm lệnh sort & Filter trên thanh Ribbon

Hình II.16 thông báo hoàn tất

25 b) 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

− 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

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 &

- chọn một trong các lệnh trong menu:

- Equals….: lọc các records có giá trị bằng với giá trị được chọn

Does NotEquals….: 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ị được chọn

− Ngoà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

Hình II.19 Hình II.18 sort Ascending

5.1 Khái niệm về Combo Box

Combo Box là công cụ hữu ích giúp người dùng chọn giá trị từ danh sách có sẵn Trong Access, Combo Box thường được sử dụng để tối ưu hóa quá trình nhập liệu và lựa chọn giá trị cho các thuộc tính.

Mỗi Combo Box chứa một danh sách giá trị Muốn hiển thị danh sách này phải click chuột tại vị trí có biểu tượng hình mũi tên bên phải

Khi chọn một giá trị trong danh sách thì giá trị này sẽ xuất hiện tại hộp bên trên của Combo Box

5.2 Tạo Combo Box nhập dữ liệu bằng thuộc tính Lookup

Tại bảng quan hệ phụ, dữ liệu của trường tham gia phụ thuộc vào trường tham gia ở bảng chính Để đảm bảo tính toàn vẹn dữ liệu và thuận tiện trong việc nhập liệu, trường tham gia trong bảng phụ được thiết kế một cách hợp lý.

Combo Box Dữ liệu trong Combo Box này chính là dữ liệu của trường quan hệ tại bảng chính Sử dụng thuộc tính Loopup của trường để thiết kế

Thực hiện thiết kế như sau :

- Trong cửa sổ thiết kế cấu trúc bảng, đặt con trỏ tại trường tham gia quan hệ, chọn kiểu dữ liệu phù hợp

In the Field Properties section, configure the following attributes: set the Display Control to Combo Box, select Row Source Type as Table/Query, and choose the appropriate table or query for the Row Source that contains the input data.

1 Tạo một cơ sở dữ liệu mới tên QLSV.accdb với các đặc tả sau:

BÀI trình chỉ quản lý sinh viên của một trung tâm hoặc một khoa

Lớp được phân biệt bằng MaLop

Mỗi lớp có nhiều sinh viên, các sinh viên được phân biệt nhau bằng MaSV, một sinh viên chỉ thuộc một lớp

Một sinh viên học nhiều môn học, mỗi môn học được phân biệt bằng MaMH và mỗi môn học được học bởi nhiều sinh viên

Mỗi sinh viên ứng với mỗi môn học được thi hai lần và ứng với mỗi lần thi thì chỉ có một kết quả duy nhất

2 Tạo các bảng trong CSDL đồng thời thiết lập khóa chính cho mỗi bảng như sau: LOP field Name Data Type Description Field Properties

Field size: 30 Caption: Tên Lớp

GVCN Text Giáo viên CN

Field size: 30 Caption: Giáo viên CN MONHOC field Name Data Type Description Field Properties

MaMH Text Mã môn học

Field size: 10 Format: >[Red] caption: Mã môn học

TeNMH Text Tên môn học

Field size: 30 Caption: Tên môn học

SoTC Number Số tín chỉ

Field size: byte Caption: Số tín chỉ

SINHVIEN field Name Data Type Description Field Properties

MaSV Text Mã sinh viên

Field size 10 Format >[Red] Caption: Mã Sinh viên

HoSV Text Họ sinh viên

Field size: 30 Caption: Họ sinh viên TenSV Text Tên sinh viên

Field size: 20 Caption: Tên sinh viên

Lookup\ Display control: Textbox NgaySinh Date/time Ngày sinh

Format: short date Input mask: 00/00/00 Caption: Ngày sinh

Field size: 50 Caption: Địa chỉ DienThoai Text Điện Thoại

Field size: 10 Format: >[Blue] Caption: Mã lớp

DIEM field Name Data Type Description Field Properties

Text (Lookup Wizard) Mã sinh viên

Field size 10 Format >[Blue] Caption:

Field size: 10 Format: >[Red] Caption:

Number Điểm lần 1 Field size: Double

Caption: Điểm lần 1 Validation Rule: >=0 and < Validation Text: Điểm phải >=0 và

Field size: Double Caption: Điểm lần 2 Validation Rule: >=0 and < Validation Text: Điểm phải >=0 và

3 Nhập dữ liệu cho các bảng:

Mã Lớp Tên Lớp GV Chủ Nhiệm Mã Môn học

Tên Môn học Số Tín

CSDL Cơ Sở Dữ Liệu 4 CDTH1

CTDL Cấu Trúc Dữ Liệu 4 CDTH2

Lê Thanh Hùng CTR Chính trị 3 CDTH2

DHOA Đồ họa máy tính 4 TCTH3

JAVA Lập trình JAVA 5 TCTH3

NMTH Nhập môn tin học 4 TCTH3

Trần Văn Hải PPLT Phương Pháp Lập

PTWB Phát triển Web 3 TRR Toán Rời Rạc 3 SINHVIEN

CDTH1A A102 Trần văn An Nam 15/11/

CDTH1B B102 Phạm thị Hoa Nữ 09/09/

12 Phan văn Trị GV CDTH1B

CDTH2B B202 Trần thị Dung Nữ 10/01/

CDTH2B B204 Đặng Trung Tiến Nam 22/12/

C3502 Lê thị Tường Vi Nữ 15/09/

TCTH35A C3503 Đỗ Kim Loan Nữ 03/04/

TCTH35B C3505 Nguyễn Văn Cường Nam 12/11/

45 Quang Trung GV TCTH35B E3601 Nguyên

TCTH36A E3603 Võ Tấn Lộc Nam 20/12/

TCTH36B E3605 Trần Thanh Tuấn Nam 22/12/

TCTH36B E3606 Phạm Hoàng Long Nam 14/02/

Mã Môn học Điểm lần 1 Điểm Lần 2

B103 PPLT 7 B104 PPLT 8 B105 PPLT 5 C3505 PPLT 3 5 E3601 PPLT 3

E3602 PPLT 7 E3603 PPLT 6 E3604 PPLT 8 E3607 PPLT 8 A101 PTWB 5 A102 PTWB 8 A103 PTWB 8 A104 PTWB 6 A201 PTWB 8 B101 PTWB 10 B102 PTWB 2 3 B103 PTWB 6

B104 PTWB 8.5 B105 PTWB 8 C3501 PTWB 8 C3503 PTWB 9 C3504 PTWB 3 5 E3602 PTWB 6

A204 TRR 6.5 B101 TRR 5 B102 TRR 9 B103 TRR 9 B104 TRR 8 B105 TRR 6 C3501 TRR 10 C3502 TRR 9.5 C3503 TRR 3

Mã Môn học Điểm lần

4 Thiết lập mối quan hệ giữa các bảng:

Khi tạo bảng trong cơ sở dữ liệu, cần lưu ý rằng bảng không có tham chiếu nên được tạo trước, trong khi bảng có khóa ngoại tham chiếu sẽ được tạo sau Thứ tự tạo các bảng cụ thể là: đầu tiên tạo bảng LOP và MON HOC, tiếp theo là bảng SINHVIEN, và cuối cùng là bảng DIEM.

Trường Malop trong bảng SINHVIEN là khóa ngoại tham chiếu đến trường Malop của bảng LOP Tương tự, trường MaSV trong bảng DIEM là khóa ngoại tham chiếu đến trường MaSV của bảng SINHVIEN, và trường MaMH trong bảng DIEM cũng là khóa ngoại tham chiếu đến trường MaMH của bảng MONHOC Cả ba trường khóa ngoại này đều có kiểu dữ liệu là Lookup wizard.

Sau khi hoàn thành việc tạo bảng, truy cập vào menu Database Tools và chọn Relationships Tiếp theo, nhấp chuột phải vào các dây quan hệ và đánh dấu vào ba hộp kiểm để đảm bảo tính toàn vẹn của dữ liệu Cuối cùng, tiến hành nhập dữ liệu theo yêu cầu.

Thuộc tính LOOKUP

5.1 Khái niệm về Combo Box

Combo Box là một công cụ hữu ích giúp người dùng chọn giá trị từ danh sách có sẵn Trong Access, Combo Box thường được sử dụng để quản lý nhập liệu và lựa chọn giá trị cho các thuộc tính một cách hiệu quả.

Mỗi Combo Box chứa một danh sách giá trị Muốn hiển thị danh sách này phải click chuột tại vị trí có biểu tượng hình mũi tên bên phải

Khi chọn một giá trị trong danh sách thì giá trị này sẽ xuất hiện tại hộp bên trên của Combo Box

5.2 Tạo Combo Box nhập dữ liệu bằng thuộc tính Lookup

Tại bảng quan hệ phụ, dữ liệu của trường tham gia phụ thuộc vào trường tham gia ở bảng chính, điều này đảm bảo tính toàn vẹn dữ liệu Để thuận tiện trong việc nhập liệu, trường tham gia quan hệ của bảng phụ được thiết kế một cách hợp lý.

Combo Box Dữ liệu trong Combo Box này chính là dữ liệu của trường quan hệ tại bảng chính Sử dụng thuộc tính Loopup của trường để thiết kế

Thực hiện thiết kế như sau :

- Trong cửa sổ thiết kế cấu trúc bảng, đặt con trỏ tại trường tham gia quan hệ, chọn kiểu dữ liệu phù hợp

In the Field Properties section, configure the following attributes: set the Display Control to Combo Box, select Row Source Type as Table/Query, and choose the appropriate main table or query for the Row Source that contains the input data.

1 Tạo một cơ sở dữ liệu mới tên QLSV.accdb với các đặc tả sau:

BÀI trình chỉ quản lý sinh viên của một trung tâm hoặc một khoa

Lớp được phân biệt bằng MaLop

Mỗi lớp có nhiều sinh viên, các sinh viên được phân biệt nhau bằng MaSV, một sinh viên chỉ thuộc một lớp

Một sinh viên học nhiều môn học, mỗi môn học được phân biệt bằng MaMH và mỗi môn học được học bởi nhiều sinh viên

Mỗi sinh viên ứng với mỗi môn học được thi hai lần và ứng với mỗi lần thi thì chỉ có một kết quả duy nhất

2 Tạo các bảng trong CSDL đồng thời thiết lập khóa chính cho mỗi bảng như sau: LOP field Name Data Type Description Field Properties

Field size: 30 Caption: Tên Lớp

GVCN Text Giáo viên CN

Field size: 30 Caption: Giáo viên CN MONHOC field Name Data Type Description Field Properties

MaMH Text Mã môn học

Field size: 10 Format: >[Red] caption: Mã môn học

TeNMH Text Tên môn học

Field size: 30 Caption: Tên môn học

SoTC Number Số tín chỉ

Field size: byte Caption: Số tín chỉ

SINHVIEN field Name Data Type Description Field Properties

MaSV Text Mã sinh viên

Field size 10 Format >[Red] Caption: Mã Sinh viên

HoSV Text Họ sinh viên

Field size: 30 Caption: Họ sinh viên TenSV Text Tên sinh viên

Field size: 20 Caption: Tên sinh viên

Lookup\ Display control: Textbox NgaySinh Date/time Ngày sinh

Format: short date Input mask: 00/00/00 Caption: Ngày sinh

Field size: 50 Caption: Địa chỉ DienThoai Text Điện Thoại

Field size: 10 Format: >[Blue] Caption: Mã lớp

DIEM field Name Data Type Description Field Properties

Text (Lookup Wizard) Mã sinh viên

Field size 10 Format >[Blue] Caption:

Field size: 10 Format: >[Red] Caption:

Number Điểm lần 1 Field size: Double

Caption: Điểm lần 1 Validation Rule: >=0 and < Validation Text: Điểm phải >=0 và

Field size: Double Caption: Điểm lần 2 Validation Rule: >=0 and < Validation Text: Điểm phải >=0 và

3 Nhập dữ liệu cho các bảng:

Mã Lớp Tên Lớp GV Chủ Nhiệm Mã Môn học

Tên Môn học Số Tín

CSDL Cơ Sở Dữ Liệu 4 CDTH1

CTDL Cấu Trúc Dữ Liệu 4 CDTH2

Lê Thanh Hùng CTR Chính trị 3 CDTH2

DHOA Đồ họa máy tính 4 TCTH3

JAVA Lập trình JAVA 5 TCTH3

NMTH Nhập môn tin học 4 TCTH3

Trần Văn Hải PPLT Phương Pháp Lập

PTWB Phát triển Web 3 TRR Toán Rời Rạc 3 SINHVIEN

CDTH1A A102 Trần văn An Nam 15/11/

CDTH1B B102 Phạm thị Hoa Nữ 09/09/

12 Phan văn Trị GV CDTH1B

CDTH2B B202 Trần thị Dung Nữ 10/01/

CDTH2B B204 Đặng Trung Tiến Nam 22/12/

C3502 Lê thị Tường Vi Nữ 15/09/

TCTH35A C3503 Đỗ Kim Loan Nữ 03/04/

TCTH35B C3505 Nguyễn Văn Cường Nam 12/11/

45 Quang Trung GV TCTH35B E3601 Nguyên

TCTH36A E3603 Võ Tấn Lộc Nam 20/12/

TCTH36B E3605 Trần Thanh Tuấn Nam 22/12/

TCTH36B E3606 Phạm Hoàng Long Nam 14/02/

Mã Môn học Điểm lần 1 Điểm Lần 2

B103 PPLT 7 B104 PPLT 8 B105 PPLT 5 C3505 PPLT 3 5 E3601 PPLT 3

E3602 PPLT 7 E3603 PPLT 6 E3604 PPLT 8 E3607 PPLT 8 A101 PTWB 5 A102 PTWB 8 A103 PTWB 8 A104 PTWB 6 A201 PTWB 8 B101 PTWB 10 B102 PTWB 2 3 B103 PTWB 6

B104 PTWB 8.5 B105 PTWB 8 C3501 PTWB 8 C3503 PTWB 9 C3504 PTWB 3 5 E3602 PTWB 6

A204 TRR 6.5 B101 TRR 5 B102 TRR 9 B103 TRR 9 B104 TRR 8 B105 TRR 6 C3501 TRR 10 C3502 TRR 9.5 C3503 TRR 3

Mã Môn học Điểm lần

4 Thiết lập mối quan hệ giữa các bảng:

Khi tạo bảng trong cơ sở dữ liệu, cần lưu ý rằng bảng không có tham chiếu nên được tạo trước, trong khi các bảng có khóa ngoại tham chiếu cần được tạo sau Cụ thể, thứ tự tạo các bảng là: đầu tiên là LOP và MON HOC, tiếp theo là SINHVIEN, và cuối cùng là DIEM.

Trường Malop trong bảng SINHVIEN là khóa ngoại tham chiếu đến trường Malop của bảng LOP Tương tự, trường MaSV trong bảng DIEM là khóa ngoại tham chiếu đến trường MaSV của bảng SINHVIEN, và trường MaMH trong bảng DIEM là khóa ngoại tham chiếu đến trường MaMH của bảng MONHOC Vì vậy, ba trường khóa ngoại này đều sử dụng kiểu dữ liệu Lookup wizard.

Sau khi hoàn thành việc tạo các bảng, hãy truy cập vào menu Database Tools và chọn Relationships Tiếp theo, nhấp chuột phải vào các mối quan hệ và đánh dấu vào ba hộp kiểm để đảm bảo tính toàn vẹn của dữ liệu Cuối cùng, tiến hành nhập dữ liệu theo yêu cầu.

TRUY VẤN DỮ LIỆU

SELECT queries

Truy vấn lựa chọn là phương pháp lấy thông tin từ một hoặc nhiều bảng, tạo ra một tập hợp bản ghi (recordset) Dữ liệu trả về từ truy vấn này có thể được cập nhật và thường được sử dụng để hiển thị trên các form và báo cáo.

1.1.1 Tạo select query bằng wizard

B1: Để tạo query, chọn tab Create trên thanh Ribbon, click nút

Query Wizard trong nhóm lệnh Queries (Hình III.1) Xuất hiện cửa sổ New Query

B2: Chọn Simple query wizard Click

B3: Chọn Field (trường) từ bảng hoặc query tại hộp thoại xổ xuống

B4: Đặt tên query Tại bước này có 2 tùy chọn:

+ Open the query to view information: xem kết quả query

+ Modify the query design: mở query ở chế độ thiết kế để chỉnh sửa query

Thực hành: Tạo một query hiển thị danh sách điểm của các sinh viên bằng công cụ wizard Thông tin bao gồm: Masv, Hosv, Tensv,

Hướng dẫn: Làm theo các bước ở mục 2.1

1.1.2 Tự tạo select query ở chế độ thiết kế (Design view)

B1: Để tạo query, 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 (HÌnh III.4)

B2: Chọn Tables hoặc Queries hoặc cả hai tham gia vấn tin tại hộp thoại Show Table

Muốn chọn nhiều bảng cùng lúc, nhấn nút Shift hoặc Ctrl và nhấp chọn Sau đó nhấn Add  nhấn Close

B3: Xác định các nội dung vấn tin tại phần dưới của cửa sổ Select Query:

Để chọn các trường hiển thị trong kết quả, bạn có thể kéo thả tên trường từ danh sách trường vào lưới thiết kế hoặc nhấp đúp vào tên trường Nếu bạn cần tạo một trường mới không có sẵn trong các bảng, gọi là trường tính toán, bạn có thể thực hiện theo cú pháp: : .

− Sort: sắp xếp dữ liệu hay không Có 3 tùy chọn trong Sort:

+ Ascending: Sắp xếp giảm dần

+ Decending: Sắp xếp tăng dần

+ No Sort: Không sắp xếp

- Show: hiển thị hay không hiển thị trường lên bảng kết quả sau khi chạy query

- Nhập điều kiện lọc tại dòng Criteria

B4: Xem kết quả, thực thi và lưu query

− Click nút View để xem trước kết quả, click nút Run để thực thi (Hình III.5)

Thực hành: Tạo query cho xem điểm thi của các sinh viên, thông tin bao gồm: MaSV, HoTen: [HoSV]&” “&[TenSV], TenMH, DiemLan1, DiemLan2, kết quả sắp xếp theo MaSV

37 Hướng dẫn: Thiết kế bảng như Hình III.6:

Biểu thức điều kiện là các quy tắc lọc dữ liệu khi chiết xuất từ cơ sở dữ liệu, giúp giới hạn các mẫu tin trong truy vấn Các loại dữ liệu như ngày tháng, thời gian, văn bản và giá trị cần được bọc trong biểu thức điều kiện để đảm bảo tính chính xác và hiệu quả của kết quả trả về.

Kiểu dữ liệu Dấu bọc Ví dụ

Text “giá trị văn bản“ “CDT1A”

Date #giá trị ngày tháng# #1-Feb-2010#

Time #giá trị giờ# #12:00AM#

Number Không có dấu bọc 10

Field name [tên trường] [MaSV] b Toán tử được sử dụng trong biểu thức điều kiện:

Is [not] null Is null

In(v1, v2, …) In(“java”, “c++”) c Một số ví dụ thực hành về cách đặt điều kiện trong query

Ví dụ 1: xem thông tin về các sinh viên của một lớp CDTHA (Hình III.7)

Hình III.7 Lọc có điều kiện

Ví dụ 2: Tìm những sinh viên có điểm môn CSDL >=5 (Hình III.8)

Hình III.8 Lọc với điều kiện đồng thời

Ví dụ 3: Tìm những sinh viên có điểm môn “CSDL” hoặc “CTDL” >=5 (Hình III.9)

Total query

Total Query có khả năng nhóm các bản ghi và thực hiện các phép thống kê trên nhóm đó Các hàm cơ bản như count, sum, min, max và avg được sử dụng trong Total Query để xử lý dữ liệu một cách hiệu quả.

Ví dụ: Đếm tất cả các học sinh trong mỗi lớp

Kết quả của query trước khi tổng hợp dữ liệu (HÌnh III.10)

Hình III.10 tổng hợp dữ liệu

Sau khi tổng hợp dữ liệu ta có kết quả:

Hình III.11kết quả tổng hợp dữ liệu

2.2 Các bước tạo Total query

B1: Tạo một query mới bằng Design view

B2: Chọn Tables hoặc Queries hoặc cả hai tham gia vấn tin tại hộp thoại Show Table

B3: Chọn các field chứa dữ liệu cần thống kê vào lưới thiết kế

B4: Chọn Query Tools, chọn tab Design

− Trong nhóm lệnh Show/Hide, click nút

− Trên lưới thiết kế query xuất hiện thêm dòng Total (Hình III.13)

− Tại mỗi field, chọn các tùy chọn trên dòng Total

− Đặt điều kiện ở dòng Criteria (nếu có)

Dòng Total: có các hàm sau:

+ Group by: Gộp các cột có giá trị giống nhau trên cột thành một nhóm

+ Sum: Hàm tính tổng các giá trị trên cột của nhóm

+ Count: Hàm đếm số record có trong nhóm mà tại đó cột có giá trị

+ Min: Lấy giá trị nhỏ nhất trong các giá trị trên cột của nhóm

+ Max: Lấy giá trị lớn nhất trong các giá trị trên cột của nhóm

+ First: Tìm giá trị đầu tiên trong các giá trị trên cột của nhóm

+ Last: Tìm giá trị cuối cùng trong các giá trị trên cột của nhóm

+ Expression: Cho biết cột là một biểu thức tính toán

+ Where: Cho biết cột là một biểu thức điều kiện dùng để lọc Record trước khi tính toán và không hiện nội dung khi xem kết quả

B5: Xem kết quả, thực thi và lưu query (giống Select query)

Thực hành: Tạo query “Đếm tất cả các học sinh trong mỗi lớp” Thông tin bao gồm MaLop, Ten Lop, TongsoSV

Hướng dẫn: Màn hình lưới thiết kế của câu query như Hình III.14

Hình III.14 Query tổng hợp

Crosstab Query

Truy vấn Crosstab được dùng để tóm lược dữ liệu và trình bày kết quả theo dạng cô đọng như một bảng tính toán

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) (Hình III.15)

3.1 Tạo query Crosstab bằng wizard

B1: 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 (Hình III.16)→OK

B2: Chọn dữ liệu nguồn cho Crosstab Query, có thể là table hoặc Query→Next

B3: Chọn field làm Row heading trong khung

− Click nút > để chọn field →Click Next

B4: Chọn field làm column heading→Next

B5: − 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

B6: Nhập tên cho query và click nút Finish để kết thúc

3.2 Tạo query Crosstab bằng lệnh Crosstab query

B1: 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 (Hình III.17)

−Trong lưới thiết kế query xuất hiện thêm dòng Crosstab và dòng Total

B2: − Dòng Crosstab có các lựa chọn sau:

+ Row Heading: Chọn trường làm tiêu đê dòng

+ Column Heading: Chọn trường làm tiêu đề cột

+ Value: Chọn trường làm giá trị hiển thị ở các ô

− Dòng Total có các lựa chọn như trong Total query

− Đặt điều kiện để thay đổi ở dòng Criteria (nếu có), chọn các hàm tính toán trong phần Total và chọn cách thức hiển thị tại dòng Crosstab

B3: Thực thi và lưu query

Thực hành thống kê số lượng sinh viên đạt và không đạt theo từng môn học, với tiêu chí là nếu điểm thi lần 1 đạt từ 5 điểm trở lên thì được xem là đạt, ngược lại là không đạt.

Hướng dẫn: Chọn menu Create - Query Design - chọn bảng KETQUA và bảng MONHOC để đưa vào lưới thiết kế - chọn Crosstab trong nhóm lệnh Query type, như hình III.18:

Hình III.18 Crosstab Hình III.17 Crosstab

MAKE TABLE QUERIES

Make Table queries là truy vấn tạo bảng Kết quả mỗi lần thực hiện chạy truy vấn (run)sẽ được lưu thành một bảng mới

B1: 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

B2: Chọn các bảng hoặc query làm dữ liệu nguồn cho Make-Table

Thanh Ribbon chuyển sang tab Design

B3: 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 (Hình III.20)

− 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

B4: Thực thi và lưu query.

DELETE queries

Delete queries là truy vấn xóa dữ liệu Mỗi lần chạy truy vấn sẽ thực hiện xóa dữ liệu trên bảng được chọn theo điều kiện

B1: 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

Để xóa dữ liệu trong Access, trước tiên hãy chọn bảng hoặc truy vấn chứa dữ liệu cần xóa Tiếp theo, trong cửa sổ làm việc của Access, vào tab Create trên thanh Ribbon, sau đó trong nhóm lệnh Queries, nhấn nút Query Design.

B2: Chọn bảng hoặc query chứa dữ liệu cần xóa

Thanh Ribbon chuyển sang tab Design

B3: Click nút Delete trong nhóm Query Type (Hình

- 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

- Nhập điều kiện xóa trên dòng Criteria

B4: Thực thi và lưu query

Thực hành: Xoá tất cả những sinh viên trong bảng SINHVIEN sinh trước tháng 5 năm 1988

Chọn menu Create - Query Design - chọn bảng

SINHVIEN - chọn Delete trong nhóm lệnh

Thiết kế query như hình III.23:

B3: Click nút Delete trong nhóm

- 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

- Nhập điều kiện xóa trên dòng Criteria

B4: Thực thi và lưu query.

UPDATE queries

Update queries là truy vấn cập nhật dữ liệu Mỗi lần chạy truy vấn sẽ thực hiện cập nhật dữ liệu thỏa mãn điều kiện vào bảng được chọn

B1: 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

B2: Chọn các bảng chứa dữ liệu muốn cập nhật

− Thanh Ribbon chuyển sang tab Design

B3: Trong nhóm lệnh Query Type, Click nút Update (Hình III.24) 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 đưa vào lưới thiết

Hình III.23 Delete điều kiện

− Tại cột 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

B4: Thực thi và lưu query

Thực hành: Tăng số tín chỉ của môn học CSDL lên 1

Hướng dẫn: Thiết kế query như hình III.25

Một số query khác

7.1 Tự tạo select query có tham số

B1: Trong cửa sổ thiết kế query, chọn các bảng/query tham gia truy vấn

B2: - 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 [ ]

B3: - Xem kết quả, thực thi và lưu query

Thực hành: Tạo query xem thông tin điểm của một sinh viên tùy ý Thông tin bao gồm Masv, TenSV, MaMH, DiemLan1

Hướng dẫn: Thiết kế query như hình III.26, thực thi query được kết quả như hình III.27

− Khi thực thi query, BÀI trình yêu cầu nhập giá trị cho masv (Hình III.18)

B1: 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

B2: 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

B3: 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

− 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

B4: Thực thi và lưu query

Thực hành: Thêm một môn học mới gồm các thông tin sau:

• Tên môn học: Xử lý ảnh

Hướng dẫn: Chọn menu Create-Query Design-Append-Append to Table Name: chọn bảng MONHOC như hình III.28

Các hàm thông dụng

8.1 Các hàm xử lý dữ liệu kiểu Text

Left(chuỗi, n) Trích ra n ký tự tính từ bên trái của chuỗi string

Right(chuỗi, n) Trích ra n ký tự tính từ bên phải của chuỗi string

Mid(chuỗi,m,n) Trích ra n ký tự tính từ vị trí thứ m trong chuỗi string

Len(chuỗi) Trả về độ dài của chuỗi string

Format(exp) Định dạng biểu thức theo các dạng thức thích hợp

UCase(chuỗi) Trả về chữ in hoa của chuỗi

LCase(chuỗi) Trả về chữ in thường của chuỗi

Str(số) Hàm trả về một chuỗi số được chuyển từ một số

Val(chuỗi_dạng_số) trả về một số được chuyển từ một chuỗi số

8.2 Các hàm về ngày giờ

Date() Hàm trả về kết quả là ngày hiện hành của máy

Day(date) Trả về ngày trong tháng

Month(date) Trả về kết quả là tháng trong biểu thức ngày

Hàm Year(exp) trả về năm từ biểu thức ngày, trong khi hàm datePart("d/m/ww/q/yyyy", exp) cho phép lấy các phần khác nhau của ngày: d để lấy ngày, m để lấy tháng, ww để lấy tuần, q để lấy quý và yyyy để lấy năm.

Cú pháp IIF (, , ) cho phép trả về giá trị 1 khi biểu thức điều kiện đúng và giá trị 2 khi biểu thức điều kiện sai.

Ví dụ: IIF([Diem]>=5, “Đậu”, “Rớt”)

8.4 Hàm cơ sở dữ liệu

Các hàm này có chung cú pháp như sau:

TÊN HÀM (biểu thức, nguồn, [điều kiện])

- Biểu thức: là một chuỗi thể hiện một biểu thức thường là một biến trường hoặc phép tính trên các biến trường.(ví dụ: ''[HOLOT] + [TEN]'')

- Nguồn: là một chuỗi mang tên bảng dữ liệu hoặc tên truy vấn

Điều kiện là một chuỗi các biểu thức dùng để lựa chọn các mẫu tin Nếu không có điều kiện, hàm sẽ thực hiện tính toán trên tất cả các mẫu tin có sẵn.

Sau đây là một bảng dữ liệu cơ sở được sử dụng trong ví dụ dưới:

STT MANV HỌ TÊN PHÒNG CVỤ LƯƠNG

450000 Một số hàm cơ sở dữ liệu thông dụng:

* DSUM: Trả về một tổng các giá trị từ tập hợp các mẫu tin từ bảng hoặc truy vấn

Ví dụ 1: Tính tổng tiền lương phải trả cho nhân viên phòng hành chính(HC) DSUM("[LUONG]","BANG LUONG","[PHONG]='HC'")

Ví dụ 2: Tính tổng tiền lương phải trả cho toàn bộ nhân viên

DSUM("[LUONG]","BANG LUONG","[PHONG] Like'*' ")

Hoặc DSUM("[LUONG]","BANG LUONG")

* DCOUNT: Đếm số mẫu tin

Ví dụ: Đếm số nhân viên tại phòng vật tư (VT)

DCOUNT("[STT]","BANG LUONG","[PHONG]='VT'")

* DMAX: Trả về giá trị lớn nhất trên Biểu_Thức từ tập hợp các mẫu tin có trong bảng

Ví dụ: Tìm số tiền lương lớn nhất trong bảng lương

* DMIN: Trả về giá trị nhỏ nhất trên Biểu_Thức từ tập hợp các mẫu tin có trong bảng

Ví dụ: Tìm số tiền lương phải trả nhỏ nhất trong bảng lương

* DAVG: Trả về giá trị trung bình trên Biểu_Thức từ tập hợp các mẫu tin từ bảng

* DLOOKUP: Trả về giá trị trên Biểu_Thức từ tập hợp các mẫu tin từ bảng

Ví dụ 1: Trả về tên nhân viên có mã nhân viên là "C02"

DLOOKUP("[TEN]","BANG LUONG","[MANV]='C02'")

Ví dụ 2: trả về họ và tên nhân viên có mã nhân viên là "C02"

DLOOKUP("[HO]+" "+[TEN]","BANG LUONG","[MANV]='C02'")

Cú pháp: &

Công dụng: ghép vào biểu thức chuỗi 2>

8.6 Các phép toán so sánh khác

In IN (, =5 thì đạt, ngược lại thì không đạt

6 Tạo query để xem điểm tổng kết của sinh viên gồm các thông tin MaLop, MaSV, HoTen, TenMH, DiemKQ Trong đó DiemKQ được tính như sau:

Nếu DiemLan1>=5 thì DiemLan1 là DiemKQ Ngược lại, nếu DiemLan2null thì DiemKQ là điểm cao nhất của DiemLan1 và DiemLan2

Ngược lại nếu DiemLan2 = Null thì DiemKQ là 0

7 Tạo query xem danh sách những sinh viên học lại gồm các thông tin: MaSV, HoTen, MaLop, TenMH, Hoclai, trong đó field Hoclai được xét như sau: Nếu DiemKQ=0 thì học lại, ngược lại thì để trống (nghĩa là nếu thi lần 1 nz([diemlan2],0),[diemlan1],[diemlan2])),1)

(Hàm NZ(exp,valueifnull): Chuyển giá trị null thành 0)

Nếu DiemTB >=8, xếp loại Giỏi 8> DiemTB >=6.5, xếp loại Khá 6.5> DiemTB>=5, xếp loại Trung bình Còn lại là loại Yếu

Kết nhóm theo MaSV, HoTen

3) Tạo query để xem danh sách các sinh viên đạt học bổng, với yêu cầu sau: những sinh viên có DiemTB >=8.5 và DiemLan1 của tất cả các môn phải >5 thì đạt học bổng 500000, ngược lại thì học bổng là 0 Cách tính điểm trung bình tương tự câu số 2

4) Tạo query cho biết tổng số sinh viên thi lại theo lớp, thông tin bao gồm MaLop, TenLop, TSSV_thilan2, nhóm theo MaLop, TenLop

5) Tạo query cho biết tổng số sinh viên thi lại theo môn học, thông tin bao gồm MaMH, TenMH, TSSV_thilan2, nhóm theo MaMH, TenMH

Hướng dẫn: Xem ở BÀI 3, mục 2.2

1 Tạo query cho xem danh sách các sinh viên thuộc lớp tùy ý gồm các field MaSV, HoTen, Phai, NgaySinh, DiaChi

2 Tạo query để xem điểm của một sinh viên tùy ý gồm các thông tin: MaSV, HoTen, DiemLan1, DiemLan2

3 Hiển thị bảng điểm của các sinh viên đạt yêu cầu (DiemLan1>=5) của một môn học tùy ý, thông tin gồm MaSV, HoTen, MaLop, TenMH

4 Cho biết danh sách những sinh viên của một lớp, gồm: Mã sinh viên, Họ tên sinh viên, Giới tính, Tên lớp Trong đó, giá trị mã lớp cần xem danh sách sinh viên sẽ được người dùng nhập khi thực thi câu truy vấn

5 Liệt kê danh sách sinh viên có điểm môn Cơ sở dữ liệu lớn hơn một giá trị bất kỳ do người sử dụng nhập vào khi thực thi câu truy vấn, thông tin gồm: Mã sinh viên, Họ tên sinh viên, Tên môn, Điểm

6 Cho kết quả thi của các sinh viên theo môn, tên môn cần xem kết quả sẽ được nhập vào khi thực thi câu truy vấn Thông tin hiển thị gồm: Mã sinh viên, Tên lớp, Tên môn, Điểm

7 Thêm một sinh viên mới vào cơ sở dữ liệu, giá trị của các field sẽ được nhập khi thực thi truy vấn

8 Cập nhật Số tiết cho môn học CSDL với giá trị của Số tiết sẽ được nhập khi thực thi truy vấn

Hướng dẫn: xem ở BÀI 3, mục 2.4

1 Thống kê số sinh viên giỏi, khá, trung bình, yếu theo từng lớp

2 Thống kê tổng số sinh viên đạt và không đạt ứng với từng môn học Trong đó nếu điểm thi lần 1 >=5 thì đạt, ngược lại là không đạt

3 Cho xem điểm cao nhất của từng môn theo từng lớp

4 Thống kê tổng số sinh viên nam và nữ theo từng lớp

Hướng dẫn: xem ở BÀI 3, mục 2.4

1 Dùng Make table Query, để tạo ra bảng SV_Dat chứa các sinh viên không thi lần 2, gồm các Field Masv, hoten, tenlop, tenmh, DiemLan1

2 Dùng Make table Query, để tạo ra bảng SV_HocBong gồm các Field Masv, hoten, phai, malop, hocbong Trong đó học bổng được tính như sau: Những sinh viên có trung bình của DiemLan1 >=8.5 và không có

DiemLan1 nào >, muốn bỏ chọn trường nào đó lại thì nhấn nút được đặt theo quy tắc đặt tên Tất cả các hằng có thể khai báo trên cùng một dòng, phân cách nhau bởi dấu phẩy(,)

 [ Public ]: khai báo hằng dùng chung (sử dụng cho một mẫu biểu)

 [ Private ]: khai báo hằng cục bộ (chỉ sử dụng trong thủ tục, modul)

Public Const Pi As Double = 3.14

3 Các cấu trúc lệnh VBA

3.1.1 Câu lệnh điều kiện đơn a Cú pháp

Cp1: If Then

Cp2: IfThen

 < điều kiện >: là biểu thức logic trả về giá trị True hoặc False Biểu thức logic thường chứa các phép toán so sánh và phép toán logic b Ý nghĩa

Chương trình con

Chương trình con là các module được thiết kế để thực hiện một công việc cụ thể trong lập trình Trong Visual Basic, chương trình con bao gồm hai loại chính: hàm (Function) và thủ tục (Sub).

Mục đích sử dụng chương trình con:

 Chia nhỏ chương trình lớn thành nhiều phần logic tránh viết lặp đi lặp lại, tránh rườm rà

 Dễ dàng kiểm tra xác định tính đúng đắn của thuật toán, giúp gỡ rối, gỡ lỗi chương trình một cách dễ dàng

 Có thể được sử dụng lại trong nhiều ứng dụng khác

4.1 Chương trình con dạng hàm

Hàm là một chương trình con bao gồm các lệnh thực hiện một hoặc nhiều công việc, với kết quả trả về là một giá trị cụ thể, được gán cho tên của hàm.

Function[(tham số)] As

=

 : theo quy tắc đặt tên

 []: có thể có hay không

 : là kiểu dữ liệu của kết quả do hàmtrả về

Khi gọi hàm, chúng ta nhận được kết quả có kiểu dữ liệu tương ứng với kiểu trả về của hàm đó Vì vậy, việc gọi hàm cần phải được xem như một phần của một biểu thức.

Cú pháp gọi hàm thực thi:

= [(Tham số thực tế)]

4.2 Chương trình con dạng thủ tục

Thủ tục là một chương trình con bao gồm các lệnh nhằm thực hiện một hoặc nhiều công việc mà không trả về giá trị cụ thể nào.

Sub [(]

 < Tên thủ tục >: theo quy tắc đặt tên

 [< tham số >]: có thể có hoặc không

4.2.3 Gọi thủ thục Để gọi thủ tục sử dụng một trong hai cách sau:

[]

Call ([])

Sub TTGiaithua(n As Integer) kq = 1

Dim a As Integer a = CInt(txtso.Text)

TTGiaithua(a) txtketqua.Text = Str(kq)

Function HamGiaithua(n As Integer) As Integer kq = 1

Dim a As Integer a = CInt(txtso.Text) txtketqua.Text = Str(HamGiaithua(a))

5 Kỹ thuật xử lý lỗi

Không một chương tình nào là không có lỗi Tuy nhiên, giảm khả năng lỗiđến mức tối thiểu là có thể làmđược

5.1.1.Một số giải pháp giảm lỗi

 Thiết kế cẩn thận, đặt tên đối tượng theo quy tắc gợi nhớ

 Ghi ra các vấn đề quan trọng và cách giải quyết cho từng phần

 Thực hiện đúng các bước lập trình

 Ghi ra từng thủ tục và mục đích của nó

 Chú thích rõ ràng trong chương trình

 Chạy thử chương trình từng bước

 Một trong những nguyên nhân gây lỗi là gõ sai tên biến hoặc nhầm lẫn điều khiển Dùng “Option Explicit” để tránh trường hợp này

Làđối tượng do Visual basic cung cấp sẵn để thông báo các lỗi gặp trong chương trình Đối tượng này có một số thuộc tính cơ bản sau:

 Description Chú thích tóm tắt về lỗi

 Source Tên đối tượng gây ra lỗi

5.1.3 Một số kỹ thuật xử lý lỗi a Dừng chương trình

Có thể tạm dừng chương trình bằng cách chọnBreak từ menu Run hoặc nhấn trên thanh công cụ

Hoặc nhấn trên tổ hợp phím Ctrl-Break

Hoặc có thểđặt dòng lệnh Stop trong chương trình b Cửa sổ Immediate

Cửa sổ này cho phép ta xem các giá trị của các biến trong form khi chạy gỡ lỗi

Từ đó phát hiện ra các đối tượng gây lỗi c Cửa sổ Watch

Hiển thị giá trị của biến, thuộc tính hoặc biểu thức bất kỳ và có khả năng tạm ngưng chương trình sau một số lần lặp Điều này cho phép người dùng theo dõi từng dòng của chương trình một cách chi tiết.

Thứ tự nút bấm từ trái sang phải như sau:

 Start: thi hành chương trình

 Break: tạm dừng chương trình

 End: Kết thúc chương trình

Breakpoint là điểm đánh dấu trong dòng lệnh giúp tạm dừng chương trình Nút này cho phép bật tắt chế độ breakpoint, rất hữu ích khi gặp lỗi mà chưa xác định được khu vực nghi ngờ Sử dụng Breakpoint là giải pháp hiệu quả để cô lập vùng chương trình bị lỗi.

 Step Into: Nếu dòng lệnh hiện hành đang gọi một thủ tục, nhấn F8 sẽ nhảy vào bên trong thủ tục

 Step Over: Nếu dòng lệnh hiện hành đang gọi một thủ tục, nhấn Shipt-

F8 sẽ chạy qua thủ tục

 Step Out: Nếu điểm dừng đang ở trong một thủ tục, nhấn Ctrl-Shift-F8 sẽ chạy hết thủ tục và dừng ở dòng kế tiếp sau lệnh gọi thủ tục

LệnhOn Error dùng trong hàm hay thủ tục báo cho Visual basic biết cách xử lý khi lỗi xảy ra

 On Error GoTo :sử dụng thuật bẫy lỗi để có thể kiểm soát được lỗi. là tên thủ tục xử lý lỗi được gọi đến

 On Error Goto 0 : tắt xử lý lỗi

 On Error Resume next : bỏ qua lỗi, trả chương trình về dòng lệnh ngay sau dòng lệnh sinh lỗi.

Biến kiểu đối tượng

Biến đối tượng là biến dùng để chỉ một loại đối tượng như CSDL, bộ các mẫu tin, biểu mẫu, điều khiển Có hai loại biến đối tượng:

− ðối tượng có sẵn, khi dùng không cần phải khai báo

− ðối tượng không có sẵn, khi dùng phải khai báo

Mỗi đối tượng gồm có các phương thức và thuộc tính, để truy xuất đến các phương thức và thuộc tính của đối tượng ta dùng cú pháp:

.

6.1 Các đối tượng có sẵn

1 Application: Dùng để thực hiện các công việc liên quan đến ứng dụng a) Các phương thức của Application:

− SetOption: thiết lập các tùy chọn trong cửa sổ Options

Ví dụ: Thiết lập mục tùy chọn của trang Edit/Find mục conFirm

Application.SetOption “Confirm record changes “, False

Application.SetOption “Confirm document deletions”, 0

Cú pháp: Application.Quit = QuitType

∗ acSave: Tự động lưu tất cả các đối tượng không cần hỏi

∗ acPrompt: Trước khi thoát, hiển thị hộp thoại hỏi người dùng có lưu những thay đổi không

∗ acExit: Thoát và không lưu b) Các thuộc tính của Application:

− MenuBar: dùng để tạo thanh menu cho chương trình

Cú pháp: Application.MenuBar = MenuName

2 Docmd: Dùng để thực hiện những công việc thông thường trong access bằng ngôn ngữ VB như mở form, mở report, query, lọc dữ liệu, thi hành macro, a) Các phương thức của Docmd:

− Close: Dùng để đóng đối tượng

DoCmd.Close [ObjectType], [ObjectName], [SaveOption]

− ObjectType: kiểu đối tượng cần đóng acForrm: Ðóng form acReport: Ðóng report acQuery: Ðóng query acTable: Ðóng bảng

− ObjectName: Tên đối tượng cần đóng

− SaveOption: Tùy chọn lưu hoặc không lưu khi đóng đối tượng

SavePromt: Hiển thị hộp thoại nhắc lưu nếu có sự thay đổi

DoCmd.Close acForm, "frmHoadon", acSaveNo

− OpenForm: Mở form và thiết lập môi trường làm việc cho form

− ObjectName: tên form muốm mở − ViewMode: chế độ mở acDesign: mở form để thiết kế acNormal:mở form để thao tác

− FilterName: Mở form để lọc

− WhereCondition: điều kiện giới hạn dữ liệu

− DataMode: thiết lập chế độ dữ liệu trên form

− WindowsMode: thiết lập kiểu cửa sổ của form: acDialog: Kiểu hộp thoại acWindowsNormal Kiểu cửa sổ bình thường

DoCmd.OpenForm "frmLapHoaDon", , ,"hoadonID = 'HÐ0035'

− OpenReport: Mở report và thiết lập môi trường làm việc cho report

− ObjectName – tên Report − ViewMode: Chế độ mở acDesign: Mở report ở chế độ thiết kế acNormal: Mở Report để thi hành

− WhereCondition: ðiều kiện giới hạn dữ liệu nguồn

− DataMode: thiết lập chế độ dữ liệu trên Report − WindowsMode: thiết lập kiểu cửa sổ report: acDialog: Kiểu hộp thoại

95 acWindowsNormal: Kiểu cửa sổ bình thường

DoCmd.OpenReport "rptHoadon", , ,"hoadonID= '" + txtHoadonID + "'"

− GotoRecord: Di chuyển giữa các record

The ObjectName refers to the name of the object in question The Record commands include acFirst for moving to the first record, acLast for navigating to the last record, acNewRec for transitioning to a new record, acNext for proceeding to the next record, and acPrevious for returning to the previous record.

− QuitType: kiểu thoát acQuitPrompt: Hiển thị hộp thoại nhắc lưu nếu có sự thay đổi trước khi thoát acQuitSaveAll: thoát và lưu tất cả acQuitSaveNone: thoát và không lưu

− RunSQL: thực thi câu lệnh SQL

DoCmd.RunSQL "UPDATE canbo SET luongchinh

6.2 ðối tượng không có sẵn:

1 Database: là thành phần chứa Table hay query ðể sử dụng đối tượng Database phải khai báo trước

2 Recordset: Truy xuất đến các record trong table hoặc query trong cơ sở dữ liệu

Set BienRecordset BienDataBase.OpenRecordset(Table/Query, loại)

− Table/Query: chỉ các table/query làm dữ liệu nguồn cho biến recordset

− Loại: chỉ loại dữ liệu nguồn có 3 loại

+ DBOpenTable: dữ liệu nguồn là table, loại biến này hỗ trợ hầu hết các tác vụ trên bảng dữ liệu với tình trạng cập nhật mới nhất

+ DBOpenDynaset: dữ liệu nguồn là table hoặc là query, hỗ trợ cho tác cụ Find

+ DBOpenSnap: tương tự như DBOpenDynaset nhưng không cho thay đổi dữ liệu a) Phương thức của Recordset

− MoveFirst, MovePrevious, MoveNext, MoveNext: di chuyển giữa các record

− AddNew: Thêm một record mới

− FindFirst/FindPrevious/FindNext/FindNext : tìm một record theo điều kiện cho trước

+ : viết theo cú pháp sau:

Nếu có nhiều điều kiện thì viết theo cú pháp sau: “Tên Field=’ ” & Giá trị 1&” ‘And Giá trị 2=” ’ “

+ Giá trị 1, giá trị 2 có thể là tên biến, hoặc hằng, hoặc nhãn…

− Edit, Update: Chỉnh sửa và cập nhật dữ liệu, hai phương thức này luôn đi kèm nhau

− EOF/BOF: kiểm tra vị trí của record b) Thuộc tính

− RecordCount: ðếm số record có trong biến recordset.

Cấu trúc điều khiển

7.1 Cấu trúc If…Then…Else

Lệnh If…Then…Else để thực hiện lệnh dựa vào giá trị của biểu thức điều kiện

If Then []

[ElseIf Then []]

If Then [Else ]

If so Mod 2 = 0 Then Msgbox “Số chẵn !” Else

[Case []]

Ví dụ: Select Case so

Case 1 thang = "Janualy" Case 2 thang = "February" Case 3 thang "March" Case 4 thang = "April" Case 5 thang = "May" Case 6 thang

= "June" Case 7 thang = "July" Case 8 thang = "August" Case 9 thang = "September" Case 10 thang = "October"

Case 11 thang = "November" Case 12 thang = "December" Case Else thang = "Không xác định" End Select

For = To [Step ]

− là biến kiểu số nguyên

− , < giá trị 2> là các giá trị mà biến chạy sẽ nhận và thực hiện dịch chuyển sau mỗi lần lặp

Trong trường hợp đặc biệt, khi gặp lệnh Exit For trong vòng lặp, chương trình sẽ ngay lập tức thoát khỏi vòng lặp và tiếp tục thực hiện lệnh ngay sau từ khóa Next.

Dim i As Byte Dim tong As Integer tong = 0 For i = 1 To 50 tong = tong +i Next Msgbox tong

7.4 Cấu trúc For Each…Next

For Each item In group []

[] Loop Hoặc Do

Lệnh Function dùng để khai báo một hàm mới

Function ([])As

Ngày đăng: 23/12/2023, 10:46

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN