TRƯỜNG TCN KTCN HÙNG VƯƠNG GIÁO TRÌNH MICROSOFT ACCESS 2003BÀI 01: CƠ SỞ DỮ LIỆU TRONG MICROSOFT ACCESSI. CÁC KHÁI NIỆM CƠ BẢN: 1) Dữ liệu là gì? Dữ liệu là những thông tin về các đối tượng trong cơ sở dữ liệu. Ví dụ: Đối tượng Học sinh gồm có: họ tên, ngày sinh, phái, địa chỉ, ………. Đối tượng Sách gồm có: tên sách, số trang, tác giả, ngôn ngữ, ……….. Đối tượng Hóa đơn: mã hóa đơn, nhân viên lập đơn, ngày lập đơn, ………. 2) Khái niệm về cơ sở dữ liệu: Cơ sở dữ liệu là một tập hợp dữ liệu có quy luật, có cấu trúc nhất định (thường ởdạng bảng) được lưu trữ trên các thiết bị chứa tin nhằm phục vụ cho nhiều người sửdụng. Trong đó, mỗi bảng được dùng để lưu trữ một đối tượng cụ thể nào đó đồng thờigiữa các bảng có thể có mối quan hệ với nhau. Vai trò của CSDL trong Hệ thống thông tin: Sau khi xác định được mô hình thựcthể kết hợp thì việc tiếp theo là xây dựng cơ sở dữ liệu trên máy tính. Đây là mứcnhận thức logic về thành phần dữ liệu. Vì thế yêu cầu cấu trúc của CSDL phải chuẩn vàhợp lý về mặt ngữ nghĩa. 3) Cơ sở dữ liệu quan hệ: Là ý tưởng được tạo ra các cơ sở dữ liệu dưới dạng bảng mà những phần mềmứng dụng như Access, Foxpro... đang áp dụng. Mô hình CSDL quan hệ thiết kế, quản lýdữ liệu dưới dạng bảng hai chiều gọi là các quan hệ nhằm phản ánh mối liên kết thựcgiữa các đối tượng dữ liệu. Trong mô hình này có một số khái niệm cơ bản như sau: Bảng (Table): hay còn gọi là quan hệ bao gồm nhiều dòng và nhiều cột, trong một bảng phải có ít nhất một cột. Cột (Column): hay còn gọi là trường (Field) nằm trong bảng với các thuộc tính quan trọng như: tên trường (Field Name), kiểu dữ liệu (Data Type), độ rộng (Field Size). Trong một bảng thì không thể có 2 cột trùng tên nhau, trên một cột chỉ lưu một loại dữ liệu, thứ tự trước sau giữa các cột trong bảng là không quan trọng.Ví dụ: Ta sử dụng bảng MÔNHỌC để lưu trữ thông tin về các môn học Mã MH Tên môn học Nội dung thiết kế bảng MÔN HỌC 01 Phân tích Thiết kế Các cột Tên cột Kiểu dữ liệu Độ rộng 02 Cơ sở dữ liệu Mã môn học MA MH Chuỗi 2 03 Visual Basic Tên môn học TEN MH Chuỗi 30 Dòng (Row): nằm trong bảng và trong một bảng thì không thể có 2 dòng trùng lắp nhau về thông tin lưu trữ. Thứ tự trước sau của các dòng trong bảng cũng không quan trọng. Khóa chính (Primary Key): là một hay nhiều trường trong một bảng mà dữ liệu tại các cột này bắt buộc phải có đồng thời phải duy nhất không được trùng lắp (tính duy nhất của dữ liệu). Giá trị dữ liệu của khoá chính dùng để xác định duy nhất các giá trị của các trường khác trong cùng một dòng.Biên soạn: TÔ HUỲNH THIÊN TRƯỜNG Trang 2
Trang 1TRƯỜNG TCN KỸ THUẬT CÔNG NGHỆ HÙNG VƯƠNG
KHOA CÔNG NGHỆ THÔNG TIN
GIÁO TRÌNH
LƯU HÀNH NỘI BỘ NĂM 2008
Trang 2Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 2
BÀI 01:
CƠ SỞ DỮ LIỆU TRONG MICROSOFT ACCESS
I CÁC KHÁI NIỆM CƠ BẢN:
1) Dữ liệu là gì?
Dữ liệu là những thông tin về các đối tượng trong cơ sở dữ liệu
Ví dụ:
Đối tượng Học sinh gồm có: họ tên, ngày sinh, phái, địa chỉ, ………
Đối tượng Sách gồm có: tên sách, số trang, tác giả, ngôn ngữ, ………
Đối tượng Hóa đơn: mã hóa đơn, nhân viên lập đơn, ngày lập đơn, ………
2) Khái niệm về cơ sở dữ liệu:
Cơ sở dữ liệu là một tập hợp dữ liệu có quy luật, có cấu trúc nhất định (thường ở dạng bảng) được lưu trữ trên các thiết bị chứa tin nhằm phục vụ cho nhiều người sử dụng Trong đó, mỗi bảng được dùng để lưu trữ một đối tượng cụ thể nào đó đồng thời giữa các bảng có thể có mối quan hệ với nhau
Vai trò của CSDL trong Hệ thống thông tin: Sau khi xác định được mô hình thực thể - kết hợp thì việc tiếp theo là xây dựng cơ sở dữ liệu trên máy tính Đây là mức nhận thức logic về thành phần dữ liệu Vì thế yêu cầu cấu trúc của CSDL phải chuẩn và hợp lý về mặt ngữ nghĩa
3) Cơ sở dữ liệu quan hệ:
Là ý tưởng được tạo ra các cơ sở dữ liệu dưới dạng bảng mà những phần mềm ứng dụng như Access, Foxpro đang áp dụng Mô hình CSDL quan hệ thiết kế, quản lý
dữ liệu dưới dạng bảng hai chiều gọi là các quan hệ nhằm phản ánh mối liên kết thực giữa các đối tượng dữ liệu Trong mô hình này có một số khái niệm cơ bản như sau:
Bảng (Table): hay còn gọi là quan hệ bao gồm nhiều dòng và nhiều cột, trong một bảng phải có ít nhất một cột
Cột (Column): hay còn gọi là trường (Field) nằm trong bảng với các thuộc tính quan trọng như: tên trường (Field Name), kiểu dữ liệu (Data Type), độ rộng (Field Size) Trong một bảng thì không thể có 2 cột trùng tên nhau, trên một cột chỉ lưu một loại dữ liệu, thứ tự trước sau giữa các cột trong bảng là không quan trọng
Ví dụ: Ta sử dụng bảng MÔNHỌC để lưu trữ thông tin về các môn học
Mã MH Tên môn học Nội dung thiết kế bảng MÔN HỌC
01 Phân tích Thiết kế Các cột Tên cột Kiểu dữ liệu Độ rộng
03 Visual Basic Tên môn học TEN MH Chuỗi 30
Dòng (Row): nằm trong bảng và trong một bảng thì không thể có 2 dòng trùng lắp nhau về thông tin lưu trữ Thứ tự trước sau của các dòng trong bảng cũng không quan trọng
Khóa chính (Primary Key): là một hay nhiều trường trong một bảng mà dữ liệu tại các cột này bắt buộc phải có đồng thời phải duy nhất không được trùng lắp (tính duy nhất của dữ liệu) Giá trị dữ liệu của khoá chính dùng để xác định duy nhất các giá trị của các trường khác trong cùng một dòng
Trang 3 Khóa ngoại (Foreign Key): là một hay nhiều trường trong một bảng mà các trường này lá khoá chính của một bảng khác, do đó dòng dữ liệu tại các cột này bắt buộc phải tồn tại trong một bảng khác (tính tồn tại của dữ liệu)
Ví dụ: Để lưu trữ và quản lý thông tin của các học viên ta cần tổ chức các bảng đơn giản sau:
Bảng MÔN HỌC: lưu trữ thông tin về các môn học
Phân tích Thiết kế 01
Bảng SINH VIÊN: dùng để lưu trữ thông tin của các sinh viên
Mã số Họ và tên Ngày sinh Thông tin khác A01 Võ Thị Ngọc Mai 27/07/1980 …………
A02 Nguyễn Mai Phương 22/11/1981 …………
Bảng KẾT QUẢ THI: lưu trữ điểm thi từng môn cho các sinh viên
Bảng MÔNHỌC có cột mã môn học là khoá chính, thông thường trong môn hình
quan hệ ta có thể viết bảng như sau:
MÔNHỌC (Mã môn học, Tên môn học)
(Các Field được gạch chân trong bảng là khoá chính của bảng, để thể hiện phụ thuộc hàm trong bảng MÔNHỌC ta có thể viết: Mã môn học Tên môn học)
Trong bảng SINHVIÊN có cột mã số làm khoá chính và có thể viết thành:
SINHVIÊN (Mã số, Họ và tên, Ngày sinh, Địa chỉ ………)
(Để biểu diễn phụ thuộc hàm: Mã số Họ và tên, Ngày sinh, Địa chỉ)
Trong bảng KẾTQUẢTHI có 2 cột mã số và mã môn học là khóa ngoại Trong bảng này ở cột Mã số chỉ cho phép chứa các Mã sinh viên có trong bảng SINHVIÊN và tương tự ở cột Mã môn học chỉ tồn tại các môn học có trong bảng MÔNHỌC Điều này thị hiểu nhiên vì chúng ta chỉ lưu trữ điểm thi của các sinh viên có trong bảng SINHVIÊN
KẾTQUẢTHI ( #Mã số, #Mã môn học, Điểm) 4) Các mối kết hợp (Relationship):
Mối kết hợp là sự liên kết hay ghép nối giữa 2 hay nhiều thực thể phản ánh chính xác thực tế quản lý, để diễn đạt mối liên hệ giữa các thực thể ta sử dụng khái niệm mối kết hợp Mối kết hợp là sự diễn đạt về những liên kết nếu có giữa các loại thực thể khác nhau và là phần tử trong mô hình tương ứng với một mối quan hệ giữa các thực thể tham gia vào quan hệ đó Mối kêt hợp được định danh bằng tên, thường là động từ hay tính từ mang ý nghĩa về mối quan hệ giữa các lớp đối tượng liên quan trong tổ chức
Bảng
Dòng
Trang 4Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 4
Bản số của mối kết hợp Bản số của một thực thể đối với một mối kết hợp là cặp
(Bản số tối thiểu, Bản số tối đa) Trong đó chúng được định nghĩa như sau:
Bản số tối thiểu: Bằng 0 hoặc 1, là số lần tối thiểu mà một thể hiện bất kỳ của một thực thể tham gia vào các thể hiện của mối kết hợp
Bản số tối đa: Bằng 1 hoặc n, là số lần tối đa mà một thể hiện bất kỳ của một thực thể tham gia vào các thể hiện của mối kết hợp
Bản số phải được thể hiện ở cả hai nhánh mối kết hợp Bản số được ký hiệu dạng (x,y), với bất kỳ vị trí tương đối nào của thực thể đối với mối kết hợp thì chỉ số bên trái (hay x) là bản số tối thiểu, chỉ số bên phải (hay y) là bản
số tối đa
Phân loại các mối kết hợp:
Kết hợp 1-1: thực thể A và thực thể B có mối kết hợp là 1-1 nếu một thực thể kiểu
A tương ứng với một thực thể kiểu B và ngược lại
Ghi chú: Trong CSDL khi 2 thực thể có mối kết hợp 1-1 sẽ được đồng nhất
Kết hợp 1- n: thực thể A và thực thể B có mối kết hợp là 1-n nếu một thực thể kiểu A tương ứng với nhiều thực thể kiểu B còn một thực thể kiểu B chỉ tương ứng với 1 thực thể kiểu A
Kết hợp n-n: thực thể A và thực thể B có mối kết hợp là n-n nếu một thực thể kiểu
A tương ứng với nhiều thực thể kiểu B và ngược lại
Ghi chú: Trong CSDL khi 2 thực thể có mối kết hợp n-n sẽ được thực thể hoá thành
II GIỚI THIỆU MICROSOFT ACCESS:
Tên của loại thực thể
Tên của mối kết hợp
Tên của loại thực thể
Khách hàng
Hoá đơn
1-n
Trang 52) Các đặc điểm của Microsoft Access :
Hỗ trợ cơ chế tự động kiểm tra khóa chính, phụ thuộc tồn tại, miền giá trị
… của dữ liệu bên trong các bảng một cách chặt chẽ
Với công cụ trình thông minh (Wizard) cho phép người sử dụng có thể thiết
kế các đối tượng trong Microsoft Access một cách nhanh chóng
Với công cụ truy vấn bằng thí dụ QBE (Query By Example) sẽ hỗ trợ cho người sử dụng có thể thực hiện các truy vấn mà không cần quan tâm đến
cú pháp của các câu lệnh trong ngôn ngữ truy vấn có vấu trúc SQL (Structure Query Language) được viết như thế nào
Với kiểu trường đối tượng kết nhúng OLE (Object Linking and Embeding) cho phép người sử dụng có thể đưa vào bên trong tập tin cơ sở dữ liệu Access các ứng dụng khác trên Windows như: tập tin văn bản Word, bảng tính Excel, hình ảnh BMP, âm thanh WAV …
Dữ liệu được lưu trọn gói trong một tập tin: Tất cả các đối tượng của một ứng dụng chỉ được lưu trong một tập tin cơ sỡ dữ liệu duy nhất đó là tập tin cơ sở dữ liệu Access (MDB)
Ứng dụng có thể sử dụng trên môi trường mạng máy tính nhiều người sử dụng, cơ sở dữ liệu được bảo mật tốt
Có khả năng trao đổi dữ liệu qua lại với các ứng dụng khác, có thể chuyển đổi dữ liệu qua lại với các ứng dụng như Word, Excel, Fox, Dbase, HTML …
Kết nối trực tiếp vào hệ cơ sở dữ liệu Microsoft SQL Server dể phát triển các ứng dụng theo mô hình chủ khách (Client/Server)
3) Các đối tượng bên trong tập tin cơ sở dữ liệu Access:
Tập tin CSDL trong Access có phần mở rộng là MDB bao gồm các đối tượng chính:
Bảng (Table): Là thành phần cơ sở của tập tin cơ sở dữ liệu Access, dùng để lưu
trữ dữ liệu, nó chính là cấu trúc cơ sở dữ liệu do đó là đối tượng đầu tiên phải được tạo ra trước Bên trong một bảng, dữ liệu được lưu thành nhiều cột và nhiều dòng
Truy vấn (Query): Là công cụ cho phép người sử dụng dùng ngôn ngữ truy vấn có cấu trúc SQL (Structure Query Language) hoặc công cụ truy vấn bằng thí dụ QBE (Query By Example) để thực hiện các truy vấn rút trích , chọn lựa dữ liệu hoặc cập nhật dữ liệu (thêm, sửa, xóa) trên các bảng Truy vấn bằng thí dụ là một công cụ
hỗ trợ việc thực hiện các truy vấn mà không cần phải viết các lệnh SQL , mà chủ yếu chỉ dùng kỹ thuật kéo–thả (Drag– Drop) trên cơ sở đồ họa
Biểu mẫu (Form): Cho phép người sử dụng xây dựng nên các màn hình dùng để
cập nhật hoặc xem dữ liệu lưu trong các bảng , ngoài ra cũng cho phép người sử dụng tạo ra các hộp thoại hỏi đáp giữa người sử dụng và hệ thống ứng dụng
Báo cáo (Report): Cho phép chúng ta tạo ra kết xuất từ các dữ liệu đã lưu trong
các bảng, sau đó sắp xếp lại và định dạng theo một khuôn dạng cho trước và từ đó
có thể đưa kết xuất này ra màn hình, máy in hoặc các dạng tập tin Word/Excel
Tập lệnh (Macro): Là công cụ cung cấp cho người sử dụng tạo ra các hành động
đơn giản trong Microsoft Access như mở biểu mẫu, báo cáo, thực hiện một truy vấn….… mà không cần phải biết gì nhiều về ngôn ngữ lập trình Visual Basic
Bộ mã lệnh (Module): Với ngôn ngữ Visual Basic cho phép người sử dụng xây dựng
các hàm hoặc thủ tục của riêng mình để thực hiện một hành động phức tạp nào đó
mà không thể làm bằng công cụ tập lệnh, hoặc với mục đích cho chương trình chạy nhanh hơn
Trang 6Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 6
4) Trình tự xây dựng chương trình bằng Access:
Access là ứng dụng nằm trong bộ phần mềm văn phòng Microsoft Office được dùng để tạo ra các chương trình quản lý như: quản lý trong kinh doanh thương mại, trong các lĩnh vực đào tạo, nhân sự, …
Việc xây dựng một ứng dụng quản lý bao gồm:
Tạo các bảng để lưu trữ dữ liệu
Xây dựng các màn hình nhập|xuất dữ liệu
Tạo các mẫu báo cáo kết xuất
Xây dựng các thao tác để xử lý dữ liệu theo yêu cầu
Các chế độ bảo mật
5) Khởi động
Start All programs Microsoft Office Microsoft Office Access
6) Các thao tác trong cửa sổ Database
a Các lệnh cơ bản trên đối tượng:
Nhấp phải trên đối tượng chọn các lệnh cơ bản:
- Chọn More để mở các tập tin đã lưu trên đĩa
- Chọn Create a New File để tạo một tập tin mới
Trang 7b Xuất đối tượng tới một CSDL khác
Nhấp phải trên đối
tượng Chọn Export (hay
vào Menu File Export)
Chọn tập tin MDB để xuất đối
Để biên dịch tập tin MDB ra thành tập tin chạy MDE ta thực hiện: Tại cửa sổ
“Database” Menu Tools Database Utilities Make MDE files
Trang 8Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 8
BÀI 02:
TABLE TRONG MICROSOFT ACCESS
I THIẾT KẾ TABLE:
1- Tổng quan:
Chế độ thiết kế: Menu View Design View
Chế độ nhập liệu: Menu View Datasheet View
Ở cửa sổ Database: Open (chế độ nhập liệu) ; Design (chế độ thiết kế)
Cột của Table gọi là Field, tên cột gọi là Field Name
Hàng của Table gọi là Record
Khóa chính của Table: Là một hay nhiều Field mà tại đó giá trị luôn luôn là duy nhất được dùng đề phân biệt các Record với nhau
2- Các bước tổng quát để tạo hệ thống Table trong một CSDL
Tạo cấu trúc cho mỗi Table (FieldName, DataType, Description, FieldProperties, khóa chính)
Tạo quan hệ giữa các Table trong hệ thống
Field Name: Nhập tên Field (không khoảng trắng, không dấu, ngắn gọn)
Data Type: Chọn kiểu cho Field (xem danh mục kiểu)
Description: Ý nghĩa của Field (tùy chọn)
Field Properties: Các thuộc tính kèm theo (xem danh mục các thuộc tính)
▬ Chọn một hoặc nhiều Field cần làm khóa chính : Menu Edit Primary Key (Trường hợp có nhiều Field làm khóa chính ta kéo mouse tại đầu các Field này
để chọn)
▬ Lưu (tên Table không khoảng trắng, không dấu, ngắn gọn)
Trang 9▬ Chú ý : Trong trường hợp chưa hoặc không tạo khóa chính thì khi đóng cửa
sổ Design của Table sẽ xuất hiện thông báo :
Yes: Access sẽ tạo Field tên ID với kiểu AutoNumber để làm khóa cho Table
No: Table không cần khóa
2.2- Danh mục các kiểu và thuộc tính
a Kiểu của field
Kiểu Ý nghĩa
Text Chứa dữ liệu chuỗi (<=255 ký tự)
Memo Chứa dữ liệu văn bản (<=64000 ký tự)
Number Chứa dữ liệu số
Date/Time Chứa dữ liệu ngày/tháng - giờ/phút
Currency Chứa dữ liệu tiền tệ (dạng số có ký hiệu $)
AutoNumber Chứa dữ liệu số tuần tự
Yes/No Chứa dữ liệu luận lý (đúng|sai)
OLE Object Chứa dữ liệu nhúng (hình ảnh, đồ thị, …)
Hyperlink Chứa các địa chỉ liên kết trên mạng
b Các thuộc tính theo kiểu
< Các ký tự nhập thành chữ thường Qui định mặt nạ nhập dữ liệu
Bắt buộc nhập 2 chữ cái
và 3 chư số, trong đó 2 chữ cái thể hiện bằng ký tự in Caption Tên field khi chuyển sang Datasheet View
Default Value Giá trị mặc nhiên khi nhập liệu
Validation Rule Biểu thức giới hạn giá trị nhập (RBTV cho field)
Validation Text Thông báo nhập sai giới hạn (sai RBTV)
Required Chỉ rõ dữ liệu nhập có bắt buộc hay không
Allow Zero Length Cho phép nhập chuỗi rỗng hay không
Indexes Lập chỉ mục và có được phép trùng lắp hay không
Trang 10Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 10
Kiểu Number
Qui định phạm vi chứa số Byte Chứa số nguyên từ 0 255 Integer Chứa số nguyên từ -32768 32767 Long Integer Chứa số nguyên từ -2147483648 2147483647 Single Chứa số thực
Percent Dạng tính phần trăm Decimal Place Số số lẻ cố định
Caption Tên field khi chuyển sang Datasheet View
Default Value Giá trị mặc nhiên khi nhập liệu
Validation Rule Biểu thức giới hạn giá trị nhập vào (RBTV)
Validation Text Thông báo nhập sai giới hạn (sai RBTV)
Required Chỉ rõ dữ liệu nhập vào có bắt buộc hay không
Indexes Lập chỉ và có được phép trùng lắp dữ liệu hay không
Kiểu Date/Time Thuộc tính Ý nghĩa
Qui định dạng hiển thị dữ liệu General Date Dạng tổng quát như khi nhập Long Date Monday, September 27, 2004 Medium Date 27 – September – 04
Format
Short Date 27/09/04 Input Mask Giống Text
Caption Chỉ định tên field khi chuyển sang Datasheet View
Default Value Giá trị mặc nhiên khi nhập liệu
Validation Rule Biểu thức giới hạn giá trị nhập vào (RBTV)
Validation Text Thông báo nhập sai giới hạn (sai RBTV)
Required Chỉ rõ dữ liệu nhập vào có bắt buộc hay không
Indexes Lập chỉ và có được phép trùng lắp dữ liệu hay không
Kiểu Yes/No Thuộc tính Ý nghĩa
Qui định dạng hiển thị dữ liệu Yes/No Yes hoặc No (0 hoặc -1) Ture/False True hoặc False (0 hoặc -1) Format
On/Off On hoặc Off (0 hoặc -1) Caption Tên field khi chuyển sang Datasheet View
Default Value Giá trị mặc nhiên khi nhập liệu
Validation Rule Biểu thức giới hạn giá trị nhập vào (RBTV)
Validation Text Thông báo nhập sai giới hạn (sai RBTV)
Required Chỉ rõ dữ liệu nhập vào có bắt buộc hay không
Indexes Lập chỉ mục và có được phép trùng lắp dữ liệu hay không
Trang 112.3- Quan hệ giữa các Table
a Các loại quan hệ
▬ Để hạn chế việc lưu trữ dữ liệu trùng lắp dẫn đến kích thước lưu trữ lớn và khó khăn trong việc bảo trì, ta thường chọn lọc và lưu trữ dữ liệu trên nhiều Table khác nhau Tuy nhiên, khi đó giữa các Table này thường có sự liên hệ với nhau bằng cách trong Table này xuất hiện Field khóa chính của một Table khác Field này được gọi là khóa ngoại
▬ Mục tiêu của việc khai báo quan hệ là phục vụ cho việc liên kết thông tin Đồng thời để tạo sự phụ thuộc của dữ liệu khi nhập
▬ Có hai loại quan hệ thường gặp trong Access:
Table A có quan hệ một - một với Table B khi một giá trị trên Field quan hệ
ở Table A chỉ xuất hiện một lần trên Field quan hệ ở Table B và ngược lại
Table A có quan hệ một - nhiều với Table B khi một giá trị trên Field quan
hệ ở Table A có thể xuất hiện ít nhất một lần trên Field quan hệ ở Table B Ngược lại, với một giá trị trên Field quan hệ ở Table B chỉ xuất hiện một lần duy nhất trên Field quan hệ ở Table A
b Tạo quan hệ
▬ Menu Tools Relationship
▬ Chọn các Table tham gia tạo quan
hệ từ cửa sổ Show Table (Manu
Relationship Show Table để mở
cửa sổ Show Table)
▬ Giữa hai Table có quan hệ, kéo
Field quan hệ đặt chồng lên nhau
▬ Đánh dấu vào ba tùy chọn trong
hộp Edit Ralationship:
Enforce Referential Integrity: Dùng để ràng
buộc giá trị nhập trên Field khóa ngoại phải
phụ thuộc tồn tại vào giá trị trong Field
khóa chính
Cascade Update Related Fields: Nếu muốn
khi sửa giá trị trên Field khóa chính thì giá
trị trên Field khóa ngoại cũng thay đổi theo
Cascade Delete Ralated Fields: Nếu muốn
khi xóa giá trị trên Field khóa chính thì giá
trị trên Field khóa ngoại cũng xóa theo
c Hiệu chỉnh dây quan hệ
▬ Xóa dây quan hệ: nhấp phải vào dây quan hệ Chọn Delete
▬ Hiệu chỉnh thông số cho dây quan hệ: nhấp phải vào dây quan hệChọn Edit Relationship
▬ Xóa bảng ra khỏi của sổ Relationship: nhấp chọn bảng Bấm Delete
Trang 12Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 12
2.4- Nhập dữ liệu vào Table
▬ Nhập dữ liệu vào table trong chế độ Datasheet
▬ Thông thường là dữ liệu nhập theo hàng
▬ Giá trị nhập vào Field quan hệ bên “một” có thể không có bên “nhiều” Ngược lại, một giá trị nhập vào Field quan hệ bên “nhiều” bắt buộc phải tồn tại bên “một”
▬ Chỉ có thể nhập Record mới ở cuối Table, không thể chèn một Record mới vào giữa Table
▬ Có thể sử dụng các lệnh sau trong quá trình nhập liệu:
Menu Format Font: Chọn phông chữ khi nhập liệu
Menu Record Sort Sort Ascending/Sort Descending: Sắp xếp dữ liệu khi nhập
Menu Edit Delete Record: Xóa Record
a Đối với các Field là khóa ngoại hoặc lồng khóa (bên nhiều), ta có thể tham chiếu dữ liệu từ Field của bên “một” để thuận lợi trong việc nhập liệu (tránh nhập dữ liệu chưa tồn tại bên “một”) Theo các bước sau:
Tại cửa sổ “Design Table” Đặt con trỏ tại dòng Field cần tham chiếu
Field Properties Thẻ Lookup
Display Control Combo Box
Nhấp vào nút ba chấm trong mục Row Source
Chọn Table chứa Field bên “một” chứa dữ liệu tham chiếu và kéo Field xuống dòng Field
Đóng cửa sổ hiện hành Yes
b Có thể tự tạo một danh sách các giá trị chọn lựa cho Field khi nhập liệu Ví dụ: Field Donvitinh có thể tạo các giá trị nhập: m, kg, lít, hộp, chai, …
Tại cửa sổ “Design Table” Đặt con trỏ trong Field cần tạo
Field Properties Thẻ Lookup
Display Control Combo Box
Mục Row Source Type Value List
Nhập danh sách cần tạo trong mục Row Source
c Nhập hình vào Field Hinh:
Đặt con trỏ tại ô cần chèn
Menu Insert Objects
Chọn cách chèn hình:
Create New: Chèn hình từ thư
viện chứa hình Ví dụ như : Corel, Paint, Word Picture, …
Create From File: Chèn hình từ
File hình (bấm nút Browse để mở hộp thoại chọn File hình)
Trang 13II Giới thiệu các CSDL mẫu
▬ Table Nhanvien: Chứa các thông tin về các nhân viên làm việc tại cửa hàng
▬ Table Sanpham: Chứa các thông tin về sản phẩm được bày bán tại cửa hàng
▬ Table Hoadon: Chứa các thông tin về các hóa đơn xuất hàng
▬ Table Chitiet: Chứa các thông tin chi tiết về các hóa đơn xuất hàng
2- CSDL quản lý học viên: Hocvien.mdb
Chương trình quản lý các học viên đăng ký học các môn học ngắn hạn tại một trung tâm Tin học & Ngoại ngữ Bao gồm các Table:
▬ Table Hocvien: Chứa các thông tin về học viên đăng ký học tại trung tâm
▬ Table Ketqua: Chứa kết quả học tập của các học viên trong mỗi lớp
▬ Table Lop: Chứa danh sách các lớp học Tin học & Ngoại ngữ
▬ Table Phancong: Chứa danh sách phân công giáo viên giảng dạy cho các lớp
▬ Table Giaovien: chứa các thông tin về giáo viên hợp đồng giảng dạy
3- CSDL quản lý kho hàng: KhoHang.mdb
Trang 14Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 14
BÀI 03:
QUERY TRONG MICROSOFT ACCESS
I GIỚI THIỆU QUERY:
Query là công cụ khái thác và xử lý dữ liệu, nó được dùng để trích chọn và nối kết các thông tin từ các Table Có nhiều loại Query, nhưng Select Query là loại thông dụng nhất, nó bao gồm các chức năng chính :
Chọn các Field từ một hoặc nhiều Table
Tạo ra các Field mới
Tổng hợp dữ liệu trên các field
Kết quả của Query là một Table và nó có thể đáp ứng các nhu cầu tra cứu thông tin của người sử dụng và là cơ sở nguồn để tạo ra các Form và Report sau này
Chế độ thiết kế: Menu View Design View
Chế độ xem kết quả: Menu View Datasheet View
II THIẾT KẾ SELECT QUERY
1 Thiết kế Query:
Cửa sổ Database Thẻ Query New
Hộp thoại New Query: Design View OK
Cửa sổ Show Table ta thực hiện:
Chọn Table tham gia trong danhsách
Bấm nút “Add”
Bấm nút “Close” khi nào đã chọn xong các Table tham gia
Cửa số Design (Cửa sổ QBE): Thực hiện các mục sau:
Dòng Field: Kéo các Field tham gia tạo Query từ Table xuống (hay Click kép)
Dòng Table: Hiển thị tên Table tương ứng
Dòng Sort: Chọn cách sắp xếp khi có nhu cầu (Ascending: giảm dần; Descending: tăng dần) Thứ tự sắp xếp từ trái qua phải
Dòng Show: Xuất hiện hoặc không trong bảng kết quả (Datasheet)
Dòng Criteria: Biểu thức điều kiện lọc dữ liệu cho Field
Dòng Or: Biểu thức điều kiện hoặc so với dòng Criteria
Trang 15 Chuyển qua chế độ Datasheet để kiểm tra kết quả Query
Menu File Save để lưu
Ví dụ 1: Cho biết Tên khách hàng, mã hóa đơn, ngày lập đơn, ngày nhận hàng
Ví dụ 2: Cho biết Mã hóa đơn, ngày lập đơn, tên sản phẩm, số lượng, đơn giá
Trang 16Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 16
2 Các phép hỗ trợ khi thiết kế Query
Phép toán hoặc: OR
Trang 172.5- Phép đối sánh mẫu
Cú pháp
<Field> like <mẫu dữ liệu>
▬ So sánh giá trị của Field với <mẫu dữ liệu> Nếu giống thì trả về giá trị True, ngược lại trả về False
▬ Có thể sử dụng các ký tự đại diện sau để so sánh:
Ký tự *: đại diện cho một chuỗi ký tự
Ký tự ?: đại diện cho một ký tự
Ký tự #: đại diện cho một ký số
Ví dụ: Tenkh like “Cong ty TNHH *” Tìm các khách hàng có tên bắt đầu là “Cong
ty TNHH”
Ví dụ: Holot like “Nguyen *” Tìm các nhân viên có họ “Nguyen”
2.6- Phép toán “Between … And …”
Cú pháp
<Field> between <giá trị 1> and <giá trị 2>
▬ Tìm giá trị Field nằm trong một phạm vi Nếu tìm thấy sẽ cho giá trị True, ngược lại trả về False
Ví dụ: Ngaylaphd between #01/01/02# and #31/12/02# Tìm các hóa đơn lập trong năm 2002
2.7- Phép toán “In”
Cú pháp
<Field> in(<giá trị 1>;<giá trị 2>; …)
▬ Tìm các giá trị của Field phù hợp với một trong các <giá trị n> trong ngoặc Nếu tìm thấy thì trả về True, ngược lại trả về False
Ví dụ: Thanhpho in(“Bien Hoa”;”Ha Noi”;”TpHCM”) Tìm các khách hàng ở các thành phố: Bien Hoa, Ha Noi, TpHCM
Ví dụ: Month(Ngaylaphd) in(9;10) Tìm các hóa đơn lập trong tháng 9 hoặc 10 2.8- Phép toán “Is Null” và “Is not Null”
Cú pháp
<Field> is Null <Field> Is not Null
▬ Kiểm tra giá trị của Field có rỗng hay không
Ví dụ: Dienthoaikh Is Null Tìm các khách hàng chưa có điện thoại
Ví dụ: Dienthoaikh Is not Null Tìm các khách hàng đã có điện thoại
Ví dụ: Ngaynhan Is Null Tìm các hóa đơn chưa giao hàng
Trang 18Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 18
3 Một số các hàm thường dùng trong Query
4
Ví dụ:
Day(#15/12/04#) 15 Datepart(“mã ngày tháng năm”;<ngày>) Trả về khoảng phần của ngày
7
Ví dụ: Round(123.45;1) 123.5
4 Tạo Field mới trong Query
Cú pháp
<Tên Field mới>: <biểu thức>
▬ Công thức tạo Field mới được nhập tại dòng Field trong cửa sổ QBE
▬ Tên Field mới không có khoảng trắng và không dấu
▬ Tên Field mới không được trùng với tên Field đã có
▬ Biểu thức tạo Field mới thường có sự tham gia của các Field đã có và các Field tham gia này phải có mặt trong cửa sổ QBE
▬ Các giá trị “hằng chuỗi” được đặt trong cặp dấu nháy kép (“…”), các giá trị
“hằng ngày tháng” được đặt trong cặp dấu thăng (# #)
▬ Trường hợp có hai Field trùng tên trên các Table nguồn thì cần phải chỉ rõ bằng cú pháp: <tên table>.<tên Field>
▬ Có thể dùng Field mới tạo ra ở cột đứng trước tham gia vào biểu thức tạo ra Field mới ở cột đứng sau
▬ Có thể phóng lớn ô đang soạn thảo công thức bằng cách nhấn: Shift F2
Ví dụ 1: Cho biết Mã hóa đơn, tên sản phẩm, số lượng, đơn giá, thành tiền
Trang 19Ví dụ 2: Cho biết Mã nhân viên, họ tên nhân viên, mã hóa đơn, thành tiền
5 Query có điều kiện
5.1- Điều kiện đơn hoặc kép thuộc về 1 Field
▬ Đặt điều kiện ngay tại ô Criteria của Field thông qua các phép toán đã biết
Ví dụ: Cho biết các hóa đơn của khách hàng có mã số “kh005” đặt Gồm: Mã hóa đơn, ngày lập đơn, ngày nhận hàng, mã sản phẩm, số lượng
Ví dụ: Cho biết danh sách các đơn đặt hàng lập trong quý 1 năm 2004 Gồm: Tên khách hàng, mã hóa đơn, ngày lập đơn, ngày nhận hàng
Thanhtien:Dongia*Soluong
Between #1/1/04# and #31/3/04#
Trang 20Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 20
5.2- Điều kiện “Và” thuộc về nhiều Field
▬ Đặt điều kiện tại các ô Criteria của các Field tương ứng nằm trên cùng dòng thông qua các phép toán đã biết
Ví dụ: Cho biết các hóa đơn mà nhân viên có mã số 5 đã lập trong tháng 8 năm
2004 Gồm: Họ tên nhân viên, phái, mã hóa đơn, thành tiền
5.3- Điều kiện “hoặc” thuộc về nhiều Field
▬ Đặt điều kiện tại các ô Criteria của các Field tương ứng nằm trên các dòng khác nhau thông qua các phép toán đã biết
Ví dụ: Cho biết các hóa đơn lập hoặc giao hàng trong quý 2 năm 2004 Gồm: Mã hóa đơn, ngày lập đơn, ngày nhận hàng
6 Tạo Query có khai báo thêm thuộc tính
▬ Ẩn các Record trùng nhau : Trong cửa sổ QBE menu View Properties Trong cửa sổ “Properties” Unique Values : Yes
Ví dụ: Cho biết danh sách các khách hàng đặt đơn trong tháng 1 năm 2004 Gồm:
Mã khách hàng, tên khách hàng, điện thoại
Between #1/8/04# and #31/8/04#
Between #1/4/04# and #30/6/04#
Trang 21▬ Hiện các Record có giá trị thuộc một Field lớn nhất hoặc nhỏ nhất: Trong cửa
sổ QBE Tại Field cần hiện giá trị lớn nhất hoặc nhỏ nhất Ô Sort: Descending hoặc Ascending menu View Properties Trong cửa sổ
“Properties” Top Values: 1
Ví dụ: Cho biết sản phẩm có đơn giá cao nhất Gồm: Mã sản phẩm, tên sản phẩm, đơn giá, đơn vị tính
7 Tạo Query tham số
▬ Dạng Query điều kiện mà trong đó tại ô Criteria của các Field thay vì nhập các biểu thức điều kiện cụ thể, ta nhập thay thế bằng các thông báo nằm trong cặp dấu ngoặc vuông […]
▬ Khi chạy Query, thay vì Query hiển thị các Record theo điều kiện cụ thể thì sẽ xuất hiện hộp thoại “Enter Parameter Query” để yêu cầu người sử dụng nhập vào các giá trị theo ý muốn để làm điều kiện cho Query
Ví dụ: Khi muốn xem danh sách các khách hàng theo thành phố “Biên Hòa” ta tạo một Query và nhập điều kiện “Bien Hòa” tại ô Criteria của Field Thanhpho Nếu muốn xem khách hàng theo thành phố “Hà Nội” ta tạo một Query và nhập điều kiện
“Bien Hòa” tại ô Criteria của Field Thanhpho
▬ Như vậy nếu có nhiều thành phố cần xem thì ta phải tạo nhiều Query tương ứng và các Query này lại có cùng dạng Điều này không thuận lợi trong việc lưu trữ dữ liệu Để thay thế cho điều này, ta tạo một Query như sau:
Between #1/1/04# and #31/1/04#
Trang 22Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 22
▬ Query này khi chạy sẽ xuất hiện hộp thoại “Enter Parameter Value” yêu cầu bạn nhập tên thành phố bạn cần xem Sau khi bấm OK thì Query sẽ cho hiện lên danh sách các khách hàng theo nhu cầu
8 Một số các thao tác khi thiết kế Query
▬ Thêm Table vào cửa sổ thiết kế: Menu Query Show Table
▬ Xóa Table khỏi cửa sổ thiết kế: Chọn Table Phím Delete
▬ Sử dụng bộ tạo biểu thức để tạo các biểu thức điều kiện : công cụ Build
▬ Chọn một cột: Nhấp mouse ở vị trí đầu cột
▬ Xóa cột: Chọn cột Phím Delete
▬ Di chuyển cột: Chọn cột Kéo mouse trong vùng chọn
▬ Chèn cột: Đặt con trỏ tại cột bên phải Menu Insert Column
▬ Khai báo thuộc tính cho Field: Nhấp phải tại Field Properties Gồm một số thuộc tính:
Description: Nội dung diễn tả ý nghĩa Field
Format: Các dạng thức của dữ liệu
Caption: Nhãn của Field
III Các loại Query khác tạo bằng Wizard
1 Find Duplicates Query
▬ Loại Query tìm kiếm các Record chứa giá trị trùng nhau trên một hay nhiều Field nào đó Query này được ứng dụng trong việc xác định các giá trị trên Field có lặp lại hay không ?
Ví dụ: Cho biết những thành phố nào có từ 2 khách hàng trở lên Gồm : Mã khách hàng, tên khách hàng, điện thoại, địa chỉ
▬ Các bước tạo:
Cửa sổ “Database” Thẻ Query New
Chọn Find Duplicates Query Wizard OK
Câu thông báo : [Nhập tên thành phố cần xem]
Trang 23 Hộp thoại 3: Chọn các
Field có trong Query
Hộp thoại 4: Đặt tên cho Query
Trang 24Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 24
2 Find Unmatched Query
▬ Loại Query cho phép hiển thị các Record trong một bảng (bảng bên “một”) mà không có trong một bảng khác (bảng bên “nhiều”)
▬ Ví dụ: Tìm các khách hàng chưa đặt đơn hay tìm các sản phẩm chưa có đơn đặt hàng, …
Hộp thoại 3: Hiển thị Field
quan hệ trong 2 Table trên
Hộp thoại 4: Chọn các Field xuất hiện trong bảng kết quả
Trang 25 Hộp thoại 5: Đặt tên cho Query
IV Total Query:
1 Tổng quan
▬ Dùng để nhóm các Record trên Table|Query giống nhau theo một tiêu chuẩn nào đó của một hay nhiều Field để từ đó có được các thông tin liên quan đến nhóm như : số Record trong nhóm, tổng giá trị của Field liên quan của nhóm, giá trị cao nhất của Field liên quan của nhóm, …
Ví dụ:
Giá trị của từng hóa đơn : số sản phẩm của hóa đơn, tổng thành tiền của hóa đơn, trung bình thành tiền của các hóa đơn, …
Thông tin về mỗi khách hàng: số hóa đơn đã đặt, tổng thành tiền phải trả, …
Thông tin về mỗi sản phẩm: …
Thông tin về mỗi nhân viên: …
Thông tin về các hóa đơn: số sản phẩm trên đơn, thành tiền, …
▬ Các tiêu chuẩn thường dùng để tổng hợp:
Group by Nhóm các Record có giá giống nhau thành một
Sum Tính tổng các giá trị trên cột của nhóm
Avg Tính trung bình các giá trị trên cột của nhóm
Max Tìm giá trị cao nhất trên cột của nhóm
Min Tìm giá trị thấp nhất trên cột của nhóm
Count Đếm số Record trên cột của nhóm
Expression Cho biết cột là 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 nhóm
2 Các bước tạo Total Query
▬ Bước 1: Cửa sổ Database Thẻ Query New Design View
▬ Bước 2: Chọn các Table tham gia trong cửa sổ Show Table
▬ Bước 3: Chọn các Field tham gia tạo Query
▬ Bước 4: Menu View Total Xuất hiện thêm dòng Total trong cửa sổ Design
Trang 26Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 26
▬ Bước 5: Tại dòng Total Chọn các tiêu chuẩn lập tổng nhóm (tiêu chuẩn mặc nhiên được chọn là Group by)
▬ Bước 6: Kiểm tra kết quả Query: Menu View Datasheet View
▬ Bước 7: Lưu Query
Một số lưu ý khi tạo Total Query:
Có thể thực hiện việc tính tổng cộng trên tất cả các Record của một hoặc nhiều Table bằng cách khi thiết kế Query không chọn tiêu chuẩn Group by trong các cột có mặt trong lưới QBE
Ở chế độ Datasheet, Access cho hiển thị những tiêu đề phản ánh các kết quả
đã thực hiện Chẳng hạn, AvgOfThanhtien, SumOfThanhtien, MaxOfDongia, … Nếu muốn, ta có thể đổi tên các tiêu đề này cho phù hợp Nhưng Field mới tạo
sẽ không được phép tham gia trong biểu thức tạo Field mới của cột đứng sau
Có thể truyền tham số từ bàn phím vào Total Query
Field được chọn tiêu chuẩn Where sẽ không được đánh dấu chọn ở dòng Show
Trang 27Ví dụ 2: Cho biết tổng số tiền mà mỗi khách hàng đã trả cho tất cả các đơn đặt hàng Gồm: Mã khách hàng, tên khách hàng, tổng thành tiền
Ví dụ 3: Muốn biết thông tin tổng hợp về khách hàng Gồm: Mã khách hàng, tên khách hàng, số hóa đơn, tổng thành tiền của các hóa đơn (Tạo một Select Query với sự tham gia của hai Total Query vừa tạo ở trên)
Ví dụ 4: Cho biết thông tin về mỗi sản phẩm trong quý 3 năm 2004 Gồm: Mã sản phẩm, tên sản phẩm, số hóa đơn đã ghi cho sản phẩm, tổng thành tiền sản phẩm
Thanhtien:dongia*soluong
Kéo Field để tạo liên kết
Trang 28Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 28
V Tổng hợp bằng Crosstab Query
1 Tổng quan
▬ Có dạng tổng hợp dữ liệu như Total Query dựa trên việc lập nhóm của ít nhất là
2 Field và được trình bày dưới dạng bảng kết quả 2 chiều Do đó sẽ dễ quan sát và rõ ràng hơn
▬ Crosstab Query rất thông dụng trong việc sử dụng làm nguồn để tạo các Report hoặc Subform
Ví dụ: Bảng tổng hợp thành tiền của mỗi khách hàng theo từng quý của năm 2004
2 Các bước tạo Crosstab Query
▬ Bước 1: Cửa sổ Database Thẻ Query New Design View
▬ Bước 2: Chọn các Table|Query tham gia tạo Query mới
▬ Bước 3: Chọn các Field tham gia tạo Query
▬ Bước 4: Menu View Total Xuất hiện dòng Total
▬ Bước 5: Menu Query Crosstab Query Xuất hiện dòng Crosstab
▬ Bước 6: Chọn các tiêu chuẩn:
Chọn Column Heading ở dòng Crosstab ứng với chọn Group By ở dòng Total của Field được dùng làm tiêu đề cột (chỉ được chọn một Column Heading)
Chọn Row Heading ở dòng Crosstab ứng với chọn Group By ở dòng Total của Field được dùng làm tiêu đề hàng (có thể chọn nhiều Row Heading nhưng có
ít nhất một Group By trong các Row Heading này)
Chọn Value ở dòng Crosstab ứng với chọn một tiêu chuẩn tổng kết ở dòng Total (không phải là Group By) của Field được dùng để tổng kết dữ liệu (chỉ được chọn một Value)
Chọn Not Shown ở dòng Crosstab ứng với Field được chọn Where để lập điều kiện lựa chọn
▬ Bước 7: Kiểm tra kết quả
Trang 29Một số lưu ý khi tạo Crosstab Query:
▬ Nếu Crosstab Query được dùng để làm nguồn cho Report hoặc Subform thì cần phải chỉ định các tiêu đề cột cho bảng kết quả của Crosstab Query:
▬ Trong ví dụ trên, các tiêu đề cột “Quy1”, “Quy2”, “Quy3”, “Quy4” cần phải được khai báo như sau :
Bấm mouse tại vùng trống của
cửa sổ Disgn Query Chọn
Properties
Trong mục Column Heading
nhập: “Quy1”; “Quy2”; “Quy3”;
Trang 30Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 30
Ví dụ 2: Để tìm hiểu xem mỗi khách hàng của công ty đã đặt bao nhiêu đơn đặt hàng trong mỗi tháng của năm 2004, đồng thời cho biết tổng số hóa đơn đã đặt hãy thiết kế một Crosstab Query như sau:
b Ý nghĩa
▬ Thiết kế các báo cáo kết xuất những số liệu phát sinh tính từ một thời điểm nào
đó hoặc tính đến một thời điểm nào đó Ví dụ, muốn thiết kế một bảng báo cáo trình bày doanh số bán hàng trong 2 tháng cuối năm 2004 Thiết kế một Make Table Query tạo ra một Table mới với những Record được trích từ các Record hóa đơn bán trong 2 tháng cuối năm 2004 và sau đó dựa vào Table mới này để thiết kế báo cáo
Trang 31▬ Tạo ra bản sao phòng hờ cho một Table có tầm quan trọng đặc biệt
▬ Làm tăng tính hiệu quả của Form và Report khi chúng cần những dữ liệu nguồn
từ nhiều Table Việc tạo ra Make Table Query từ nhiều Table sau đó dùng nó làm nguồn dữ liệu cho Form hoặc Report sẽ làm cho tốc độ khai thác dữ liệu tăng lên đáng kể
▬ Thế nhưng Make Table Query hoàn toàn bị động và chỉ được ghi nhận tại thời điểm chạy Query
c Các bước tạo Make Table Query
▬ Bước 1 : Thực hiện việc tạo Query trong chế độ Design View
▬ Bước 2: Chọn các Table và các
Field cần thiết
▬ Bước 3: Menu Query Make
Table Query
▬ Bước 4: Hộp thoại “Make Table”:
Table Name: Nhập tên Table
mới
Current Database: Table mới sẽ thuộc CSDL hiện hành
Another Database: Table mới đặt trong một CSDL khác được khai báo trong hộp File Name
▬ Bước 5: Kiểm tra kết quả Query: Menu View Datasheet View
▬ Bước 6: Menu Query Run để thực thi Query
Chú ý:
▬ Sau khi chạy (Run) Make Table Query trong CSDL sẽ tồn tại thêm một Table mới, các Field trong Table mới được lấy từ những Table khác và có cùng các thuộc tính Tuy nhiên, Table này không có Field khóa chính và không có sự liên
hệ nào khác Có thể mở Table mới này ở chế độ Design View để thêm khóa chính, thiết lập mối quan hệ hoặc khai báo thuộc tính cho những Field của Table
▬ Chỉ thực thi (Run) Make Table Query khi nào thực sự muốn tạo một Table mới
2 Delete Query:
a Giới thiệu
▬ Dùng để loại bỏ các Record ra khỏi Table theo một điều kiện nào đó Đồng thời bảo đảm tính chính xác trong thao tác xóa bỏ
▬ Trong phần lớn trường hợp, chỉ có thể xóa bỏ những Record trong một Table
b Các bước tạo Delete Query
▬ Bước 1: Tạo Query trong chế độ Design
▬ Bước 2: Chọn Table
▬ Bước 3: Chọn Menu Query Delete
Trang 32Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 32
▬ Bước 4: Trong cửa sổ Design kéo dòng có biểu tượng dấu * của Table chứa các Record muốn xóa vào vùng lưới QBE (Ô Delete của Field này xuất hiện từ From)
▬ Bước 5: Chọn các Field dùng để đặt điều kiện xóa vào các cột tiếp theo (Ô Delete của các vùng này sẽ xuất hiện từ Where)
▬ Bước 6: Trong ô Criteria của các vùng có từ Where khai báo các điều kiện xóa
▬ Bước 7: Chuyển sang chế độ Datasheet View để kiểm tra Query
▬ Bước 8: Thực thi Query: Menu Query Run
3 Append Query:
a Giới thiệu
▬ Append Query dùng để cập nhật thêm dữ liệu vào cuối một Table từ một Table khác Mặt khác cũng có thể đưa thêm dữ liệu vào Table phụ thuộc vào một điều kiện nào đó
b Các bước tạo Append Query
▬ Bước 1: Tạo Query trong chế độ Design
▬ Bước 2: Chọn Table có dữ liệu muốn nối thêm vào Table khác
▬ Bước 3: Chọn Menu Query Append Query Xuất hiện dòng Append to trong lưới QBE
▬ Bước 4: Hộp thoại “Append”:
Table Name: Nhập tên Table
đích nơi muốn thêm dữ liệu vào
Current Database: Table đích
nằm trong CSDL hiện hành
Another Database: Table đích
nằm trong một CSDL khác được
khai báo trong hộp File Name
▬ Bước 4: Chọn các Field có dữ liệu cần nối thêm vào lưới QBE (tên Field được so sánh trong các ô Append to)
▬ Bước 5: Thiết lập điều kiện lựa chọn tại các ô Criteria
▬ Bước 6: Kiểm tra kết quả của Query trong chế độ Datasheet
▬ Bước 7: Thực thi Query: Menu Query Run
4 Update Query
a Giới thiệu
▬ Cho phép hiệu chỉnh và cập nhật có hệ thống dữ liệu của các Table đang tồn tại trong CSDL hiện hành
b Các bước tạo Update Query
▬ Bước 1: Tạo Query trong chế độ Design View
▬ Bước 2: Chọn Table tương ứng vào vùng lưới QBE
Trang 33▬ Bước 3: Chọn Menu Query Update Query Xuất hiện dòng Update to trong lưới QBE
▬ Bước 4: Đưa các Field muốn cập nhật và các Field để lập tiêu chuẩn cập nhật vào lưới QBE
▬ Bước 5: Nhập tiêu chuẩn cập nhật vào các ô Criteria tương ứng
▬ Bước 6: Nhập biểu thức có giá trị cần cập nhật vào các ô Update to tương ứng
▬ Bước 7: Kiểm tra Query trong chế độ Datasheet View
▬ Bước 8: Thực thi Query: Menu Query Run
*********************************************************
Trang 34Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 34
BÀI 04:
FORM WIZARD TRONG MICROSOFT ACCESS
I Tổng quan:
▬ Form là đối tượng dùng để cập nhật hoặc trình bày dữ liệu trong các Query Form
có hình thức rất phong phú do đó thường được dùng để thiết kế các giao diện để cập nhật dữ liệu vào các Table (Gọi là Form có nguồn)
▬ Ngoài ra Form còn được dùng để tạo các vùng làm việc trung gian (hộp thoại) trong quá trình xử lý dữ liệu (Gọi là Form không có nguồn)
▬ Thiết kế Form theo hướng dẫn của Access (Form Wizard) là tạo ra Form có nguồn
▬ Chế độ hiển thị Form: Menu View Form View
▬ Chế độ thiết kế Form: Menu View Design View
II Form Wizard
1 Tạo Form đơn
▬ Loại Form có nguồn là một Table hoặc một Query với 4 dạng hiển thị:
Columnar: Dữ liệu hiển thị theo cột và tại mỗi thời điểm chỉ tồn tại duy nhất một Record
Tabular: Dữ liệu hiển thị theo hàng và mỗi hàng là một Record
Datasheet: Dữ liệu có dạng một bảng tính
Justified: Dữ liệu sắp xếp liên tục từ trái qua phải và từ trên xuống dưới và tại mỗi thời điểm chỉ tồn tại duy nhất một Record
▬ Các bước tạo Form đơn:
Tạo Query nguồn (nếu cần) Cửa sổ
Database Thẻ Form New Cửa sổ
New Form Chọn Form Wizard và chọn
nguồn trong hộp “Choose the table or query
where the object’s data come from” OK
Hộp thoại 1: Chọn các Field hiển thị trên Form
từ “Available Field” qua
“Selected Field” (Field không được đưa qua vần thuộc nguồn của Form)
Trang 35 Hộp thoại 2: Chọn dạng hiển thị Form
Hộp thoại 3: Chọn loại nền cho Form
Hộp thoại 4: Đặt tên cho Form (nên
đặt không có khoảng trắng)
Ví dụ 1: Mẫu Form dạng Columnar
với nguồn là Table Nhanvien
Ví dụ 2: Mẫu Form dạng Tabular với nguồn là Table Nhanvien
Trang 36Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 36
Ví dụ 3: Mẫu Form dạng Justified
với nguồn là Table Nhanvien
2 Tạo Main – Sub Form
▬ Loại Form có nguồn là các Field được chọn từ các Table có quan hệ “một - nhiều” Trong đó, Form hiển thị gồm hai vùng: vùng chứa các Field bên “một” và vùng chứa các Field bên “nhiều”
▬ Các bước tạo Main – Sub Form:
Tạo Query nguồn cho Mainform và Subform (nếu cần)
Cửa sổ “Database” Thẻ Form New
Chọn Form Wizard Chọn nguồn cho Mainform trong hộp “Choose the table
or query where the object’s data come from”
Hộp thoại 1: Chọn các Field hiển thị trong vùng Mainform đưa qua danh mục Selected Field Sau đó, chọn nguồn Subform trong hộp Table|Query
và chọn các Field hiển thị trong vùng Subform đưa qua danh mục Selected Field
Hộp thoại 2: Hiển thị dạng Main –
Sub Form với tùy chọn Form with
Subform hoặc Link Form
Hộp thoại 3: Chọn dạng Subform (Datasheet hoặc Tabular)
Trang 37 Hộp thoại 4: Chọn loại nền cho Form
Hộp thoại 5: Đặt tên cho Mainform và Subform
Ví dụ: Mẫu Main – Sub Form
“Nhanvien – Hoadon”
3 Các thao tác trên Form:
3.1- Di chuyển giữa các Record
▬ Sử dụng thanh dịch chuyển Record ở cuối Form
3.2- Chỉnh sửa các đối tượng trên Form
▬ Chuyển qua chế độ Design View để chỉnh sửa Dùng mouse chọn từng đối tượng
để có thể chỉnh sửa bằng các thao tác như các đối tượng Drawing của Word
Chuyển về record đầu tiên (first record)
Chuyển về record đứng trước (previous record)
Record hiện hành Chuyển tới record đứng sau (next record)
Chuyển tới record cuối cùng (last record)
Cho phép nhập record mới (add new record)
Trang 38Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 38
BÀI 05:
REPORT WIZARD TRONG MICROSOFT ACCESS
I Tổng quan
▬ Là đối tượng dùng để kết xuất dữ liệu trên Table|Query và có tác dụng rất mạnh
về mặt in ấn Do đó, cần phải chú ý về mặt mỹ thuật khi thiết kế
▬ Ngoài ra, để có thể thiết kế được Report ta cần phải chú ý rằng máy tính phải được khai báo kết nối với một máy in
▬ Chế độ thiết kế : Menu View Design View
▬ Chế độ xem trên màn hình : Menu View Print Preview
II Report Wizard
▬ Cũng giống như Form, ta cũng có thể tạo Report thông qua trợ giúp của Access theo các bước sau:
Tạo Query nguồn cho Report (nếu cần)
Cửa sổ “Database” Thẻ Report New
Chọn Report Wizard và chọn nguồn trong hộp “Choose the table or query where the object’s data comes from”
Hộp thoại 1: Đưa các Field hiển
thị trong Report từ Available
Field qua Selected Field
Hộp thoại 2: Chọn Field lập nhóm cho Report
Trang 39 Hộp thoại 3: Chọn Field sắp xếp
(tùy chọn) Nếu có nhu cầu
thống kê các giá trị số trên
Hộp thoại 6: Đặt tên cho Report
(nên đặt không có khoảng trắng)
Trang 40Biên so ạn: TÔ HU ỲNH THIÊN TRƯỜNG Trang 40
Ví dụ 1: Mẫu Report được lập nhóm theo tên khách hàng
Ví dụ 2: Mẫu Report được lập nhóm theo tên khách hàng và mã hóa đơn
III Report Label Wizard
▬ Loại Report cho phép tạo ra các mẫu dạng thư mời giống như chức năng thư trộn trong Word
▬ Người thiết kế cần phải xác định kích thước và nội dung của mỗi mẫu thư trước khi bắt tay vào thiết kế
▬ Ví dụ: Giả sử cửa hàng cần có các thư mời để gởi cho các khách hàng của mình
dự buổi tiệc nhân dịp tất niên tại một nhà hàng nào đó theo thời gian qui định Nhân viên vi tính trong cửa hàng có thiết lập mẫu như sau in trên 1 cột của tờ giấy A4: