SOAN GIANG LY THUYET ACCESS-CHUNG CHI B

Chia sẻ bởi Phan Thi Minh Tam | Ngày 08/10/2018 | 53

Chia sẻ tài liệu: SOAN GIANG LY THUYET ACCESS-CHUNG CHI B thuộc Toán học 1

Nội dung tài liệu:

1
Mở đầu
Query
Table
Microsoft Access 2003
Nội dung
 Mở đầu: Giới thiệu về Microsoft Access
 Bảng (Table)
 Truy vấn dữ liệu (Query)
 Làm việc với mẫu biểu (Form) - Command Button
 Báo biểu (Report)
 Macro - Menu
Form
Report
Macro
2
I. Giới thiệu
Access là một hệ quản trị cơ sở dữ liệu mạnh chạy trên môi trường Windows
Access 2003 là một phần trong bộ chương trình Microsoft Office 2003 được dùng rất rộng rãi hiện nay
Access cho phép người sử dụng quản lý, bảo trì, khai thác, lưu trữ số liệu một cách có tổ chức trên máy tính
Với Access, người sử dụng không cần viết từng câu lệnh như Pascal, Foxpro, C... mà chỉ tổ chức dữ liệu và thiết kế các yêu cầu, công việc cần giải quyết
Query
Table
Mở đầu
Chương I: Giới thiệu về Microsoft Access 2003
Form
Report
Macro
3
II. Các khái niệm cơ bản
Cơ sở dữ liệu (Database): là tập hợp các dữ liệu phục vụ cho một mục đích, bài toán cụ thể. Ví dụ như CSDL cho bài taosn quản lý lương, bài toán Quản lý sinh viên…
Cơ sở dữ liệu quan hệ (Relational Database): Dữ liệu được tổ chức thành các bảng hai chiều.
* Chiều dọc: là tập hợp các đặc điểm của đối tượng cần quản lý (gọi là trường- Field)
Vd: Sinh viên (tên, ngày sinh, lớp, điểm)
Mặt hàng (tên hàng, số lượng, đơn giá,...)
* Chiều ngang: là giá trị của các trường (các bản ghi - Record)
Vd: (Nguyễn Văn An, 12/5/1970, K98T, 8)
Query
Table
Mở đầu
Form
Report
Macro
4
Table (bảng): là thành phần cơ bản của CSDL, nó cho phép lưu trữ dữ liệu phục vụ công tác quản lý. Các bảng trong một CSDL thường có mối quan hệ với nhau
Query (truy vấn): là công cụ dùng để tính toán các trường không cần lưu trữ (điểmTB, thành tiền), sắp xếp, tìm kiếm, tổng hợp dữ liệu
Đối với Access, cơ sở dữ liệu (CSDL) bao gồm:
II. Các khái niệm cơ bản
Mở đầu
Query
Table
Form
Report
Macro
5
II. Các khái niệm cơ bản
Form (Biểu mẫu): cho xây dựng các biểu mẫu nhập số liệu như trong thực tế, giúp NSD thực hiện việc nhập, xuất phong phú, không đơn điệu như nhập xuất trên Table hay Query
Report (Báo biểu): cho in ấn với các khả năng
In dữ liệu dưới dạng bảng biểu
Sắp xếp dữ liệu trước khi in
In dữ liệu có quan hệ trên một báo cáo
Macro (tập lệnh): là một tập hợp các lệnh nhằm thực hiện các thao tác thường gặp. Khi gọi một Macro, Access sẽ cho thực hiện một dãy các lệnh tương ứng đã qui định
Module (đơn thể): là một dạng tự động hoá chuyên sâu hơn Macro. Đó là những hàm riêng của NSD được viết bằng ngôn ngữ Access Basic
Tập tin chương trình do Access tạo ra có đuôi là .MDB
Query
Table
Mở đầu
Form
Report
Macro
6
III. Khởi động, thoát
Khởi động: Chọn Start / Program / Microsoft Access hoặc chọn biểu tượng Microsoft Access (hình chìa khoá) trên màn hình nền hay trên thanh công cụ (nếu có), xuất hiện màn hình sau:
Query
Table
Mở đầu
Form
Report
Macro
7
III. Khởi động, thoát
Create a new database using
Blank Access database: tạo một CSDL mới
Access database wizards, pages, and projects: tạo một CSDL mới với các dạng có sẵn của Access
Open an Existing Database: mở một CSDL đã có
Sau khi chọn một trong ba mục trên, chọn OK
Nếu không thực hiện các chọn lựa trên thì chọn Cancel để vào thẳng màn hình Access
Thoát: chọn lệnh File / Exit (Alt+F4)
Nếu chưa lưu dữ liệu trước khi thoát sẽ có thông báo
Query
Table
Mở đầu
Form
Report
Macro
8
Gồm các thao tác:
Mở đầu
Query
Table
Tạo bảng mới, nhập dữ liệu vào bảng
Thiết lập quan hệ giữa các bảng
Sử dụng thuộc tính của trường để trình bày dạng dữ liệu , kiểm tra tính hợp lệ của trường khi cập nhật
Chương II : Bảng (Table)
Form
Report
Macro
9
I. Tạo cấu trúc của bảng
Khởi động Access, trong hộp thoại MS Access, chọn Blank Access Database, OK
Từ cửa sổ Database, chọn Table /New, xuất hiện hộp thoại New Table cho phép chọn cách tạo Table:
Xuất hiện hộp thoại File New Database
Gõ tên CSDL, chọn Create, xuất hiện cửa sổ Database
Mở đầu
Query
Table
Form
Report
Macro
10
I. Tạo cấu trúc của bảng
1. Tạo bảng bằng Table Wizard
Cho tạo bảng theo các mẫu có sẵn của Access
Bước 1: trong hộp thoại New Table, chọn Table Wizard, OK.
Bước 2: chọn tên Table, tên trường theo mẫu có sẵn của Access và sửa đổi lại theo yêu cầu của thực tế. Chọn Next để thực hiện các công việc kế tiếp như sửa tên Table,... sau cùng là chọn Finish
Mở đầu
Query
Table
Form
Report
Macro
11
I. Tạo cấu trúc của bảng
2. Tạo bảng bằng Datasheet View
Cho tạo bảng theo cách sử dụng một mẫu cho trước, Access dựa vào đó để tạo các Table
Bước 1: trong hộp thoại New Table, chọn Datasheet View, OK. Xuất hiện cửa sổ MS Access
Mở đầu
Query
Table
Form
Report
Macro
12
I. Tạo cấu trúc của bảng
2. Tạo bảng bằng Datasheet View
Bước 2: Nhập nội dung vào bảng
Vd: để tạo bảng lưu trữ điểm sinh viên
Thay đổi tên trường: đứng trong trường, chọn Format / Rename Column hoặc nhắp phải chuột ở tên Field, chọn Rename Column
Nhập dữ liệu vào bảng như trong Excel
Mở đầu
Query
Table
Form
Report
Macro
13
I. Tạo cấu trúc của bảng
2. Tạo bảng bằng Datasheet View
Bước 3: Lưu bảng. Chọn File / Save, xuất hiện hộp thoại
Table Name: gõ tên bảng, OK
Access sẽ hỏi có đặt khoá không, bạn chọn No
Bước 4: Đóng bảng, chọn File / Close.
Mở đầu
Query
Table
Form
Report
Macro
14
I. Tạo cấu trúc của bảng
3. Tạo bảng bằng Design View
Cho tạo bảng theo nhu cầu của NSD
Trong hộp thoại New Table, chọn Design View, OK. Cửa sổ định nghĩa cấu trúc bảng có các phần
Mở đầu
Query
Table
Form
Report
Macro
15
I. Tạo cấu trúc của bảng
3. Tạo bảng bằng Design View
Bước 1: Khai báo tên trường (Field name): bắt buộc, đặt tuỳ ý (<=64 ký tự), có thể có khoảng trống
Bước 2: Khai báo kiểu dữ liệu (Data type) tương ứng của trường: bắt buộc. Chọn một trong các kiểu
Mở đầu
Query
Table
Form
Report
Macro
16
I. Tạo cấu trúc của bảng
3. Tạo bảng bằng Design View
Bước 3: Field properties: tương ứng với mỗi kiểu dữ liệu, khai báo thêm các thuộc tính, gồm thuộc tính chung (General) và thuộc tính nhập số liệu (Lookup)
Mở đầu
Query
Table
Bước 4: Sau khi thiết kế xong cấu trúc bảng, ghi lên đĩa bằng một trong các cách
Chọn lệnh File / Save (Ctrl+S hoặc biểu tượng Save)
Hoặc đóng cửa sổ Table, Access sẽ hỏi có lưu không, chọn Yes để lưu.
Form
Report
Macro
17
I. Tạo cấu trúc của bảng
3. Tạo bảng bằng Design View
Nếu chưa tạo khoá chính (Primary Key), Access sẽ hỏi có tạo không
No: cấu trúc bảng được ghi như thiết kế
Yes: Access tự thêm trường có tên ID làm khoá chinh
Gõ tên bảng vào mục Table Name
Mở đầu
Query
Table
Bạn nên chọn No
Form
Report
Macro
18
3. Tạo bảng bằng Design View
Trong cửa sổ Database, chọn trang Table
Chọn tên bảng cần nhập, chọn Open
Trang Table
Bảng cần nhập
Chọn Open
Nhập dữ liệu
Mở đầu
Query
Table
Bước 5: nhập dữ liệu cho bảng
Form
Report
Macro
19
II. Giới thiệu các thuộc tính của trường
1. Công dụng:
Điều khiển hình thức thể hiện dữ liệu
Nhập dữ liệu theo mẫu
Kiểm tra dữ liệu, ngăn cản việc nhập sai
Tăng tốc độ tìm kiếm
Mở đầu
Query
Table
Form
Report
Macro
20
II. Giới thiệu các thuộc tính của trường
2. Tổng quan về các thuộc tính của trường
Mở đầu
Query
Table
Form
Report
Macro
21
II. Giới thiệu các thuộc tính của trường
3. Chi tiết về các thuộc tính của trường
Thuộc tính Field Size
Trường Number
Mở đầu
Query
Table
Có thể chọn các kiểu sau
Thuộc tính Format
Trường Text
Form
Report
Macro
22
II. Giới thiệu các thuộc tính của trường
3. Chi tiết về các thuộc tính của trường
Thuộc tính Format
Trường Number
Mở đầu
Query
Table
Trường Date / Time: thường chọn kiểu Short Date
Form
Report
Macro
23
II. Giới thiệu các thuộc tính của trường
3. Chi tiết về các thuộc tính của trường
Thuộc tính Input Mask (mặt nạ nhập liệu)
Công dụng
Tạo khuôn dạng nhập liệu cho dễ nhìn. Vd: dấu ngăn cách phần nguyên và thập phân, dấu gạch ngang để phân cách các cụm ký tự của tài khoản
Kiểm tra tính hợp lệ của ký tự gõ vào. (Vd nếu qui định là chữ số thì Access sẽ không nhận các ký tự không phải là chữ số)
Tự động biến đổi các ký tự được nhập (Vd từ chữ thường sang chữ hoa)
Che giấu thông tin đưa vào (Vd khi ta dùng Password)
Mở đầu
Query
Table
Form
Report
Macro
24
II. Giới thiệu các thuộc tính của trường
3. Chi tiết về các thuộc tính của trường
Thuộc tính Input Mask (mặt nạ nhập liệu)
Vd1: để nhập số điện thoại dạng Text theo mẫu:
0-511-810425
ta dùng mặt nạ
0-000-000000
Vd2: để nhập điểm thi chứa hai chữ số phần nguyên, một chữ số phần thập phân ta dùng mặt nạ
00.0
Mở đầu
Query
Table
Form
Report
Macro
25
II. Giới thiệu các thuộc tính của trường
3. Chi tiết về các thuộc tính của trường
Thuộc tính Default Value
Dùng để đặt giá trị mặc định cho trường. Giá trị mặc định này có thể là một hằng hay một hàm của Access.
Ví dụ: Date(): ngày hiện hành
Thuộc tính Required
Nếu chọn Yes, bắt buộc phải nhập dữ liệu vào, nếu không máy sẽ báo lỗi
Mở đầu
Query
Table
Thuộc tính Validation Rule
Công dụng: Access tự động kiểm tra tính hợp lệ khi nhập liệu. Muốn chương trình kiểm tra, trong biểu thức này, ta đặt một biểu thức hợp lệ. Ví dụ: >0 (Số lượng phải >0)
Form
Report
Macro
26
II. Giới thiệu các thuộc tính của trường
3. Chi tiết về các thuộc tính của trường
Thuộc tính Allow Zero Length
Công dụng: Nếu chọn Yes, sẽ cho phép các trường Text và Memo nhận các chuỗi rỗng
Mở đầu
Query
Table
Thuộc tính Indexed
Công dụng: sắp xếp một trường nào đó. Thuộc tính nhận các giá trị sau:
Form
Report
Macro
27
III. Tạo Combo box cho trường (Lookup Wizard)
1. Khái niệm
Là cách tạo trường mà giá trị nhập vào được chọn từ danh sách các trị. Danh sách này được liệt kê trong danh sách đổ xuống (Combo box)
2. Cách tạo: Ví dụ minh họa
Yêu cầu
Giả sử có Table Danh muc nganh thi có cấu trúc và nội dung:
Ta cần tạo Table Danh sach thi sinh có cấu trúc như sau:
Mở đầu
Query
Table
Form
Report
Macro
28
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
Trường Manganh khi nhập liệu, các giá trị được chọn từ danh sách các trị
Cách thực hiện
Bước 1:Tại cửa sổ thiết kế Table, khi tạo trường Manganh, ở cột Data Type, chọn Lookup Wizard..., xuất hiện hộp thoại Lookup Wizard:
Mở đầu
Query
Table
Form
Report
Macro
29
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
(2) Chọn I will type in the values that I want: nếu muốn giá trị trong danh sách do người sử dụng tự đưa vào
Chọn (1), Access sẽ yêu cầu chọn một Table hay Query làm nguồn. Chọn Next, xuất hiện hộp đối thoại:
(1) Chọn I want the lookup column to look up the values in a table or query: nếu muốn giá trị trong danh sách được lấy từ table hay query
Mở đầu
Query
Table
Form
Report
Macro
30
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
Bước 2: Ở đây, ta chọn Table Danh muc nganh thi, chọn Next, xuất hiện hộp đối thoại:
Mở đầu
Query
Table
Form
Report
Macro
31
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
Bước 3:
Available Fields: liệt kê các trường có trong Table
Chọn Next, xuất hiện hộp đối thoại sau:
Mở đầu
Query
Table
Chọn trường phù hợp rồi kích nút > để đưa sang danh sách Selected Fields. Ở đây ta chọn trường Manganh
Form
Report
Macro
32
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
Bước 4:
Chọn Next, xuất hiện hộp đối thoại sau:
Chọn Finish để hoàn thành quá trình
Mở đầu
Query
Table
Form
Report
Macro
33
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
Mở table Danh sach thi sinh để nhập liệu, bạn sẽ thấy rằng, tại trường Manganh, một danh sách đổ xuống cho bạn chọn mã ngành
Mở đầu
Query
Table
Form
Report
Macro
34
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
Chọn (2) để tự nhập vào các giá trị trong Combo box. Chọn Next, xuất hiện hộp đối thoại:
Lần lượt nhập vào các giá trị trong Col1, (giả sử trong bảng DS Nhan vien) như sau:
Mở đầu
Query
Table
Form
Report
Macro
35
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
Chọn Next để sang bước tiếp theo, xuất hiện hộp thoại:
Chọn Finish để hoàn thành
Mở đầu
Query
Table
Form
Report
Macro
36
III. Tạo Combo box cho trường (Lookup Wizard)
2. Cách tạo: Ví dụ minh họa
Kết quả khi mở bảng DS Nhan vien để nhập liệu, bạn sẽ thấy rằng, tại trường Phòng ban, một danh sách đổ xuống cho bạn chọn tên phòng ban. Các tên này do ta tự nhập vào trong các bước trên
Mở đầu
Query
Table
Form
Report
Macro
37
IV. Khoá chính
1. Định nghĩa
Khoá chính là một hoặc nhiều trường xác định duy nhất một bản ghi
Lợi ích của việc tạo khoá chính: Access dùng khoá chính để tạo sự liên kết giữa các bảng
Mở đầu
Query
Table
Form
Report
Macro
38
IV. Khoá chính
2. Cách đặt khoá chính:
một trường: đưa con trỏ chuột đến dòng chứa tên trường cần chọn làm mục khoá chính
kết hợp của nhiều trường: nhấn giữ phím Shift sau đó chọn tất cả các trường cần chọn làm mục khoá chính
Tại cửa sổ thiết kế Table: Nếu mục khoá chính là
Primary Key
Mở đầu
Query
Table
Form
Report
Macro
39
IV. Khoá chính
3. Huỷ khoá chính: Tại cửa sổ thiết kế Table
Mở đầu
Query
Table
Form
Report
Macro
40
V. Lập quan hệ giữa các bảng
1. Công dụng
Access dùng quan hệ để đảm bảo những ràng buộc toàn vẹn giữa các bảng liên quan trong các phép: thêm, sửa, xoá mẩu tin
Ta thường đặt quan hệ giữa một trường của bảng này với một trường của các bảng khác để liên kết dữ liệu giữa các bảng với nhau (các trường quan hệ cùng tên, cùng kiểu)
Mở đầu
Query
Table
Form
Report
Macro
41
V. Lập quan hệ giữa các bảng
2. Cách tạo
Giả sử trong CSDL Vat tu hang hoa ta có 3 bảng với cấu trúc:
Ta sẽ lập quan hệ cho trường Makho trong bảng [Danh muc kho] và trường Mavattu trong bảng [Danh muc vat tu] với hai trường Makho và Mavattu trong bảng [Hang nhap]
Mở đầu
Query
Table
Form
Report
Macro
42
V. Lập quan hệ giữa các bảng
2. Cách tạo
Tại cửa sổ Database (1), chọn lệnh Tools / Relationships, xuất hiện màn hình Show Table (Nếu không xuất hiện, chọn lệnh View/Show Table):
1
Lần lượt chọn Table cần lập quan hệ, chọn Add. Sau khi chọn xong tất cả Table, chọn Close để đóng hộp thoại
Mở đầu
Query
Table
Form
Report
Macro
43
V. Lập quan hệ giữa các bảng
2. Cách tạo
Trong cửa sổ Relationships, ta thiết lập các quan hệ. Có hai loại quan hệ trong Access
Quan hệ một-một: mỗi mẩu tin của bảng A có một mẩu tin tương ứng trong bảng B
Quan hệ một-nhiều: mỗi mẩu tin của bảng A có nhiều mẩu tin tương ứng trong bảng B
Mở đầu
Query
Table
Form
Report
Macro
44
V. Lập quan hệ giữa các bảng
2. Cách tạo
Chọn một trường từ bảng này và kéo sang trường tương ứng của bảng quan hệ. Giả sử ta thiết lập quan hệ cho trường Makho trong bảng [Danh muc kho] và bảng [Hang nhap], xuất hiện hộp thoại Edit Relationships
Chọn nút Create để thiết lập quan hệ, cuối cùng có kết quả sau:
Mở đầu
Query
Table
Chọn một kiểu quan hệ
Form
Report
Macro
45
V. Lập quan hệ giữa các bảng
3. Chú ý
Khi đã đánh dấu mục Enforce Referential Integrity thì có thể sử dụng thêm các tuỳ chọn sau
Cascade Update Related Fields: khi sửa giá trị của trường khoá trong bảng chính, giá trị tương ứng của các bản ghi trong trường quan hệ sẽ bị sửa theo (Vd: khi thay đổi manhanvien trong bảng [Danh sach nhan vien] thì manhanvien tương ứng trong bảng [Ngoai ngu] cũng thay đổi theo
Cascade Delete Related Records: khi xoá một bản ghi trong bảng chính, các bản ghi tương ứng trong bảng quan hệ sẽ xoá (Vd: khi xoá một bản ghi trong bảng [Danh sach nhan vien] thì các bản ghi tương ứng trong bảng [Ngoai ngu] cũng bị xoá theo
Mở đầu
Query
Table
Form
Report
Macro
46
VI. Các thao tác dữ liệu ở chế độ Datasheet
1. Thêm mẩu tin
2. Xoá mẩu tin
Chọn các mẩu tin cần xoá
Chú ý: Khi xoá mẩu tin, Access sẽ đưa ra thông báo để NSD xác nhận lại có xoá hay không
Mở đầu
Query
Table
Form
Report
Macro
47
VI. Các thao tác dữ liệu ở chế độ Datasheet
3. Sắp xếp mẩu tin
Chọn trường cần sắp xếp
Mở đầu
Query
Table
Form
Report
Macro
48
VI. Các thao tác dữ liệu ở chế độ Datasheet
4. Lọc bản ghi
Chọn lệnh Records / Filter / Filter By Form, xuất hiện hộp thoại Filter By Form như sau:
Muốn lọc trường nào, ta bấm chuột vào trường đó, chọn giá trị làm điều kiện để lọc
Nhắp phải chuột, chọn Apply Filter/Sort: Access sẽ liệt kê các bản ghi thoả mãn điều kiện
Mở đầu
Query
Table
Form
Report
Macro
49
Truy vấn là một công cụ mạnh của Access dùng để: tổng hợp, sắp xếp và tìm kiếm dữ liệu
Table
Truy vấn cho phép NSD thống kê số liệu (truy vấn dữ liệu) theo ý mình, xây dựng các báo cáo tổng hợp dưới nhiều hình thức khác nhau trên dữ liệu gốc là bảng (Table)
I. Khái niệm
Chương III : Truy vấn dữ liệu (Query)
Query
Mở đầu
Form
Report
Macro
50
II. Các loại truy vấn thông dụng : Có nhiều loại truy vấn, nhưng thông dụng nhất là các loại sau:
1. Select Query (Truy vấn chọn số liệu): được sử dụng phổ biến nhất, dùng để:
Chọn lọc các mẩu tin
Thêm các trường mới là kết quả thực hiện các phép tính trên các trường của bảng nguồn.
Đưa vào các điều kiện tìm kiếm, lựa chọn
Table
Query
Mở đầu
Form
Report
Macro
2. Update Query (Truy vấn cập nhật): dùng để sửa đổi đồng loạt nhiều mẩu tin của một hay nhiều bảng
51
II. Các loại truy vấn thông dụng
3. Delete Query (Truy vấn xoá số liệu): xoá một nhóm các mẩu tin từ một hay nhiều bảng
4. Crosstab Query (Truy vấn tham chiếu chéo): kết nhóm số liệu theo chủng loại và hiển thị số liệu dưới hình thức của một bảng tính kèm theo số liệu tổng hợp ngang và dọc
Table
Query
Mở đầu
Form
Report
Macro
6. Make Table Query (Truy vấn tạo bảng ): cho tạo một bảng mới từ số liệu của Query
5. Append Query (Truy vấn thêm): Dùng để thêm (nối) các bảng ghi vào phần cuối của một bảng.
52
III. Cách tạo truy vấn
Thường dùng hai cách tạo truy vấn ứng với hai lựa chọn:
in Design view và by using wizard
By using wizard: truy vấn được xây dựng bằng công cụ wizard của Access, ta chỉ việc trả lời các câu hỏi theo yêu cầu
In Design view: truy vấn được thiết kế tuỳ theo mục đích của người sử dụng. Ta thường chọn cách này. Cách thực hiện như sau:
Table
Query
Mở đầu
Form
Report
Macro
53
III. Cách tạo truy vấn
Bước 1: Trong cửa sổ Database, chọn trang Queries, chọn nút New, hộp thoại New Query xuất hiện
Trang Queries
Nút New
Cửa sổ Database
Chọn Design View, OK, xuất hiện cửa sổ như sau
Table
Query
Mở đầu
Form
Report
Macro
54
III. Cách tạo truy vấn
Table
Query
Mở đầu
Bước 2: chọn nguồn dữ liệu cho truy vấn
Cửa sổ Show Table cho chọn các bảng (Tables), các truy vấn (Queries) hoặc chọn cả bảng và truy vấn để làm nguồn dữ liệu cho truy vấn sắp tạo
Chọn nguồn dữ liệu phù hợp, chọn Add. Sau khi chọn xong tất cả, chọn Close để trở về cửa sổ Select Query
Form
Report
Macro
55
III. Cách tạo truy vấn
Table
Query
Mở đầu
 Mô tả cửa sổ Select Query
Phần trên: chứa các bảng và truy vấn đã chọn làm nguồn
Phần dưới: gọi là lưới thiết kế QBE (Query By Example) dùng chứa các trường của truy vấn mới cần xây dựng
Form
Report
Macro
56
III. Cách tạo truy vấn
Table
Query
Mở đầu
 Mô tả cửa sổ Select Query
Field: chứa tên trường hoặc biểu thức làm kết quả truy vấn
Table: ghi tên nguồn dữ liệu của trường được chọn tại dòng field
Sort: chọn cách sắp xếp dữ liệu của trường
Criteria: biểu thức tiêu chuẩn chọn lọc dữ liệu
Show: chọn trường có hiển thị hay không
Or: điều kiện hoặc của biểu thức tiêu chuẩn chọn lọc dữ liệu (nếu có)
Form
Report
Macro
57
III. Cách tạo truy vấn
Table
Query
Mở đầu
Bước 3: Thiết kế truy vấn theo yêu cầu
Đưa các trường vào truy vấn: nhấn giữ chuột kéo trường thích hợp thả vào cột của lưới thiết kế, hoặc nhắp đúp tại tên trường
 Ghi chú: Cách thêm trường biểu thức:
Chọn một ô trống trên hàng Field, gõ tên trường biểu thức, dấu : (hai chấm), biểu thức.
Ví dụ: Tongdiem: [Diemtoan]+[Diemly]+[Diemhoa]
Bước 4: Lập tiêu chuẩn lựa chọn (điều kiện tìm kiếm)
Trong ô Criteria của trường cần lập biểu thức, gõ biểu thức
Ví dụ: gõ vào L1C (tìm khách ở loại phòng L1C)
Lưu truy vấn vừa tạo : Gọi lệnh File / Save
Form
Report
Macro
58
III. Cách tạo truy vấn
Table
Query
Mở đầu
 Ghi chú: Thay đổi loại truy vấn
Chọn lệnh Query, chọn trong danh sách loại Query phù hợp
Chọn loại Query
Form
Report
Macro
59
IV. Thực hiện truy vấn
Table
Query
Mở đầu
Trong cửa sổ thiết kế truy vấn
Hoặc chọn Design View
IV. Thực hiện truy vấn
Form
Report
Macro
60
V. Hiệu chỉnh truy vấn
Table
Query
Mở đầu
Trong cửa sổ Database, chọn tên truy vấn, chọn nút Design để mở cửa sổ thiết kế. Thực hiện hiệu chỉnh theo yêu cầu
nút Design
Form
Report
Macro
61
VI. Điều kiện trong truy vấn: khi thiết kế truy vấn và thiết lập biểu thức điều kiện, có thể sử dụng
Toán tử toán học
+, -, *, /, luỹ thừa (^)
Thương số nguyên (chia lấy phần nguyên): /
Số dư (chia lấy phần dư): Mod
Toán tử logic
Not: cho kết quả ngược lại (Not đúng= sai, Not sai= đúng)
And (và): cho kết quả đúng khi tất cả điều kiện đúng, nếu một điều kiện nào đó sai thì cho kết quả sai
Or (hoặc): cho kết quả đúng khi có ít nhất một điều kiện đúng, nếu tất cả điều kiện sai thì cho kết quả sai
Table
Query
Mở đầu
Form
Report
Macro
62
VI. Điều kiện trong truy vấn
Toán tử so sánh
<, <=, >, >=, =, <> (không bằng)
Toán tử so sánh đặc biệt
Between ... And ... (Nằm trong khoảng)
Like (gần giống):
Vd: [slg] Between 150 And 200
(*) Tổ hợp bất kỳ - “Anh Ban” Like “*B*”
(?) Ký tự bất kỳ - “Access” Like “???e*”
(#) Ký số bất kỳ - 2001 Like “##0#”: True
Table
Query
Mở đầu
Form
Report
Macro
63
VI. Điều kiện trong truy vấn
Toán tử so sánh đặc biệt
Null, Not null: kiểm tra dữ liệu đã có hay chưa
Vd: Để tìm các thí sinh thiếu Ngày sinh, ta đưa giá trị Null vào ô Criteria của trường [Namsinh]
Table
Query
Mở đầu
Vd: Để tìm các khách hàng đã có địa chỉ, ta đưa giá trị Not null vào ô Criteria của trường [Diachi]
Form
Report
Macro
64
VI. Điều kiện trong truy vấn
Toán tử ghép nối
& (nối chuỗi)
“Đà” & “ Nẵng”: “Đà Nẵng”
+ (cộng với)
100 & “năm cô đơn”: 100 năm cô đơn
123 + 456 : 579
“Con thuyền” + “không bến”: Con thuyền không bến
1001 + “đêm” : Type mismatch (kết quả sai)
123 & 456: 123456
Date() & “Nhâm Ngọ”: 14/6/2002 Nhâm Ngọ
“Vĩ tuyến” & 90/2 & “ngày đêm”: Vĩ tuyến 45 ngày đêm
Table
Query
Mở đầu
Form
Report
Macro
65
VI. Điều kiện trong truy vấn
Hằng trị (constants)
True/ False/ Null: hằng trị đúng/ sai/ rỗng
Dấu rào (Delimiter)
“...”: Rào giá trị chuỗi
Vd: “43 Thanh Thuỷ - Đà Nẵng”
[ ... ] : Rào tên biến
Vd: [SoLuong] * [DonGia]
#../../..#: Rào giá trị ngày
#23/04/2000#
Table
Query
Mở đầu
Form
Report
Macro
66
VI. Điều kiện trong truy vấn
Table
Query
Mở đầu
Điều kiện cùng thoả mãn/hoặc thoả mãn
Các điều kiện viết cùng trên dòng Criteria là các điều kiện đồng thời thoả mãn
Ví dụ: để tìm các khách ở loại phòng “L1C” và đến trong tháng 6, trên dòng Criteria, ta ghi
Điều kiện ghi trên cùng 1 dòng
Kết quả
Form
Report
Macro
67
VI. Điều kiện trong truy vấn
Table
Query
Mở đầu
Các điều kiện viết trên dòng Criteria và dòng Or là các điều kiện không cần đồng thời thoả mãn
Ví dụ: để tìm các khách ở loại phòng “L1C” hoặc đến trong tháng 6, trên dòng Criteria và dòng Or, ta ghi
Kết quả
Điều kiện ghi trên dòng Criteria và dòng Or
Form
Report
Macro
68
VII. Một số hàm thông dụng
Table
Query
Mở đầu
Hàm xử lý chuỗi
Hàm LEFT, RIGHT
LEFT(Biểu thức chuỗi, n)
RIGHT(Biểu thức chuỗi, n)
Công dụng: trả về giá trị chuỗi bằng cách lấy n ký tự bên trái (LEFT) hoặc bên phải (RIGHT) của biểu thức chuỗi
Ví dụ: Trên dòng Criteria ghi: RIGHT([Mahoadon],2)=“NB”: tìm các chứng từ có 2 ký tự bên phải của Mã hoá đơn là “NB”
Hàm LEN(Biểu thức chuỗi)
Công dụng: trả về số là chiều dài của biểu thức chuỗi
Ví dụ: LEN(“TRUNGTAM”) cho kết quả là 8
Form
Report
Macro
69
VII. Một số hàm thông dụng
Table
Query
Mở đầu
Hàm thời gian
Hàm DATE( )
Công dụng: trả về ngày hiện tại của hệ thống
Hàm DAY(Biểu thức ngày)
Công dụng: trả về trị số là ngày/tháng/năm của biểu thức ngày
Hàm MONTH(Biểu thức ngày)
Hàm YEAR (Biểu thức ngày)
Ví dụ: MONTH([Ngayden])=6: Tìm các khách đến trong tháng 6
Form
Report
Macro
70
VII. Một số hàm thông dụng
Table
Query
Mở đầu
Hàm logic
Hàm IIF(điều kiện, trị 1, trị 2)
Công dụng:
Nếu điều kiện thoả mãn, hàm nhận trị 1
Nếu điều kiện không thoả mãn, hàm nhận trị 2
Ví dụ: Ban hành điều kiện cho cột Xếp loại như sau
IIF([Diem]<5,”Yếu”, IIF([Diem]<7,”Trung bình”, IIF([Diem]<8,”Khá”,”Giỏi”)))
Form
Report
Macro
71
VIII. Một số truy vấn thông dụng
Table
Query
Mở đầu
1. Truy vấn cập nhật (Update Query)
Các bước xây dựng truy vấn cập nhật
Chọn nguồn dữ liệu (các bảng hoặc truy vấn khác)
Chọn lệnh Query / Update Query, hiện thêm hàng Update to trong lưới QBE
Đặt biểu thức vào ô Update To của trường cần sửa
Ví dụ: trong hình bên, khi thực hiện Query thì đơn giá mặt hàng Gạo sẽ giảm 1000
Criteria: ghi điều kiện tương ứng
Form
Report
Macro
72
VIII. Một số truy vấn thông dụng
Table
Query
Mở đầu
2. Truy vấn xoá (Delete Query)
Chọn nguồn dữ liệu (các bảng hoặc truy vấn khác)
Chọn lệnh Query / Delete Query, hiện thêm hàng Delete trong lưới QBE
Kéo dấu * của bảng muốn xoá vào dòng Field, từ khoá From xuất hiện trên dòng Delete
Kéo trường dùng để lập điều kiện vào dòng Field, từ khoá Where xuất hiện trên dòng Delete
Ví dụ: trong hình bên, khi thực hiện Query thì các mẩu tin có Số hoá đơn là H01/KD sẽ bị xoá
Form
Report
Macro
73
VIII. Một số truy vấn thông dụng
Table
Query
Mở đầu
3. Truy vấn tạo bảng (Make Table Query)
Chọn nguồn dữ liệu (các bảng hoặc truy vấn khác)
Chọn các trường cần đưa vào bảng và kéo lần lượt vào lưới QBE
Gọi lệnh Query/ Make Table Query, xuất hiện hộp thoại Make Table như sau:
Form
Report
Macro
Table Name: gõ tên cần đặt cho bảng, OK
74
VIII. Một số truy vấn thông dụng
Table
Query
Mở đầu
3. Truy vấn tạo bảng (Make Table Query)
Cửa sổ Select Query thay đổi thành Make Table Query
Form
Report
Macro
Thực hiện Query để Access tạo bảng theo yêu cầu
Mở (cấu trúc) bảng vừa tạo để xem kết quả
75
Table
Query
Mở đầu
4. Truy vấn Crosstab
Công dụng: dùng để thống kê số liệu và trình bày kết quả theo dạng một bảng tính, với hình thức dễ đọc.
Cách thực hiện: minh hoạ thông qua ví dụ sau
Giả sử trên cơ sở của dữ liệu
Cần có thống kê số liệu như sau
Form
Report
Macro
76
Table
Query
Mở đầu
4. Truy vấn Crosstab
B1: Chọn Queries / New / Crosstab Query Wizard, xuất hiện hộp thoại
Chọn dữ liệu nguồn (từ Tables/
Queries hay cả hai
Chọn Next sang bước tiếp theo
Form
Report
Macro
77
Table
Query
Mở đầu
4. Truy vấn Crosstab
B2: Chọn trường làm tiêu đề dòng
Available Fields: chọn tên trường làm tiêu đề dòng (tối đa là 3)
Selected Fields: chứa tên các trường được chọn
Chọn Next sang bước tiếp theo
Sample: mẫu thể hiện
Form
Report
Macro
78
Table
Query
Mở đầu
4. Truy vấn Crosstab
B3: Chọn trường làm tiêu đềcột
Chọn Next sang bước tiếp theo
Form
Report
Macro
79
Table
Query
Mở đầu
4. Truy vấn Crosstab
B4: Chọn trường cần tính tại mỗi giao điểm dòng và cột
Chọn Next sang bước tiếp theo
Form
Report
Macro
80
Table
Query
Mở đầu
4. Truy vấn Crosstab
B5: Gõ tên đặt cho Query, chọn Finish để hoàn thành
Lưu ý: đối với các Table hoặc Query chứa dữ liệu được chọn làm nguồn, phải có ít nhất là 3 trường
Form
Report
Macro
81
Form là một công cụ mạnh của Access dùng để thể hiện và cập nhật dữ liệu cho các bảng, tổ chức giao diện chương trình
Table
I. Khái niệm
Chương IV : Form (Mẫu biểu)
Mở đầu
Query
Nguồn dữ liệu (nếu có) của Form là một bảng hoặc một truy vấn
Khi có nguồn dữ liệu: Form dùng để thể hiện và cập nhật dữ liệu cho các trường nguồn
Khi không có nguồn dữ liệu: Form dùng để tổ chức giao diện chương trình
Form
Report
Macro
82
Table
Mở đầu
II. Tạo Form
Có thể tạo bằng nhiều cách khác nhau như
Form Wizard: tạo theo hướng dẫn từng bước của Access
AutoForm : tự động tạo theo các kiểu cho sẵn (Columnar / Tabular / Datasheet)
Design View: NSD tự thiết kế theo ý mình
Query
Form
Report
Macro
83
Table
Mở đầu
II. Tạo Form
1. Dùng Form Wizard: tạo theo hướng dẫn từng bước của Access
Từ cửa sổ Database, chọn Forms / New, hộp thoại New Form xuất hiện
Chọn Form Wizard
Chọn nguồn dữ liệu cho Form (Table hoặc Query)
Chọn OK sang bước tiếp theo, xuất hiện hộp thoại a :
Query
Form
Report
Macro
84
Table
Mở đầu
II. Tạo Form
1. Dùng Form Wizard:
Chọn các Field phù hợp (trong mục Availables Fields), bấm nút > hoặc >> để đưa vào Selected Fields(b)
Chọn Next sang bước tiếp theo, xuất hiện hộp thoại  :
Query
Form
1a
1b
Report
Macro
85
Table
Mở đầu
II. Tạo Form
1. Dùng Form Wizard:
Chọn kiểu trình bày Form : cột, bảng...
Chọn Next sang bước tiếp theo, xuất hiện hộp thoại  :
Query
Form
2
Report
Macro
86
Table
Mở đầu
II. Tạo Form
1. Dùng Form Wizard:
Chọn một mẫu trong danh sách các mẫu cho sẵn để áp dụng cho Form
Chọn Next sang bước tiếp theo, xuất hiện hộp thoại :
Query
Form
3
Report
Macro
87
Table
Mở đầu
II. Tạo Form
1. Dùng Form Wizard:
Đặt tên cho Form
Chọn Finish để hoàn thành quá trình
Query
Form
4
Report
Macro
88
Table
Mở đầu
II. Tạo Form
2. Dùng Auto Form: tạo Form tự động với tất cả các trường trong Table hoặc Query
Từ cửa sổ Database, chọn Forms / New, hộp thoại New Form xuất hiện
Chọn AutoForm: Columnar
Chọn nguồn dữ liệu cho Form (Table hoặc Query)
Chọn OK kết quả sẽ xuất hiện
Chọn nguồn dữ liệu
Query
Form
Report
Macro
89
Table
Mở đầu
II. Tạo Form
2. Dùng Auto Form:
Màn hình nhập liệu như sau
Query
Form
Report
Macro
90
Table
Mở đầu
II. Tạo Form
3. Tự thiết kế Form:
Từ cửa sổ Database, chọn Forms / New, hộp thoại New Form xuất hiện
Chọn Design View
Chọn nguồn dữ liệu cho Form (Table hoặc Query)
Chọn OK, xuất hiện cửa sổ như sau
Chọn nguồn dữ liệu
Query
Form
Report
Macro
91
Table
Mở đầu
II. Tạo Form
3. Tự thiết kế Form:
Tên gọi và ý nghĩa của các nút chọn trên thanh công cụ Toolbox như sau:
Query
Form
Report
Macro
92
Table
Mở đầu
Query
Form
Report
Macro
93
Table
Mở đầu
Query
Form
Report
Macro
94
Table
Mở đầu
Query
Form
Report
Macro
95
Table
Mở đầu
II. Tạo Form
3. Tự thiết kế Form:
Muốn đưa một công cụ vào trong Form, ta có thể tự thiết kế hoặc sử dụng Control Wizard của Access
Dùng Control Wizard
Bấm nút Control Wizard (sẽ có màu sáng)
Bấm vào công cụ cần chọn để đưa vào Form
Tro chuột kéo Field cần chọn vào trong Form tại vi tri thich hop
Khai báo các thông tin cần thiết theo chỉ dẫn của Access
Tự thiết kế
Bấm vào công cụ cần chọn để đưa vào Form
Tro chuột kéo Field cần chọn vào trong Form tại vi tri thich hop
Khai báo các thông tin cần thiết. Nếu muốn sửa đổi các thuộc tính thì nhắp đúp tại công cụ vừa tạo để khai báo lại
Query
Form
Report
Macro
96
Table
Mở đầu
II. Tạo Form
4. Hiệu chỉnh Form:
Trong cửa sổ Database, chọn tên Form cần hiệu chỉnh, chọn nút Design
Tự sửa đổi như khi thiết kế
5. Thực hiện Form
Trong cửa sổ Database, chọn tên Form cần thực hiện, chọn nút Open
Query
Form
Report
Macro
97
Table
Mở đầu
III. Các loại điều khiển
1. Các loại điều khiển
Khi thiết kế Form, thường dùng các loại điều khiển sau:
Hộp văn bản (Textbox)
Nhãn (Label)
Hộp lựa chọn (Combo Box)
Hộp danh sách (List Box)
Nút lệnh (Command Button)
Nhóm lựa chọn (Option Group)
Query
Form
Report
Macro
98
Table
Mở đầu
III. Các loại điều khiển
2. Cách dùng
Có thể dùng các ô điều khiển theo ba cách sau:
Bound (buộc với một trường nào đó): nguồn dữ liệu của nó lấy từ Table hay Query. Textbox là loại thông dụng nhất
Unbound (không buộc vào bất kỳ trường nào): không mang dữ liệu của bất kỳ nguồn nào. Loại này dùng để trình bày. Label là loại thông dụng nhất
Calculated (tính toán): nguồn dữ liệu là một biểu thức. Giá trị hiển thị ở chế độ Form view là kết quả của biểu thức. Trong biểu thức có thể dùng kết họp các phép toán (+, -, *, /, =) với các tên trường. Hàm trả về giá trị hoặc các số. Ví dụ: Giamoi:0.75*[Dongia]
Query
Form
Report
Macro
99
Table
Mở đầu
III. Các loại điều khiển
3. Thay đổi trình tự thực hiện các điều khiển
Khi chạy Form, nếu dùng phím Tab hoặc Shift+Tab thì các điều khiển sẽ được chọn theo trình tự thiết kế. Ta có thể thay đổi bằng cách:
Mở Form ở chế độ Design.
Chọn lệnh View / Tab Order, xuất hiện hộp thoại
Chọn các hàng và kéo rê chuột để thay đổi vị trí
Query
Form
Report
Macro
100
Table
Mở đầu
IV. Nút lệnh Command Wizard
Để thuận tiện cho người dùng chương trình, khi thiết kế Form phải tạo các nút lệnh cần thiết. Thường dùng Command Control Wizard cho tiện thiết kế
Mở Form ở chế độ Design.
1. Cách tạo
Query
Form
Report
Macro
101
Table
Mở đầu
IV. Nút lệnh Command Wizard
Categories: chọn nhóm lệnh tuỳ theo đối tượng
1
Actions: chọn lệnh cụ thể
Chọn Next sang bước tiếp theo, xuất hiện hộp thoại 
Query
Form
Report
Macro
102
Table
Mở đầu
IV. Nút lệnh Command Wizard
Text: chọn và nhập tên cho nút lệnh (nếu muốn)
Picture: chọn hình ảnh cho nút lệnh (không nhập tên)
Chọn Next sang bước tiếp theo, xuất hiện hộp thoại 
2
Query
Form
Report
Macro
103
Table
Mở đầu
IV. Nút lệnh Command Wizard
Chọn tên cho nút (có thể để mặc nhiên)
Chọn Finish để hoàn thành
3
Query
Form
Report
Macro
104
Table
Mở đầu
IV. Nút lệnh Command Wizard
Record Navigation (điều khiển vị trí mẩu tin)
2. Danh sách các Category và Action
Query
Form
Report
Macro
105
Table
Mở đầu
IV. Nút lệnh Command Wizard
Record Operations (Thao tác với mẩu tin)
2. Danh sách các Category và Action
Query
Form
Report
Macro
106
Table
Mở đầu
IV. Nút lệnh Command Wizard
Form Operations (Thao tác với Form)
2. Danh sách các Category và Action
Query
Form
Report
Macro
107
Table
Mở đầu
IV. Nút lệnh Command Wizard
Report Operations (Thao tác với Report)
2. Danh sách các Category và Action
Query
Form
Report
Macro
108
Table
Mở đầu
Report
IV. Nút lệnh Command Wizard
2. Danh sách các Category và Action
Query
Form
Application (Thao tác với ứng dụng)
Micellaneous (Thao tác với các đối tượng khác)
Macro
109
Report là một công cụ thuận tiện để in dữ liệu. Nguồn dữ liệu của Report là các Table có sẵn hoặc số liệu được tổng hợp dưới dạng Query
Table
I. Khái niệm
Chương V : Report (Báo cáo-Báo biểu)
Mở đầu
Query
Report
Form
II. Các kiểu trình bày Report
Columnar Report (báo biểu dạng cột)
Tabular Report (báo biểu dạng bảng)
Macro
110
Table
Mở đầu
Query
Report
Form
II. Các kiểu trình bày Report
1. Columnar Report (báo biểu dạng cột)
Là dạng thức mà các trường số liệu trong Report được trình bày từ trên xuống thành một cột.
Macro
111
Table
Mở đầu
Query
Report
Form
II. Các kiểu trình bày Report
2. Tabular Report (báo biểu dạng bảng)
Mỗi Record thể hiện trên một dòng, các trường được xếp thành cột. Loại này thích hợp cho bảng kê số liệu
Macro
112
Table
Mở đầu
Query
Report
Form
III. Cách tạo Report
Tại cửa sổ Database, chọn Report / New, xuất hiện cửa sổ New Report
Chọn cách tạo Report
Chọn nguồn số liệu để tạo Report
Chọn một trong các cách tạo Report, để đơn giản, ta chọn Report Wizard.
Chọn nguồn số liệu để tạo Report (Table hay Query tuỳ theo yêu cầu cụ thể)
Chọn OK, xuất hiện hộp thoại Report Wizard (a) như sau
Macro
113
Table
Mở đầu
Query
Report
Form
III. Cách tạo Report
Available Fields: chứa các trường có sẵn trong nguồn
1a
Chọn các trường phù hợp và đưa sang mục Selected Fields (b)
Chọn Next sang bước tiếp theo, xuất hiện hộp thoại 
Macro
114
Table
Mở đầu
Query
Report
Form
III. Cách tạo Report
Hộp thoại này hỏi bạn muốn hiển thị dữ liệu từ đâu, bạn tuỳ chọn cho phù hợp
2
Chọn Next sang bước tiếp theo, xuất hiện hộp thoại 
2
Macro
115
Table
Mở đầu
Query
Report
Form
III. Cách tạo Report
Cho chọn trường cần kết nhóm (nếu muốn), bạn tuỳ chọn cho phù hợp
3
Chọn Next sang bước tiếp theo, xuất hiện hộp thoại 
Macro
116
Table
Mở đầu
Query
Report
Form
III. Cách tạo Report
Cho chọn các trường mà danh sách sẽ sắp xếp theo thứ tự ưu tiên, số khoá sắp xếp tối đa là bốn.
Chọn Summary Options nếu muốn tính toán, xuất hiện hộp thoại 
4
Sắp xếp theo bốn khoá tuỳ ý
Sắp xếp theo thứ tự tăng hoặc giảm dần
Macro
117
Table
Mở đầu
Query
Report
Form
III. Cách tạo Report
Chọn các trường cần tính toán, kiểu tính (Sum, Avg, Min, Max)
Show: chọn cách hiển thị: chi tiết và tổng (Detail and Summary) hay chỉ hiện tổng (Summary Only)
Chọn trường cần tính toán
Chọn hàm cần tính
5
Calculate percent of total for sums: chọn nếu muốn tính % trên tổng số
Chọn OK, để quay về hộp thoại . Tại hộp thoại , chọn Next sang bước
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Phan Thi Minh Tam
Dung lượng: 5,09MB| Lượt tài: 0
Loại file: ppt
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)