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