🔙 Quay lại trang tải sách pdf ebook Microsoft Access - Giáo trình năm 2012
Ebooks
Nhóm Zalo
Nguyễn Trần Phương
MICROSOFT ACCESS - GIÁO TRÌNH NĂM 2012
Giáo trình Access 2010 có cập nhật phiên bản 2013
HÒA BÌNH
6-10-2013
Giáo trình Access
-1-
Giáo trình Access
Chương 1
TỔNG QUAN VỀ MICROSOFT ACCESS 2010 1.1. Giới thiệu:
Microsoft Access là một thành phần trong bộ Microsoft Office của hãng Microsoft. MS Access cung cấp cho người dùng giao diện thân thiện và các thao tác ñơn giản, trực quan trong việc xây dựng và quản trị cơ sở dữ liệu cũng như xây dựng các ứng dụng cơ sở dữ liệu.
Access là một hệ quản trị cơ sở dữ liệu quan hệ (RDMS- Relational Database Management System), rất phù hợp cho các bài toán quản lý vừa và nhỏ. Hiệu năng cao và ñặc biệt dễ sử dụng do giao diện giống các phần mềm khác trong bộ MS Office như MS Word, MS Excel.
Access còn cung cấp hệ thống công cụ phát triển khá mạnh ñi kèm (Development Tools) giúp các nhà phát triển phần mềm ñơn giản trong việc xây dựng trọn gói các dự án phần mềm quản lý qui mô vừa và nhỏ
MS Access 2010 cung cấp hệ thống công cụ rất mạnh, giúp người dùng nhanh chóng và dễ dàng xây dựng chương trình ứng dụng thông qua query, form, report kết hợp với một số lệnh Visual Basic.
Trong Microsoft Access 2010, bạn có thể xây dựng cơ sở dữ liệu web và ñưa chúng lên các SharePoint site. Người duyệt SharePoint có thể sử dụng ứng dụng cơ sở dữ liệu của bạn trong một trình duyệt web, sử dụng SharePoint ñể xác ñịnh ai có thể xem những gì. Nhiều cải tiến mới hỗ trợ khả năng ñưa dữ liệu lên web, và cũng cung cấp lợi ích trong việc xây dựng cơ sở dữ liệu trên máy ñơn truyền thống.
Access 2010 giao diện người dùng cũng ñã thay ñổi. Nếu bạn không quen với Office Access 2007, Ribbon và Cửa sổ Danh mục chính có thể là mới cho bạn. Thanh Ribbon này thay thế các menu và thanh công cụ từ phiên bản trước. Cửa sổ Danh mục chính thay thế và mở rộng các chức năng của cửa sổ Database.
-2-
Giáo trình Access
Và một ñiểm mới trong Access 2010, Backstage View cho phép bạn truy cập vào tất cả các lệnh áp dụng cho toàn bộ cơ sở dữ liệu, như là thu gọn và sửa chữa, hoặc các lệnh từ menu File.
Các lệnh ñược bố trí trên các tab ở phía bên trái của màn hình, và mỗi tab chứa một nhóm các lệnh có liên quan hoặc các liên kết. Ví dụ, nếu bạn nhấn New, bạn sẽ thấy tập hợp các nút cho phép bạn tạo ra một cơ sở dữ liệu mới từ ñầu, hoặc bằng cách chọn từ một thư viện của cơ sở dữ liệu các mẫu thiết kế chuyên nghiệp.
1.2. Khởi ñộng Access 2010:
ðể khởi ñộng MS Access
ta có thể dùng một trong
các cách sau:
− Cách 1: Start ⓪ (All)
Programs ⓪ Microsoft
Office ⓪ Microsoft
Office Access 2010.
− Cách 2: Double click
vào shortcut Ms Access
trên desktop, xuất hiện
cửa sổ khởi ñộng Access như hình.
1.3. Các thành phần trong cửa sổ khởi ñộng:
1.3.1. 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 Customize sẽ xuất
hiện một menu giúp bạn chỉ ñịnh các
nút lệnh hiển thị trên thanh Quick
Access, nếu các lệnh không có trong
menu, bạn có thể click nút More
-3-
Giáo trình Access
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.
1.3.2. 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.
1.3.3. Thanh Ribbon:
Bên dưới thanh tiêu ñề, Access 2010 hiển thị các nút lệnh trên một thanh dài ñược gọi là Ribbon, thanh Ribbon có thể chiếm nhiều không gian màn hình, ta có thể thu nhỏ kích thước của Ribbon bằng cách click nút Minimize The Ribbon
Thanh Ribbon
ñược tạo bởi nhiều
tab khác nhau, ñể
truy cập vào một
tab bạn có thể click
-4-
Giáo trình Access
trên nhãn của tab hoặc dùng phím tắt. Nhấn phím Alt hoặc F10 ñể hiển thị tên của các phím tắt của các tab.
Hầu hết các tab trên Ribbon ñược chia thành từng nhóm khác nhau, mỗi nhóm hiển thị tiêu ñề con bên dưới của nhóm. Một số nhóm trong Ribbon có hiển thị nút , khi click nút này sẽ xuất hiện cửa sổ cho phép thiết lập các thuộc tính của nhóm tương ứng.
1.3.4. Cửa sổ Properties
Cửa sổ Properties giúp bạn có thể
hiệu chỉnh thuộc tính của ñối
tượng, tùy theo ñối tượng ñang
ñược chọn mà cửa sổ thuộc tính
sẽ chứa những thuộc tính tương
ứng của ñối tượng ñó.
ðể mở cửa sổ Properties, bạn
chọn ñối tượng muốn thay ñổi
thuộc tính, chọn tab Design hoặc
nhấn tổ hợp phím Atl +Enter
Cửa sổ Properties ñược chia
thành năm nhóm
− Format: Gồm các thuộc tính
ñịnh dạng ñối tượng
− Data: Gồm các thuộc tính truy suất dữ liệu của ñối tượng. − Event: Gồm các sự kiện (event) của ñối tượng.
− Other: Gồm các thuộc tính giúp bạn tạo hệ thống menu, toolbars,…
− All: Gồm tất cả các thuộc tính trong bốn nhóm trên.
-5-
Giáo trình Access
1.3.5. ThanhNavigationPane
Navigation Pane là khung chứa nội
dung chính của cơ sở dữ liệu. Từ khung
Navigation Pane, bạn có thể mở bất kỳ
Table, Query, Form, Report, Macro,
hoặc module trong cơ sở dữ liệu bằng
cách double click vào tên của ñối tượng.
Bằng cách click phải vào tên của ñối
tượng trong Navigation Pane, bạn có thể
thực hiện các thao tác với ñối tượng như:
ñổi tên, sao chép, xoá, import, export một
ñối tượng…
Nhấn phím F11 hoặc click vào mũi tên kép ở góc trên bên phải của khung Navigation Pane ñể hiển thị hoặc ẩn khung Navigation Pane.
1.4. Cách tạo tập tin cơ sở dữ liệu:
1.4.1. Tạo một cơ sở dữ liệu mới rỗng:
− 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
thì mặc ñịnh tập
tin mới tạo sẽ
ñược lưu trong
thư mục
Document, ngược
lại, click nút
Brows ñể chỉ
ñịnh vị trí lưu tập
tin. Click nút
Create ñể tạo tập tin cơ sở dữ liệu.
-6-
Giáo trình Access
1.4.2. Tạo cơ sở dữ liệu theo mẫu (Template)
− Tại cửa sổ khởi ñộng.
− Chọn Sample Template⓪chọn một mẫu cơ sở dữ liệu có sẵn. − Trong khung File name, nhập tên tập tin cơ sở dữ liệu và click nút Browse ñể chỉ ñịnh vị trí lưu tập tin, Click nút create ñể tạo cơ sở dữ liệu.
1.5. Quản lý cơ sở dữ liệu
Sau khi tạo cơ sở dữ liệu, hoặc mở một cơ sở dữ liệu thì Tab File sẽ hiển thị các lệnh quản lý tập tin cơ sở dữ liệu.
1.5.1. Recent:
Mục Recent hiển thị
danh sách các tập tin cơ
sở dữ liệu ñược mở gần
nhất. Số tập tin hiển thị
trong danh sách này mặc
ñịnh là 9, có thể thay ñổi
bằng cách:
− Tại cửa sổ làm việc
của Access, chọn
tab File.
− Chọn Options⓪
Client Settings
− Trong mục Display,
thay ñổi giá trị của
thuộc tính “Show
This Number Of
Recent Documents”
− Click OK.
1.5.2. Mở một cơ sở dữ liệu:
ðể mở một cơ sở dữ liệu ñã có ta thực hiện một trong các cách sau:-7-
Giáo trình Access
− 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ở.
1.5.3. Thoát khỏi access:
Có thể thoát khỏi Access bằng một trong các cách:
* Chọn menu File ⓪Exit
* Nhấn tổ hợp phím Alt + F4;
* Hoặc sử dụng nút Close trên cửa sổ Access ñang mở.
1.5.4. Thu gọn và chỉnh sửa cơ sở dữ liệu (Compact & Repair Database)
Khi tạo thêm ñối tượng trong cơ sở dữ liệu thì dung lượng của tập tin cơ sở dữ liệu sẽ tăng lên, khi xóa một ñối tượng thì vùng nhớ của nó sẽ rỗng, nhưng không sử dụng ñược.
Chức năng Compact & Repair Database giúp thu hồi lại phần bộ nhớ bị rỗng, làm cho tập tin cơ sở dữ liệu gọn lại.
Cách thực hiện:
− Mở cơ sở dữ liệu cần thu gọn và chỉnh sửa
− Click nút Compact & Repair Database
-8-
Giáo trình Access
1.5.5. Tạo password
− Mở cơ sở dữ liệu ở chế
ñộ Exclusive bằng
cách: File⓪ Open⓪
Open Exclusive.
− Chọn tab File⓪ Chọn
lệnh Info⓪ Click nút
set Database Password
− Nhập Password 2 lần ⓪
OK
1.5.6. Gở bỏ password
− Mở cơ sở dữ liệu ở chế ñộ Exclusive: File⓪ Open⓪ Open Exclusive
− Trong tab File, chọn lệnh Info⓪Click nút UnSet Database Password.
1.6. Các ñối tượng trong cơ sở dữ liệu trong Access
Cơ sở dữ liệu là
một tập hợp những
số liệu liên quan
ñến một mục ñích
quản lý, khai thác
dữ liệu nào ñó,
CSDL trong Access
là cơ sở dữ liệu
quan hệ gổm các
thành phần: Tables,
Querys, Forms,
Reports, Pages,
Macros, Modules.
1.6.1. Bảng (Tables):
Table là thành phần quan trọng nhất của tập tin cơ sở dữ liệu Access, dùng ñể lưu trữ dữ liệu. Do ñó ñây là ñối tượng phải ñược
-9-
Giáo trình Access
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.
1.6.2. Truy vấn (Queries):
Query là công cụ ñể người sử dụng truy vấn thông tin và thực hiện các thao tác trên dữ liệu. Người sử dụng có thể sử dụng ngôn ngữ SQL hoặc công cụ QBE ñể thao tác trên dữ liệu.
1.6.3. Biểu mẫu (Forms):
Form là công cụ ñể thiết kế giao diện cho chương trình, dùng ñể cập nhật hoặc xem dữ liệu. Biểu mẫu giúp thân thiện hóa quá trình nhập, thêm, sửa, xóa và hiển thị dữ liệu.
1.6.4. Báo cáo (Reports):
Report là công cụ giúp người dùng tạo các kết xuất dữ liệu từ các bảng, sau ñó ñịnh dạng và sắp xếp theo một khuôn dạng cho trước và có thể in ra màn hình hoặc máy in.
1.6.5. Tập lệnh (Macros):
Macro là một tập hợp các lệnh nhằm thực hiện một loạt các thao tác ñược qui ñịnh trước. Tập lệnh của Access có thể ñược xem là một công cụ lập trình ñơn giản ñáp ứng các tình huống cụ thể.
1.6.6. Bộ mã lệnh (Modules):
Là công cụ lập trình trong môi trường Access mà ngôn ngữ nền tảng của nó là ngôn ngữ Visual Basic for Application. ðây là một dạng tự ñộng hóa chuyên sâu hơn tập lệnh, giúp tạo ra những hàm người dùng tự ñịnh nghĩa. Bộ mã lệnh thường dành cho các lập trình viên chuyên nghiệp.
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
-10-
Giáo trình Access
1.7. Thao tác với các ñối tượng trong cơ sở dữ liệu:
ðể làm việc trên ñối tượng, ta chọn ñối tượng
trên thanh Access object, các thành viên của
ñối tượng sẽ xuất hiện bên dưới tên của ñối
tượng.
1.7.1. Tạo mới một ñối tượng:
− Click tab Create trên thanh Ribbon.
− Trong nhóm công cụ của từng ñối tượng,
chọn cách tạo tương ứng.
1.7.2. Thiết kế lại một ñối tượng:
− Nếu ñối tượng ñang ñóng:
* Click phải trên ñối tượng cần thiết kế lại.
* Chọn Design view.
− Nếu ñối tượng ñang mở:
* Click nút Design View.
1.7.3. Xem nội dung trình bày của một ñối tượng:
− Nếu ñối tượng ñang mở ở chế ñộ Design View
* Click nút View.
− Nếu ñối tượng ñang ñóng:
* Click phải trên tên ñối tượng cần xem.
* Chọn Open.
1.7.4. Xóa một ñối tượng.
− Click phải chuột trên ñối tượng cần xóa,
− Chọn mục delete trên Menu Popup.
− Hoặc chọn rồi nhấn phím Delete. Hoặc nút trên thanh công cụ.
1.7.5. ðổi tên ñối tượng
− Click phải chuột trên ñối tượng, chọn rename,
− Hoặc nhấn F2
− Nhập tên mới.
-11-
Giáo trình Access
1.7.6. Sao chép một ñối tượng
− Click phải chuột lên thành viên cần chép
− Chọn mục copy ñể chép ñối tượng vào Clipboard.
− Click nút Paste trên thanh Menu ñể chép vào cửa sổ database. − Nhập tên cho ñối tượng sao chép.
− ðối với kiểu ñối tượng Table, ta có thể lựa chọn 1 trong 3 kiểu sao chép
* Structure only: Sao chép cấu trúc
* Structure and data:
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.
1.7.7. Chép dữ liệu từ Access sang ứng dụng khác (Export).
Có thể xuất dữ liệu sang cơ sở dữ liệu Access khác, hoặc Excel,Word, Pdf …
Cách thực hiện:
− Chọn ñối tượng muốn xuất sang ứng dụng khác.
− Chọn tab External Data.
− Trong nhóm công cụ Export, chọn loại ứng dụng mà bạn muốn xuất dữ liệu: Excel, Text file, XML file, Word, Access…
− Click nút Browse… chỉ ñịnh vị trí xuất dữ liệu.
− Click OK hoàn tất việc export dữ liệu.
-12-
Giáo trình Access
1.7.8. Chép dữ liệu từ ứng dụng khác vào cơ sở dữ liệu Access hiện hành (Import)
Có thể chép dữ liệu từ ứng dụng khác như Excel, ODBC Database, XML file, Access, …vào cơ sở dữ liệu hiện hành.
Cách thực hiện:
Chọn tab External Data.
− Trong nhóm lệnh Import & Link, chọn ứng dụng mà bạn muốn chép dữ liệu.
− Lần lượt làm theo các bước hướng dẫn của Access.
a. Chép dữ liệu từ Excel vào Access
* Trong cửa sổ làm việc của Access, chọn tab External Data, click nút Excel trong nhóm lệnh Import & Link.
* Chọn tập tin Excel cần chép (Click nút Browse… ñể tìm tập tin Excel)⓪Open
* OK, sau ñó thực hiện theo các bước hướng dẫn của Access + Chọn sheet chứa dữ liệu cần chép, ⓪Next.
+ Chọn dòng làm tiêu ñề cho bảng, ⓪Next.
+ Chỉ ñịnh thuộc tính cho các field ⓪Next.
+ Chọn cách tạo khóa cho bảng
-13-
Giáo trình Access
▪ Let Access add primary key: Access tự tạo khóa.
▪ Chose my own primary key: Bạn chỉ ñịnh khóa.
▪ No primary key: Không tạo khóa.
+ Nhập tên cho bảng ⓪ Finish.
+ Access hiển thị thông báo cho biết hoàn tất quá trình import một file Excel thành một bảng trong Access.
b. Chép dữ liệu từ cơ sở dữ liệu Access khác vào cơ sở dữ liệu hiện hành.
* Trong cửa sổ làm việc
của Access, chọn tab
External Data, click nút
Access trong nhóm lệnh
Import & Link.
* Chọn tập tin Access
chứa dữ liệu cần chép
(Click nút Browse… ñể
tìm tập tin Access)⓪
Open.
* Chọn tùy chọn “Import
table, query, form,
report, macro and
modules into the
current database” ñể
chỉ ñịnh vị trí lưu trữ dữ
liệu trong cơ sở dữ liệu
hiện hành⓪OK
* Trong cửa sổ Import
-14-
Giáo trình Access
object, chọn ñối tượng cần chép. Có thể chọn nhiều ñồng thời ñối tượng hoặc chọn tất cả bằng cách click nút Select All⓪OK.
1.7.9. Chức năng Link
Chức năng Link trong Acces
ñể duy trì mối liên kết với dữ
liệu nguồn. Nếu dữ liệu nguồn
thay ñổi thì dữ liệu trong bảng
liên kết sẽ thay ñổi theo và
ngược lại.
Cách thực hiện tương tự như
chức năng Import, nhưng trong
cửa sổ Get External Data, ta
chọn tùy chọn “Link to data
source by creating a link table”⓪ Chọn bảng muốn link⓪ OK 1.8. Chọn giao diện người dùng trong Access 2010
Các phiên bản trước ñây của Access cung cấp chỉ một loại giao diện người dùng duy nhất là các cửa sổ có thể chồng lên nhau. Bắt ñầu với Access 2007, và bây giờ trong Access 2010, bạn có sự lựa chọn của việc sử dụng các giao diện truyền thống hoặc loại giao diện mới có dạng các tab.
1.8.1. Tabbed Documents
Tabbed Documents là giao diện lý tưởng cho người dùng làm việc với nhiều hơn một ñối tượng tại một thời ñiểm. Trong giao diện này form và report không thể nằm trên ñầu trang của một khác và người dùng có thể xem tất cả các ñiều khiển trên một ñối tượng giao diện người dùng mà không cần phải di chuyển một ñối tượng trong ñường ñi.
-15-
Giáo trình Access
1.8.2. Overlapping Windows
Overlapping Windows có lợi thế hơn. Do sự ña dạng của việc thiết lập thuộc tính BorderStyle và khả năng loại bỏ các nút Min, Max, và Close.
Với giao diện Overlapping Windows, bạn có thể dễ dàng buộc người dùng tương tác vớimộtformtạimộtthời ñiểm.
1.8.3. Chuyển từ giao diện Tabbed Documents sang Overlapping Windows
ðối với Access 2007 và Access 2010 thì khi khởi ñộng mặc ñịnh là giao diện Tabbed Documents ñể chuyển sang dạng Overlapping Windows ta thực hiện như sau:
− Trong cửa sổ làm việc của Access, chọn tab File⓪ chọn lệnh Options.
− Trong cửa sổ Access
options, chọn
Current Database.
− Trong mục
Document Window
Options
− Chọn Overlapping
Windows⓪OK
− Thoát khỏi Access
và khởi ñộng lại.
-16-
Giáo trình Access
Chương 2
XÂY DỰNG CƠ SỞ DỮ LIỆU
Xây dựng cơ sở dữ liệu là công việc quan trọng ñầu tiên trong toàn bộ qui trình phát triển một ứ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ẽ là những thuận lợi trong quá trình phát triển ứng dụng.
2.1. Khái niệm về cơ sở dữ liệu Access
Một cơ sở dữ liệu Access bao gồm tập hợp các bảng dữ liệu có quan hệ chặt chẽ, phù hợp ñể phục vụ lưu trữ dữ liệu cho một ứng dụng quản lý.
Ví dụ:
Một cơ sở dữ liệu Quản lý sinh viên bao gồm tập hợp các bảng dữ liệu: SINHVIEN, LOP, MONHOC, KETQUA ñược kết nối nhau một cách phù hợp phục vụ việc lưu trữ dữ liệu cho ứng dụng quản lý sinh viên. Cấu trúc cơ sở dữ liệu quản lý sinh viên trong Access ñược mô tả như sau:
2.2. Bảng dữ liệu (Table)
2.2.1. Khái niệm:
Bảng (Table): Là thành phần cơ bản trong cơ sở dữ liệu của MS Access. ðây là ñối tượng quan trọng nhất, dùng ñể lưu trữ dữ liệu, mỗi bảng lưu trữ thông tin về một ñối tượng ñang quản lý. Một bảng gồm có nhiều cột (field) và nhiều hàng (record)
Cột (Field) : Mỗi field (field hoặc cột) trong một bảng chỉ chứa một loại dữ liệu duy nhất, nó lưu trữ một thuộc tính của ñối tượng.Trong một bảng phải có ít nhất một field.
-17-
Giáo trình Access
Ví dụ:
Bảng SINHVIEN, lưu trữ thông tin của ñối tượng sinh viên, gồm các field MASV, HOSV, TENSV, PHAI, NGAYSINH, DIACHI, MALOP.
Các field biểu diễn thông tin của sinh viên
Record
Dòng (Record): Là một thể hiện dữ liệu của các field trong bảng. Trong một bảng có thể có không có record nào hoặc có nhiều records. Trong một bảng thì dữ liệu trong các record không ñược trùng lắp.
2.2.2. Khóa chính (Primary key)
Khóa chính của một bảng là một hoặc nhiều field kết hợp mà theo ñó Access sẽ xác ñịnh một record duy nhất trong bảng. Dữ liệu trong field khóa chính không ñược trùng và không rỗng. Thông thường, trong mỗi bảng nên có khóa chính ñể tạo quan hệ giữa các bảng trong cơ sở dữ liệu và ñể MS Access tự ñộng kiểm tra ràng buộc dữ liệu khi người dùng nhập liệu.
Ví dụ: trong bảng sinh viên Mã sinh viên xác ñịnh một sinh viên duy nhất.
Khóa chính
Khi một field hoặc nhiều field kết hợp ñược chỉ ñịnh là khóa chính thì Access sẽ tự ñộng tạo chỉ mục cho chúng.
-18-
Giáo trình Access
Khi nhập dữ liệu, Access sẽ tự ñộng kiểm tra khóa chính và không cho phép trùng lắp, và không rỗng.
2.2.3. Khóa ngoại (Foreign key)
Khóa ngoại là một field hay một nhóm các field trong một record của một bảng, trỏ ñến khóa chính của một record khác của một bảng khác. Thông thường, khóa ngoại trong một bảng trỏ ñến khóa chính của một bảng khác.
Dữ liệu trong field khóa ngoại phải tồn tại trong field khóa chính mà nó trỏ tới. Khóa ngoại dùng ñể tạo quan hệ giữa các bảng trong cơ sở dữ liệu
Ví dụ:
Khóa ngoại Khóa chính
2.3. Cách tạo bảng
2.3.1. Tạo bảng bằng chức năng Table Design:
Bước 1: Trong cửa sổ làm việc của Access,
trên thanh Ribbon, click tab Create, trong
nhóm lệnh Table, click nút lệnh Table
Design, xuất hiện cửa sổ thiết kế bảng gồm
các thành phần:
−Field Name: ñịnh nghĩa các 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.
-19-
Giáo trình Access
* 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ấp nhận khoảng trắng, không phân biệt chữ hoa, chữ thường. Nên nhập tên field theo tiêu chí: Ngắn gọn, dễ nhớ, gợi nghĩa, và không có khoảng trắng.
−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
-20-
Giáo trình Access
−Nhập tên cho bảng trong
hộp thoại Save as như
hình (trong trường hợp
Table mới tạo, chưa ñặt
tên).
Lưu ý: Nếu bảng chưa ñược ñặt khóa chính thì Access sẽ hiển thị một hộp thoại thông báo:
* Nhấn nút Cancel ñể trở lại cửa sổ thiết kế, ñặt khoá chính cho bảng.
* Nhấn nút No ñể lưu mà không cần ñặt khóa chính, có thể ñặt sau.
* Nhấn nút Yes ñể Access tự tạo khoá chính có tên là ID, kiểu Autonumber.
2.3.2. Tạo bảng trong chế ñộ Datasheet View
Có thể tạo bảng bằng cách ñịnh nghĩa trực tiếp các cột trong chế ñộ DataSheet View như sau:
− Trong cửa sổ làm
việc của Access,
chọn tab Create
trên thanh Ribbon,
trong nhóm lệnh
Table, click nút
Table, xuất hiện
bảng mới ở chế ñộ
Datasheet View.
−Thanh Ribbon chuyển sang tab Field với nhóm lệnh Add & Delete giúp bạn chọn kiểu dữ liệu cho Field mới khi thêm Field vào bảng.
-20-
Giáo trình Access
−ðặt trỏ trong ô bên dưới Field
mới (Click to Add), sau ñó
chọn một trong các kiểu dữ
liệu trong nhóm Add &
Delete trên thanh Ribbon.
Hoặc click chuột trên Click to
Add, chọn kiểu dữ liệu trong
menu. Có thể click nút More
Fields ñể chọn các kiểu dữ
liệu khác.
−Nhập tên cho Field mới.
−Tạo Field tính toán:
− Khi thiết kết bảng ở
chế ñộ DataSheet
View, bạn có thể tạo
một Field mới mà nó
là kết quả của một
biểu thức tính toán từ
các Field trước, bằng
cách:
* Click tiêu ñề Click
to Add của Field
mới như hình trên.
* Chọn lệnh Calculated Field, xuất hiện cửa sổ Expression Builder
* Nhập biểu thức tính toán.
2.4. Các kiểu dữ liệu (Data Type)
Trong access mỗi Field có thể nhận một trong các kiểu dữ liệu sau:-21-
Giáo trình Access
Data Type
Kiểu dữ liệu
Dữ liệu
Kích thước
Text
Văn bản
Tối ña 255 ký tự
Memo
Văn bản nhiều dòng, nhiều trang
Tối ña 65.535 ký tự
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.
1, 2, 4, hoặc 8
byte
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.
8 byte
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.
4 byte
Yes/no
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.
Tối ña 1 GB
HyperLink
Dữ liệu của field là các link.
Lookup
Wizard
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ó ñượ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 chương trình khác, nhưng bạn không thể nhập văn bản hoặc dữ liệu số.
-22-
Giáo trình Access
ðể thay ñổi những ñịnh dạng mặc
ñịnh của các kiểu dữ liệu trong môi
trường Window, chọn Start
⓪ Control Panel ⓪ Regional
and Language ⓪ Customize.
− Tab Numbers ñể thay ñổi
ñịnh dạng số như dấu thập
phân, phân cách hàng
ngàn…
−Tab Date/Time ñể thay ñổi
ñịnh dạng ngày/giờ.
−Tab Currency ñể thay ñổi
ñơn vị tiền tệ.
2.5. Các thuộc tính của Field:
2.5.1. Field Size:
Quy ñịnh kích thước của field, tuỳ thuộc vào kiểu dữ liệu. Chỉ có hiệu lực với các Field có kiểu là Text hoặc Number.
−Dữ liệu kiểu text: giới hạn kích thước từ 0- 255 ký tự, mặc ñịnh là 50 ký tự.
−Dữ liệu kiểu Memo: giới hạn kích thước từ 0- 65.535 ký tự. −ðối với kiểu dữ liệu Number: kiểu Number bao gồm một số kiểu con, giới hạn kích thước kiểu Number chính là xác ñịnh kiểu con.
Field size
Miền giá trị
Số lẻ tối ña
Byte
0- 255
0
Integer
-32768- 32767
0
Long integer
- 214783648 – 214783647
0
Single
-3.4×1038- 3.4×1038
7
Double
-1.79×10308-1.79×10308
15
Decimal
-1028-1 – 1028-1
20
2.5.2. Decimal Places:
Quy ñịnh số chữ số thập phân (chỉ sử dụng trong trường hợp số có dạng single, double). ðối với kiểu Currency, Fixed, Percent luôn luôn decimal places là 2.
-23-
Giáo trình Access
2.5.3. Format:
Quy ñịnh dạng hiển thị của dữ liệu trên màn hình hoặc ra máy in, phụ thuộc vào kiểu dữ liệu. Có thể chọn các ñịnh dạng do Access cung cấp sẵn hoặc tạo một chuỗi ký tự ñịnh dạng riêng.
a) ðịnh dạng kiểu dữ liệu Text
Các ký tự ñịnh dạng kiểu dữ liệu Text
Ký tự ñịnh dạng
Tác dụng
@
Chuỗi ký tự
>
ðổi toàn bộ ký tự ra chữ hoa
<
ðổi toàn bộ ký tự ra chữ thường
“chuỗi ký tự”
Chuỗi ký tự giữa 2 dấu nháy
\
Ký tự nằm sau dấu \
[Black] [White] [Red] [Green] [Blue] [Yellow] [Magenta] [Cyan]
Màu (ký hiệu màu theo sau một trong các ký tự ñịnh dạng chuỗi phía trên)
Ví dụ:
ðịnh dạng
Dữ liệu nhập
Hiển thị
@@@-@@-@@@
12345678
123-45-678
>
Lý Tự Trọng
LÝ TỰ TRỌNG
<
Lý Tự Trọng
lý tự trọng
b) ðịnh dạng dữ liệu kiểu number
+ Các kiểu ñịnh dạng Access cung cấp sẵn
Ký tự
Tác dụng
General Number
Hiển thị ñúng như số nhập vào
Currency
Có dấu phân cách, dấu thập phân và ký hiệu tiền tệ.
Fixed
Hiển thị giống như cách ñịnh dạng trong Regional Settings của Control Panel, phần số lẻ thập phân phụ thuộc vào Decimal
Standard
Giống như dạng Fix, nhưng có dấu phân cách hàng ngàn.
Percent
Hiển thị số dạng phần trăm (%)
Scientific
Hiển thị số dạng khoa học
-24-
Giáo trình Access
Ví dụ:
Dạng
Dữ liệu nhập vào
Hiển thị
General Number
1234.5
1234.5
Currency
1234.5
$1,234.50
Fixed
1234.5
1234.5
Standard
1234.5
1,234.5
Percent
0.123
12.30%
Scientific
1234.5
1.23E+03
c) Các ký tự ñịnh dạng ñối với dữ liệu kiểu số:
Ký tự
Tác dụng
.(period)
Dấu chấm thập phân
,(comma)
Dấu phân cách ngàn
0
Số (0-9)
#
Số hoặc khoảng trắng (blank)
$
Dấu $
%
Phần trăm
E+ E- e+ e-
Số dạng khoa học
Khoảng trắng (blank)
Khoảng trắng
d) ðịnh dạng dữ liệu kiểu Data/Time:
+ Các kiểu ñịnh dạng Access cung cấp sẵn:
-25-
Giáo trình Access
+ Các ký tự ñịnh dạng:
e) ðịnh dạng dữ liệu kiểu Yes/No:
ðịnh dạng
Ý nghĩa
Yes/No
ðúng/Sai
True/Fasle
ðúng/Sai
On/Off
ðúng/Sai
-26-
Giáo trình Access
Chuỗi ký tự ñịnh dạng kiểu yes/no gồm 3 phần: First; Second; Third.
−First: bỏ trống, ñịnh dạng trong mục này không ảnh hưởng ñến dữ liệu kiểu Yes/No.
−Second: field hợp nội dung field mang giá trị ñúng. −Third: field hợp nội dung field mang giá trị sai.
Ví dụ:
Chuỗi ñịnh dạng
Hiển thị
Field (True)
Field (Fasle)
; “Nam”; “Nữ”
Nam
Nữ
; “Biên chế”; “ ”
Biên chế
2.5.4. Input Mask (mặt nạ nhập liệu):
Quy ñịnh khuôn ñịnh dạng dữ liệu. Người sử dụng khi nhập dữ liệu vào bảng bắt buộc phải tuân theo ñúng ñịnh dạng ñó.
Chú ý: khi quy ñịnh Input Mask cho bảng, các qui ñịnh này sẽ ñược áp dụng cho cả biểu mẫu ( Form ), truy vấn (Query), báo cáo (Report). Nếu chỉ muốn áp dụng cho riêng biểu mẫu hoặc báo cáo thì qui ñịnh Input Mask cho riêng biểu mẫu hay báo cáo ñó.
Những field cùng lúc qui ñịnh thuộc tính Format và Input Mask, Access sẽ hiển thị theo dạng qui ñịnh trong Format khi hiển thị dữ liệu. Tuy nhiên nếu ñiều chỉnh dữ liệu thông qua biểu mẫu, Access dùng dạng thức qui ñịnh trong Input Mask.
−Các ký tự dùng ñịnh dạng trong Input Mask.
Ký tự
Ý nghĩa
0
Vị trí bắt buộc nhập, ký tự số từ 0-9, không cho phép nhập dấu.
9
Không bắt buộc nhập, ký tự số hoặc khoảng trắng, không cho phép nhập dấu.
#
Nhập số 0-9, khoảng trắng, dấu + -, không bắt buộc nhập.
-27-
Giáo trình Access
L
Bắt buộc nhập, ký tự chữ.
?
Không bắt buộc nhập, ký tự A-Z.
A
Bắt buộc nhập, ký tự chữ hoặc số.
a
Không bắt buộc nhập, ký tự chữ hoặc số.
&
Bắt buộc nhập, ký tự bất kỳ.
C
Không bắt buộc nhập, ký tự bất kỳ.
. ,
Dấu phân cách thập phân, hàng ngàn. Tùy thuộc vào ñịnh dạng của Windows
/ :
Dấu phân cách ngày, giờ. Tùy thuộc vào ñịnh dạng của Windows
<
Các ký tự bên phải ñược ñổi thành chữ thường
>
Các ký tự bên phải ñược ñổi thành chữ hoa.
!
Dữ liệu ghi từ phải sang trái.
\
Ký tự theo sau dấu \ sẽ ñược ñưa thẳng vào dữ liệu
Password
Nhập dữ liệu kiểu mật khẩu (chỉ hiển thị dấu *)
Ví dụ:
Input Mask
Dữ liệu
> L0L0L0
T2A3B4
>L?
Mai
2.5.5. Tạo field Lookup Wizard:
Một lookup field cho phép bạn nhập dữ liệu cho field từ một danh sách giá trị. Có hai cách ñể lookup field có thể nhận giá trị từ một danh sách các giá trị.
−Lookup từ một danh sách nhập bằng tay.
−Lookup từ một Table hoặc một Query trong cơ sở dữ liệu.-28-
Giáo trình Access
Cách tạo:
−Trong cửa sổ thiết
kế bảng, tại field
muốn tạo Lookup
Wizard, cột Data
type chọn
Lookup Wizard.
−Xuất hiện cửa sổ
Lookup Wizard,
với hai tùy chọn
tương ứng với hai
cách tạo danh
sách cho lookup field.
−Nếu chọn dữ liệu nguồn cho field bằng cách lấy giá trị từ Table hoặc Query khác thì chọn tùy chọn “I want the lookup field to get the values from another table or query” và click next.
* Chọn bảng hoặc query cung cấp giá trị cho lookup field, click Next.
* Chọn field chứa danh sách giá trị cho lookup field, click Next.
* Chọn field sắp xếp, click next.
* Hiệu chỉnh ñộ rộng của lookup field, click Finish ñể kết thúc.
-29-
Giáo trình Access
−Nếu tạo dữ liệu nguồn cho lookup field bằng cách nhập bằng tay thì trong cửa sổ Lookup Wizard, chọn tùy chọn “I will type in the values that I want”. Click Next.
* Nhập giá trị cho lookup field. Click Next.
* Nhập nhãn cho lookup field, click Finish.
2.5.6. Validation rule (Quy tắc hợp lệ):
Kiểm tra tính hợp lệ của dữ liệu khi nhập liệu. Nếu dữ liệu không thỏa ñiều kiện cho trước, Access xuất hiện trên màn hình một thông báo chứa dòng văn bản quy ñịnh ở Validation text. Trong validation rule có các phép toán sau:
−Phép toán so sánh: > , < , >=, <=, =, <>
−Phép toán quan hệ: or; and; not
-30-
Giáo trình Access
−Phép toán về chuỗi: toán tử Like (giống như).Có thể sử dụng toán tử Like kèm với các ký tự thay thế như:
* Dấu *: thay thế tất cả các ký tự.
* Dấu #: thay thế các ký tự số.
* Dấu ?: thay thế ký tự tại vị trí có dấu ?.
2.5.7. Validation text (Thông báo lỗi):
Chuỗi thông báo xuất hiện khi dữ liệu nhập vào không thoả ñiều kiện của Validation Rule, chuỗi trong validation text có ñộ dài tối ña 255 ký tự.
2.5.8. Required (Yêu cầu):
Có yêu cầu bắt buộc nhập dữ liệu cho một field hay có thể ñể trống. 2.5.9. AllowZeroLength:
Quy ñịnh field có kiểu text hay Memo có thể có (yes) hoặc không có (no) chuỗi có ñộ dài Zero. Nếu field là field khoá thì thuộc tính này là No.
Chú ý:
Cần phân biệt field có giá trị null (trống chưa có dữ liệu) và một field chứa chuỗi có ñộ dài là zero (ñó là chuỗi “”). Khi hiển thị ra màn hình cả hai có hình thức giống nhau.
2.5.10. Index ( Chỉ mục/ Sắp xếp)
Quy ñịnh thuộc tính Index ñể tạo chỉ mục ñơn (chỉ mục trên một field).
−Nếu chọn No thì không sắp xếp dữ liệu.
−Nếu chọn Yes (No Duplicates) thì tạo chỉ mục (sắp xếp) trên field và không cho phép các giá trị trùng nhau.
−Nếu chọn Yes (Duplicates Yes) thì tạo chỉ mục (sắp xếp) trên field và cho phép các giá trị trùng nhau.
2.5.11. Caption:
-31-
Giáo trình Access
Qui ñịnh nhãn là một chuỗi ký tự xuất hiện tại dòng tên field. Chuỗi này cũng xuất hiện tại tiêu ñề của các ñiều khiển trong các biểu mẫu hoặc báo cáo. Nếu giá trị này bỏ trống thì Access sẽ lấy tên field làm tiêu ñề.
2.5.12. Defaut value:
Quy ñịnh giá trị mặc nhiên cho cột. Access sẽ tự ñộng gán giá trị này vào khi thêm mẩu tin mới. Người sử dụng có thể gán một biểu thức cho thuộc tính này.
2.6. Hiệu chỉnh cấu trúc của bảng:
Mở bảng ở chế ñộ thiết kế (Design View) bằng cách: Trong cửa sổ Database, chọn bảng muốn thay ñổi cấu trúc, click phải, chọn Design View.
Thanh Ribbon chuyển sang Tab Design gồm các công cụ cho phép hiệu chỉnh cấu trúc của bảng.
−Insert Rows: chèn thêm một field trên field hiện hành. −Delete Rows: xóa các field ñược ñánh dấu chọn.
−Di chuyển field: Click chọn tên field muốn di chuyển, drag chuột vào tên field, di chuyển ñến vị trí mới.
2.7. Cách nhập dữ liệu cho bảng:
-32-
Giáo trình Access
ðể nhập dữ liệu cho bảng, trước hết phải mở bảng ở chế ñộ Datasheet View.
− Trong cửa sổ Database chọn object Table⓪ chọn bảng muốn nhập hoặc sửa dữ liệu⓪click phải chọn Open. Hoặc double click vào tên bảng muốn mở.
−Bảng ñược mở ở chế ñộ nhập liệu (Chế ñộ Data Sheet view)
−Mặc ñịnh, luôn có một dòng rỗng ñể nhập record mới ở cuối bảng.
−Khi nhập dữ liệu phải nhập theo từng Record, dữ liệu nhập vào phải thỏa mãn các thuộc tính của bảng và thuộc tính của field khi thiết kế bảng. Nếu dữ liệu không thỏa mãn thì Access sẽ thông báo lỗi.
−ðối với field có kiểu dữ liệu OLE object:
* Tại vị trí nhập, click chuột phải,
* Chọn Insert - Object.
* Chọn Create New nếu muốn tạo ñối tượng mới.
* Chọn Create from file nếu muốn lấy ñối tượng từ tập tin trên ñĩa (thường là hình ảnh) chọn file cần sử dụng.
-33-
Giáo trình Access
2.8. Tạo quan hệ giữa các bảng trong cơ sở dữ liệu:
Sau khi thiết kế các bảng, ta ñược cấu trúc của các bảng, nhưng giữa các bảng chưa có các thông tin quan hệ với nhau. Do ñó việc thiết lập mối quan hệ giữa các bảng sẽ giúp MS Access quản lý dữ liệu ñược hợp lý hơn và bảo vệ các ràng buộc toàn vẹn của dữ liệu trong quá trình nhập dữ 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.
2.8.1. Các loại quan hệ
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.
Ví dụ:
Quan hệ 1-n: mỗi record của bảng 1 sẽ liên kết với một hoặc nhiều record của bảng n, ngược lại một record của bảng n chỉ liên kết với duy nhất một record trong bảng 1.
Ví dụ:
-34-
Giáo trình Access
Thể hiện dữ liệu của quan hệ 1-n
2.8.2. Cách tạo quan hệ:
−Tại cửa sổ làm việc của Access, chọn tab Database Tools trên thanh Ribbon, click nút Relationships.
− Nếu là lần ñầu tiên (CSDL
chưa có quan hệ) thì hộp thoại
Show Tables sẽ xuất hiện.
− Nếu không có cửa sổ Show
Table thì Click nút Show
Table trên thanh Ribbon.
* Tab Tables: hiển thị tất cả
các bảng trong cơ sở dữ
liệu
* Tab Queries: hiển thị các truy vấn ñã tạo trong cơ sơ dữ liệu.
* Tab Both: hiển thị tất cả Table và Query.
-35-
Giáo trình Access
−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ùychọn:
* 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 sẽ ñảmbảo các vấn ñề sau:
+ Khi nhập dữ liệu, dữ liệu của field tham gia quan hệ ở bảng “nhiều” (bảng con) phải tồn tại trong bảng “một” (bảng cha). Ví dụ: muốn nhập một sinh viên cho bảng KETQUA thì MaSV ñó phải tồn tại trong bảng SINHVIEN.
+ Không thể xóa những mẩu tin trong bảng “một” khi những mẩu tin trong bảng “nhiều” có quan hệ với mẩu tin bên “một
Nếu vi phạm các nguyên tắc trên thì Access sẽ không nhận dữ liệu và thông báo lỗi.
-36-
Giáo trình Access
* Cascade Update Related Field: cho phép bạn sửa giá trị khóa chính của mẩu tin trong bảng “một” (bảng cha) của quan hệ, lúc ñó thay vì báo lỗi Access sẽ tự ñộng cập nhật sự thay ñổi ñó vào các field tương ứng (có quan hệ) trên các bảng “nhiều” (bảng con) của quan hệ.
* Cascade Delete Related Records: cho phép bạn xóa mẩu tin trong bảng “một” (bảng cha) của quan hệ, lúc ñó thay vì báo lỗi, Access sẽ tự ñộng xóa tất cả các mẩu tin trong bảng “nhiều” (bảng con) của quan hệ nếu như những mẩu tin ñó có liên quan với mẩu tin vừa xóa.
Lưu ý:
+ Nếu cả hai field tham gia liên kết ñều là khóa chính, Access tự tạo ra quan hệ 1-1 (One to one): mỗi mẩu tin trong bảng này sẽ quan hệ với 1 và chỉ một mẩu tin trong bảng kia.
+ Nếu một bên là field khóa chính, bên còn lại là khóa ngoại, Access sẽ tạo quan hệ 1-nhiều (One to many): Mỗi mẩu tin trong bảng “một” (bảng cha) có quyền quan hệ với nhiều mẩu tin trong bảng “nhiều” (bảng con), ngược lại mỗi mẩu tin trong bảng “nhiều” chỉ ñược quyền quan hệ với một mẩu tin trong bảng “một”.
2.8.3. Cách xóa quan hệ
Muốn xóa quan hệ giữa 2 bảng, ta Click phải mối quan hệ muốn xóa, chọn Delete, hoặc chọn mối quan hệ và nhấn phím Delete.
Lưu ý:
-37-
Giáo trình Access
−Nếu nhập dữ liệu trước khi tạo quan hệ thì khi nhập liệu ta có thể nhập dữ liệu cho các bảng theo trình tự tùy ý.
−Ngược lại, nếu tạo quan hệ trước, nhập liệu sau thì khi nhập liệu ta phải nhập bảng 1 (bảng cha) trước và bảng n (bảng con) sau.
2.8.4. Kiểu kết nối (Join type):
Có 3 kiểu liên kết giữa các bảng:
−1: Only include rows where the joined field from both tables are equal: ñây là loại liên kết phổ biến nhất giữa hai bảng. Trong ñó dữ liệu khi thể hiện trên bảng kết quả sẽ gồm những mẩu tin mà dữ liệu chứa trong field liên kết ở hai bảng phải hoàn toàn giống nhau. Liên kết này còn gọi là liên kết nội.
−2: Include all records from “bảng bên trái” and only those records from “bảng bên phải” where the joined fields are equal: Trong kiểu liên kết này, Access sẽ thể hiện trên bảng kết quả toàn bộ dữ liệu trên “bảng bên trái” và chỉ những mẩu tin bên “bảng bên phải” có nội dung trong field liên kết giống field tương ứng với “bảng bên trái”.
−3: Include all records from “bảng bên phải” and only those records from “bảng bên trái” where the joined fields are equal: Trong kiểu liên kết này, Access sẽ thể hiện trên bảng kết quả toàn bộ dữ liệu trên “bảng bên phải” và chỉ những mẩu tin bên “bảng bên trái” có nội dung trong field liên kết giống field tương ứng với “bảng bên phải”.
Cách chọn kiểu liên kết giữa hai bảng:
−Từ cửa sổ Edit Relationships
−Click vào nút Join type ñể mở cửa sổ Join Properties. −Chọn loại liên kết.
-38-
Giáo trình Access
2.9. Các thao tác với bảng ở chế ñộ Datasheet view 2.9.1. Một số ñịnh dạng trong chế ñộ Database View
ðể thực hiện các thao tác ñịnh dạng bảng, ta phải mở bảng ở chế ñộ DataSheet View.
a) Thay ñổi font chữ:
−Trên thanh Ribbon chọn tab Home.
−Trong nhóm lệnh Text Formatting, chọn font chữ cho Table và các ñịnh dạng khác.
−Click nút trên nhóm Text
Formatting sẽ xuất hiện
cửa sổ Datasheet
Formatting cho phép bạn
hiệu chỉnh các thuộc tính
của Datasheet như màu
nền , màu lưới, …
b) Thay ñổi ñộ rộng cột: Khi
tạo bảng bằng Datasheet
View thì Access tạo bảng
với các cột có ñộ rộng mặc ñịnh, nếu ñộ rộng của cột quá nhỏ sẽ làm cho dữ liệu bị che khuất. ðể thay ñổi ñộ rộng của cột ta có thể sử dụng một trong các cách sau:
−Cách 1: ðặt trỏ ở ñường biên bên phải của cột, khi trỏ có dạng mũi tên 2
chiều thì drag
chuột ñể thay
-39-
Giáo trình Access
ñổi ñộ rộng của cột.
−Cách 2: Click phải trên
tên của cột muốn thay
ñôi ñộ rộng và chọn
Field width. Nhập kích
thước của cột vào ô
Column Width.
c) Thay ñổi vị trí cột:
−Click vào tiêu ñề cột.
Drag ñể thay ñổi vị trí cột (chuột vẫn ñang ở tại tiêu ñề cột). d) Che dấu (Hide column) và hiển thị (Unhide column)cột: −Chọn cột muốn ẩn.
−Trên thanh Ribbon, trong
nhóm lệnh Records,
click nút More, chọn
lệnh Hide fields.
−Muốn hiển thị tại cột bị
ẩn, ta làm tương tự như
thao tác ẩn cột, nhưng
trong menu lệnh của nút
More ta chọn lệnh
Unhide fields.
e) Cố ñịnh và bỏ cố ñịnh cột:
−Chọn cột cần cố ñịnh.
−Trên thanh Ribbon, trong nhóm lệnh Records, click nút More, chọn lệnh Freeze Fields.
−Ngược lại, muốn bỏ cố ñịnh cột ta chọn lệnh UnFreeze All Fields.
f) Thay ñổi chiều cao dòng:
−ðặt con trỏ vào ñường biên của dòng sao cho xuất hiện mũi tên 2 chiều, Drag ñể thay ñổi chiều cao của dòng.
-40-
Giáo trình Access
2.9.2. Sắp xếp
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.
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
Ví dụ: Sắp xếp dữ liệu trong bảng HoaDon theo chiều tăng dần của MaKH, nếu trùng MaKH thì sắp xếp theo MaNV tăng dần, nếu trùng MaNV thì sắp xếp theo NgayLapHD giảm dần.
-41-
Giáo trình Access
2.9.3. Tìm kiếm và thay thế:
a) Tìm kiếm:
−ðể 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 ô
* Search: hướng tìm
* Match Case: Tìm phân biệt chữ hoa và chữ thường
* Click nút Find Next ñể thực hiện tìm kiếm, nếu tìm hết access sẽ cho xuất hiện hộp thông báo hoàn tất việc tìm kiếm.
-42-
Giáo trình Access
b) Thay thế:
−Trong cửa sổ Find and Replace, nếu muốn thay thế các giá trị ñược tìm thấy bằng một giá trị khác ta chọn tab Replace.
−Replace With: Nhập giá trị cần thay thế.
−Click nút Replace ñể thay thế giá trị ñược tìm thấy hiện tại.
−Click nút Replace All ñể thay thế toàn bộ các giá trị ñược tìm thấy.
2.9.4. Lọc dữ liệu
a) Filter by selection
Filter by selection giúp bạn chọn ra những Record dựa trên một giá trị hiện hành. Cách thực hiện:
−ðặt trỏ tại field chứa giá
trị lọc, chọn giá trị làm
ñiềukiệnlọc.
− Click nút lệnh Seletion
trong nhóm lệnh Sort &
Filter trên thanh Ribbon.
−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 Not Equal…: lọc các
records có giá trị khác với
giá trị ñược chọn.
-43-
Giáo trình Access
* 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.
−Click OK
b) Filter by form
Filter by form giúp bạn lọc
bằng cách nhập giá trị lọc vào
một dòng trên Datasheet.
− Click nút Advanced trong
nhóm lệnh Sort & Filter, chọn
lệnh Filter By Form.
− Chuyển dạng Datasheet của
bảng thành một dòng trống,
và xuất hiện các nút
Dropdown list trên mỗi field
cho phép chọn giá trị lọc.
−Nếu lọc theo nhiều giá trị thì click tab Or và chọn giá trị làm ñiều kiện lọc tiếp theo.
−Click nút Toggle Filter ñể thực hiện lọc.
c) Advanced filter
-44-
Giáo trình Access
Chức năng Advanced filter cho phép lọc với nhiều ñiều kiện ở nhiều field khác nhau.
−Click nút Advanced, chọn lệnh Advanced filter/Sort, xuất hiện cửa sổFilter, với các dòng:
Field: Nhập tên các field chứa ñiều kiện lọc
Sort: Chọn kiểu sắp xếp (nếu có yêu cầu)
Criteria: Nhập ñiều kiện lọc. Nếu các ñiều kiện lọc ở các field bắt buộc thỏa mãn ñồng thời (và) thì các ñiều kiện phải ñược nhập trên cùng một dòng. Nếu các ñiều kiện không thỏa mãn ñồng thời (hoặc) thì nhập trên khác dòng Ví dụ: Lọc các những sinh viên có môn học “CSDL” và ñiểm thi lần 1>=5.
Ví dụ: Lọc các những sinh viên có môn học “CSDL” hoặc ñiểm thi lần 1>=5.
-45-
Giáo trình Access
Chương 3
TOÁN TỬ -HÀM -BIỂU THỨC
Trong Access khi xử lý dữ liệu thì cần ñến các
3.1. Toán tử
3.1.1. Toán tử số học
Toán tử
Mô tả
Ví dụ
+
Cộng 2 toán hạng
[lương]+[thương]
-
Trừ 2 toán hạng
[lương]-[tạm ứng]
*
Nhân 2 toán hạng
[hệ số]*[lương cb]
/
Chia 2 toán hạng
15.2/2
\
Phép chia nguyên
5\2
Mod
Chia lấy phần dư
5Mod 2
^
Lủy thừa
4^2
3.1.2. Toán tử so sánh
Toán tử
Ví dụ
Mô tả
=
="MN"
Tìm những record có giá trị là MN.
<
<10
Tìm những record có giá trị <10.
< =
<=10
Tìm những record có giá trị <=10.
>
>10
Tìm những record có giá trị >10.
> =
>=10
Tìm những record có giá trị >=10.
<>
<>10
Tìm những record có giá trị khác10.
Kết quả của toán tử so sánh là True hoặc False.
3.1.3. Toán tử logic
Toán tử
Mô tả
Ví dụ
And
Và
[ñiểm]<=5 And [năm sinh]>1990
Or
Hoặc
[ñiểm]<=5 Or [năm sinh]>1990
Not
ðảo
Not True
-46-
Giáo trình Access
3.1.4. Toán tử khác
Toán tử
Ví dụ
Ý nghĩa
BETWEEN
BETWEEN #1/1/99# AND #12/31/99#
Tìm những record có giá trị trong khoảng 1/1/99 và 12/31/99.
LIKE
LIKE "S*"
Tìm những record
chứa text ñược bắt ñầu bằng ký tự "S."
IS NULL
IS NULL
Tìm những record có giá trị rỗng
IN(v1, v2, …)
In(“java”, “C++”)
Tìm những record có giá trị trong danh sách liệt kê.
3.1.5. Toán tử nối chuỗi
Dùng ñể nối các chuỗi thành một chuỗi.
Toán tử
Ví dụ
&
“Nguyễn ” & “ ” & “An” ⓪ Nguyễn An.
+
“Nguyễn ” + “ ” + “An” ⓪ Nguyễn An.
3.2. Hàm
3.2.1. Hàm xử lý kiểu dữ liệu Text
Hàm
Ý nghĩa
Ví dụ
Left(string, n)
Trích từ bên trái
của string , n ký tự
Left(“ABC”, 2)
Right(string, n)
Trích ra từ bên
phải của string, n ký tự
Right(“ABC”, 2)
Mid(string, m, n)
Trích ra từ string, tại vị trí m , n ký tự
Mid(“ABC”,2,1)
Len(string)
Trả về chiều dài
của string
Len(“ABC”)
-47-
Giáo trình Access
Format(exp)
ðịnh dạng biểu
thức theo các dạng thức thích hợp.
Format(Date(), “dd mm-yyyy” )
UCase(exp)
ữ
Trả về phiên bản ch một chuỗi.
hoa của UCase(“Lan”)
LCase(exp)
Trả về phiên bản chữ thường của
một chuỗi.
LCase(“Lan”)
Str(exp)
Chuyển một số
thành một chuỗi.
Str(123.45)
Val(exp)
Chuyển một chuỗi thành một số
Val(“123.45”)
3.2.2. Hàm ngày giờ
Hàm
Ý nghĩa
Ví dụ
Date()
Hàm trả về kết quả là ngày hiện hành của
máy.
Date()
Day(exp)
Trả về ngày trong tháng.
Day(#6/12/2010#)
Month(exp)
Trả về kết quả là tháng trong biểu thức ngày
Month(#6/12/2010#)
Year(exp)
Trả về kết quả là năm trong biểu thức ngày
Year(#6/12/2010#)
datePart(“d/ m/ww/q/yyy y”, exp)
d: trả về ngày trong biểu thức ngày
m: trả về tháng trong biểu thức ngày
ww: trả về tuần trong biểu thức ngày
q: trả về quý trong biểu thức ngày
yyyy: trả về năm trong biểu thức ngày
Datepart(“q”,#6/12/ 2010#)
-48-
Giáo trình Access
3.2.3. Hàm ñiều kiện
IIf(, , )
Hàm IIF trả về một trong 2 giá trị: giá trị 1 hoặc giá trị 2, tùy thuộc vào giá trị của Biểu thức ñiều kiện.
−Biểu thức ñiều kiện: là một biểu thức logic cho kết quả là True hoặc False.
−Giá trị 1: giá trị trả về của hàm IIF nếu Biểu thức ñiều kiện có giá trị là true.
−Giá trị 2: giá trị trả về của hàm IIF nếu Biểu thức ñiều kiện có giá trị là false
Ví dụ:
IIF([ðiểm]>=5, “ðậu”, “Rớt”)
3.2.4. Hàm cơ sở dữ liệu
−Hàm Dcount: ðếm số Record trong phạm vi xác ñịnh theo ñiều kiện. Mặc ñịnh, hàm không ñếm các record có giá trị Null. Nếu dùng ký tự ñại diện “*”, hàm sẽ ñếm các record có giá trị Null.
DCount(, , [ðiều kiện])
Ví dụ: ðếm số sinh viên lớp CDTHA
Dcount(“[Masv]”, “SinhVien”, “[Malop]=’CDTHA’”)
−Hàm Dlookup: Tìm giá trị trong phạm vi ñược xác ñịnh theo ñiều kiện.
Dlookup(, , [ðiều kiện])
Ví dụ: Tìm sinh viên A01 thuộc lớp nào
Dlookup(“[MaLop]”, “SinhVien”, “[MaSV]=’A01’”)-49-
Giáo trình Access
3.3. Biểu thức
Trong Access, một biểu thức tương ñương với một công thức trong Excel. Một biểu thức bao gồm các yếu tố ñịnh danh (tên của các field, ñiều khiển, hoặc thuộc tính), các toán tử, các hằng số, và giá trị và các hàm.
Một biểu thức ñược tính toán ñể lấy giá trị cung cấp cho một query, xác ñịnh quy tắc, tạo các ô hoặc field tính toán, và xác ñịnh phân nhóm cho report.
Ví dụ:Tạo field tính toán:
ThanhTien:[soluong]*[dongia]
Một biểu thức có thể sử dụng ở nhiều ñối tượng trong cơ sở dữ liệu như: tables, queries, forms, reports, và macros.
Trong các biểu thức, tên field, tên ñiều khiển phải ñược ñặt trong dấu ngoặc vuông [], thông thường Access sẽ tự ñóng ngoặc vuông quanh tên field hoặc tên ô ñiều khiển nhưng nếu tên field hoặc ñiều khiển bao gồm các khoảng trắng hoặc các ký tự ñặc biệt, thì bạn phải tự gõ dấu ngoặc [] quanh tên ñó.
-50-
Giáo trình Access
Chương 4
QUERY-TRUY VẤN DỮ LIỆU
4.1. Khái niệm
Mục ñích chính của một cơ sở dữ liệu là lưu trữ và trích lọc thông tin. Thông tin có thể ñược lấy từ cơ sở dữ liệu ngay lập tức sau khi dữ liệu ñược thêm vào. Tất nhiên, lấy thông tin từ các bảng cơ sở dữ liệu ñòi hỏi kiến thức về cách thức mà cơ sở dữ liệu ñược thiết kế.
Query là các câu lệnh SQL (Structured Query Language - ngôn ngữ truy vấn mang tính cấu trúc) là một loại ngôn ngữ phổ biến ñể tạo, hiệu chỉnh, và truy vấn dữ liệu từ một cơ sở dữ liệu quan hệ.
Trong access, Query là một công cụ mạnh dùng ñể khai thác và xử lý dữ liệu, ñáp ứng các nhu cầu tra cứu dữ liệu, gồm các loại query: simple select queries, parameter queries, crosstab queries và action queries.
4.2. Các loại query
−Select query: là truy vấn lựa chọn thông tin từ một hoặc nhiều bảng, tạo ra một recordset. Nói chung, dữ liệu trả về của một truy vấn lựa chọn là có thể cập nhật và thường ñược sử dụng ñể ñưa các form và report.
−Total query: là một loại ñặc biệt của truy vấn chọn. Thực hiện chức năng tổng hợp dữ liệu trên một nhóm các record.
−Crosstab query: là loại query có thể hiển thị dữ liệu dưới dạng tóm tắt như một bảng tính, với các tiêu ñề hàng và tiêu ñề cột dựa trên các field trong bảng. Dữ liệu trong các ô của Recordset ñược tính toán từ dữ liệu trong các bảng.
−Top (n) query: Top (n) cho phép bạn chỉ ñịnh một số hoặc tỷ lệ phần trăm của record mà bạn muốn trả về từ bất kỳ loại truy vấn khác (select query, total query, …).
−Action query: gồm các loại query như Make-Table, Delete, Update, Append cho phép bạn tạo ra các bảng mới hoặc thay ñổi dữ liệu trong các bảng hiện có của cơ sở dữ liệu. action
-51-
Giáo trình Access
query khi thực thi sẽ ảnh hưởng ñến nhiều recored trong các bảng.
4.3. Cách tạo select query bằng Design view
ðể tạo query bạn chọn tab Create trên thanh Ribbon, click nút query Design trong nhóm lệnh Queries.
Xuất hiện cửa sổ thiết kế query và cửa sổ Show
table cho phép chọn các bảng hoặc query tham gia truy vấn. −Chọn các bảng chứa các field mà bạn muốn hiển thị trong kết quả, hoặc các field cần trong các biểu thức tính toán.
−Click nút Add ñể thêm các bảng vào cửa sổ thiết kế query.
−Sau khi chọn ñủ các bảng hoặc query cần thiết, click nút close ñể ñóng cửa sổ Show Table.
−Chọn các field cần hiển thị trong kết quả vào lưới thiết kế bằng cách drag chuột kéo tên field trong field
list hoặc double click vào tên field.
−Nhập ñiều kiện lọc tại dòng Criteria.
−Click nút View ñể xem trước kết quả, click nút
run ñể thực thi.
4.3.1. Các thành phần trong cửa sổ thiết kế query: Cửa sổ thiết kế query gồm 2 phần
-52-
Giáo trình Access
−Table/query pane: khung chứa các bảng hoặc query tham gia truyvấn.
−Lưới thiết kế (Query by Example: QBE) : Chứa tên field tham gia vào truy vấn và bất kỳ tiêu chuẩn ñược sử dụng ñể chọn các records. Mỗi cột trong lưới QBE chứa thông tin về một field duy nhất từ một bảng hoặc query trên Table/query pane. Lưới thiết kế bao gồm các thành phần:
Field list Table/Query pane
Lưới QBE
* Field: là nơi mà các tên field ñược tạo vào hoặc thêm vào và hiển thị trong kết quả truy vấn.
* Table: hiển thị tên của các bảng chứa các field tương ứng trên dòng Field.
* Sort: chỉ ñịnh kiểu sắp xếp dữ liệu của các field trong query.
* Show: quyết ñịnh ñể hiển thị các field trong Recordset. * Criteria: Nhập các ñiều kiện lọc các record.
* Or: thêm các ñiều kiện lọc tương ứng với phép OR, nếu các biểu thức ñiều kiện ở các field cùng ñặt trên một dòng thì tương ứng với phép AND.
4.3.2. Các thao tác trong cửa sổ thiết kế query:
a) Chọn field trong lưới thiết kế: ðể chọn một field hoặc nhiều field trong lưới thiết kế, ta ñưa chuột lên trên tên field-53-
Giáo trình Access
khi chuột có dạng mũi tên màu ñen hướng xuống thì click chuột ñể chọn, drag chuột ñể chọn nhiều field.
b) Di chuyển field: Drag chuột trên tên field ñể di chuyển c) Chèn thêm field hoặc xóa field:
−Chèn thêm field: click nút Insert Columns, mặc ñịnh cột mớisẽ ñược chèn vào trước field hiện hành.
−Xóa field: chọn field cần
xóa, click nút Delete
Columns.
d) Tạo nhãn cho field: ðể
làm cho bảng dữ liệu truy vấn dễ dàng hơn ñể ñọc, bạn có thể cung cấp các nhãn cho các field trong truy vấn ñiều này không ảnh hưởng ñến tên của field hoặc cách dữ liệu ñược lưu trữ và sử dụng truy cập.
−Click phải trên tên field, chọn properties
−Tại thuộc tính Caption, nhập nhãn cho field.
e) Thêm Table/Query vào truy vấn: Khi thiết kế query, nếu cần chọn thêm bảng, click nút Show Table trong nhóm lệnh Query Setup.
f) Xóa Table/Query trong khỏi truy vấn: Click phải trên Table/Query cần xóa, chọn Remove Table.
-54-
Giáo trình Access
4.3.3. Cách nhập biểu thức ñiều kiện
Ngoài việc sử dụng các truy vấn ñể chọn các field hiển thị các thông tin cần thiết, bạn còn có thể sử dụng các truy vấn ñể hiển thị một số các record theo một ñiều kiện nào ñó.
Biểu thức ñiều kiện là các quy tắc lọc áp dụng cho dữ liệu khi chúng ñược chiết xuất từ cơ sở dữ liệu, nhằm giới hạn các record trả về của truy vấn.
Ví dụ: người dùng chỉ muốm xem thông tin về các sinh viên của một lớp CDTHA.
Biểu thức ñiều kiện ñược nhập trên dòng Criteria và dòng Or của lưới thiết kế query và tại cột chứa giá trị của biểu thức ñiều kiện lọc.
Ví dụ: Chuỗi ñiều kiện “CDTHA” là giá trị trong field Malop, do ñó chuỗi “CDTHA” ñược nhập trên dòng Critetia tại cột Malop.
a) Các loại dữ liệu dates, times, text, và giá trị trong biểu thức ñiều kiện:
Kiểu dữ liệu
Ví dụ
Text
“Text”
Date
#1-Feb-2010#
Time
#12:00AM#
Number
10
Field name
[field name]
-55-
Giáo trình Access
b) Toán tử ñược sử dụng trong biểu thức ñiều kiện:
Toán tử
Ví dụ
=
[Ngaylaphd]=#01/01/08#
<
[Ngaylaphd]<#01/01/08#
< =
Year([ngaysinh])<=1980
>
[soluong]>50
> =
[dongia]>=100
<>
[donvitinh]<>”Kg”
Between… and
Between 1/1/99 And 12/31/99
Like
Like "s*"
Is null
Is null
In(v1, v2, …)
In(“java”, “c++”)
−Ngoài ra các hàm ngày giờ, hàm dữ liệu chuỗi,… cũng ñược sử dụng trong biểu thức ñiều kiện.
4.3.4. Truy vấn có nhiều ñiều kiện ở nhiều fields
Khi bạn muốn giới hạn các records dựa trên nhiều ñiều kiện ở nhiều field khác nhau, thì Access sẽ kết hợp các ñiều kiện lại với nhau bằng cách sử dụng toán tử And và Or, cho hai trường hợp:
−Nếu các ñiều kiện phải ñược thoả mãn ñồng thời thì các ñiều kiện phải ñược liên kết nhau bởi phép AND, bằng cách nhập các ñiều kiện trên cùng một dòng Criteria trong lưới thiết kế query.
Ví dụ: Tìm những sinh viên có ñiểm môn CSDL >=5-56-
Giáo trình Access
−Nếu chỉ cần thỏa mãn một trong các ñiều kiện thì các ñiều kiện ñược liên kết nhau bởi phép OR, bằng cách nhập các ñiều kiện trên các dòng khác nhau trong lưới thiết kế query.
Ví dụ:
Tìm những sinh viên có ñiểm môn “CSDL” hoặc “CTDL” >=5 4.3.5. Top value
Chức năng top value ñược sử dụng ñể hiển thị những record trên cùng của danh sách ñược tạo ra bởi một truy vấn.
a) Cách thực hiện:
−Nếu muốn hiển thị danh sách các record có giá trị cao nhất ở field ñược chỉ ñịnh thì sắp xếp field ñó theo chiều giảm dần (Descending)
−Nếu muốn hiển thị danh sách các record có giá trị thấp nhất ở field ñược chỉ
ñịnh thì sắp xếp
field ñó theo
chiều tăng dần
(Ascending).
− Trong ô return ta nhập vào số giá trị muốn hiển thị.
b) Các tùy chọn trong Top Values:
− All : Hiển thị tất cả các record của Query.
− 5 : Hiển thị 5 record ñầu tiên.
− 25 : Hiển thị 25 record ñầu tiên.
-57-
Giáo trình Access
− 100 : Hiển thị 100 record ñầu tiên.
− 5% : Hiển thị 5% record ñầu tiên trên tổng số record. − 25% : Hiển thị 25% record ñầu tiên trên tổng số record. Nếu các record thuộc Top Values có giá trị trùng nhau thì chúng cũng xuất hiện trong kết quả.
Nếu muốn chỉ xuất hiện duy nhất một
record trong các record có giá trị trùng
nhau ta click phải trong cửa sổ thiết kế
query⓪ chọn properties, tại thuộc tính
Unique Values⓪ chọn yes.
4.3.6. Tạo field tính toán trong query
Access có thể thực hiện các phép toán trong các query, form, report, và macro. Tuy nhiên các field tính toán thường ñược thực hiện trong query, từ ñó, bất kỳ form, report, hoặc macro có sử dụng các truy vấn này sẽ tự ñộng truy cập tính giá trị.
ðể làm ñược các phép tính trong một truy vấn, bạn tạo một field tính toán mới trong query. Tên của field tính toán không trùng với tên của các field trong bảng.
Cú pháp:
Field Name: Expression
Ví dụ: Tạo Field ThanhTien:[SoLuong]*[DonGiaBan] Field lấy từ bảng Field tính toán
-58-
Giáo trình Access
4.3.7. Sử dụng Expresstion Builder
Expression Builder là một công cụ ñể giúp bạn tạo các biểu thức nhanh và dễ dàng hơn và có thể truy cập vào thư viện hàm của Access. ðể sử dụng Expression Builder ñể xây dựng một biểu thức ñiều kiện hoặc tạo một field mới trong query ta thực hiện như sau:
−Trong cửa sổ
thiết kế query.
−Click nút Builder
trong nhóm lệnh
Query Setup.
−Xuất hiện cửa sổ Expression Builder bao gồm khung trên cùng cho phép nhập biểu thức, bên dưới là 3 khung giúp bạn tìm tên field và các hàm cần thiết cho biểu thức.
− Khung Expression
Elements chứa các ñối
tượng trong cơ sở dữ
liệu.
* ðể chọn các field
ñưa vào biểu thức ta
mở mục Database
bằng cách double
click vào tên của cơ
sở dữ liệu hiện
hành, chọn table
hoặc query, các field trong table hoặc query sẽ hiển thị trong khung Expression Categories, double click ñể chọn tên field ñưa vào biểu thức.
* ðể chọn hàm bạn click mục function
− Khung Expression Categories: hiển thị các thành phần của expression theo nhóm.
−Khung Expression values chứa giá trị của các phần tử trong biểu thức, hoặc các hàm nếu chọn function trong khung Expression elements.
-59-
Giáo trình Access
4.4. Total query
Access cung cấp chức năng kết nhóm các record và thực hiện các phép thống kê dữ liệu trên nhóm record ñó. Các hàm count, sum, min, max, avg là các hàm cơ bản trong Total Query.
Ví dụ: ðế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
Mã Lớp
Tên Lớp
Mã SV
CDTH1A
Cao ðẳng Tin Học 1A
A101
CDTH1A
Cao ðẳng Tin Học 1A
A102
CDTH1A
Cao ðẳng Tin Học 1A
A103
CDTH1A
Cao ðẳng Tin Học 1A
A104
CDTH1B
Cao ðẳng Tin Học 1B
B101
CDTH1B
Cao ðẳng Tin Học 1B
B102
CDTH1B
Cao ðẳng Tin Học 1B
B103
CDTH1B
Cao ðẳng Tin Học 1B
B104
CDTH1B
Cao ðẳng Tin Học 1B
B105
CDTH2A
Cao ðẳng Tin Học 2A
A201
CDTH2A
Cao ðẳng Tin Học 2A
A202
CDTH2A
Cao ðẳng Tin Học 2A
A203
CDTH2A
Cao ðẳng Tin Học 2A
A204
Group byCount
Sau khi tổng hợp dữ liệu ta có kết quả:
Mã Lớp
CDTH1A Cao
Tên Lớp
ðẳng Tin Học 1A
TongsoSV 4
CDTH1B
Cao ðẳng Tin Học 1B
5
CDTH2A Cao
ðẳng Tin Học 2A
4
4.4.1. Cách tạo Total Query:
ðể tạo một Total query, bạn thực hiện các bước sau:
− Tạo một query mới bằng Design view.
− Chọn các table cần sử dụng trong query từ cửa sổ Show Table.
− Chọn các field chứa dữ liệu cần thống kê vào lưới thiết kế.-60-
Giáo trình Access
− Chọn Query Tools, chọn tab Design.
− Trong nhóm lệnh
Show/Hide, click nút
Totals.
− Trên lưới thiết kế query xuất
hiện thêm dòng Total.
− Tại mỗi field, chọn các tùy
chọn trên dòng Total.
4.4.2. Các tùy chọn trên dòng Total:
Tùy chọn
Ý nghĩa
Group by
Nhóm các record có giá trị giống nhau tại một số field ñược chỉ ñịnh thành một nhóm.
Sum
Tính tổng các giá trị trong một nhóm record tại field ñược chỉ ñịnh.
Avg
Tính trung bình cộng các giá trị trong một nhóm record tại field ñược chỉ ñịnh.
Max
Tìm giá trị lớn nhất trong nhóm record tại field ñược chỉ ñịnh.
Min
Tìm giá trị nhỏ nhất trong nhóm record tại field ñược chỉ ñịnh.
Count
ðếm số record trong nhóm.
First
Tìm giá trị ñầu tiên trong nhóm tại cột ñược chỉ ñịnh.
Last
Tìm giá trị cuối cùng trong các giá trị trên cột
-61-
Giáo trình Access
của nhóm.
Expression
Dùng cho field chứa biểu thức tính toán.
Where
Dùng cho field chứa ñiều kiện dùng ñể lọc Record trước khi tính toán và không hiển thị trong kết quả.
4.5. Queries tham số (Parameter Queries)
Query tham số là query nhắc người dùng nhập ñiều kiện cho query tại thời ñiểm query thực thi.
Cách tạo:
− Trong cửa sổ thiết kế query, chọn các bảng/query tham gia truy vấn.
− Chọn các field hiển thị trong kết quả .
− Tại field chứa ñiều kiện lọc, nhập câu nhắc trên dòng Critetia và ñặt trong cặp dấu [ ].
Ví dụ: Xem thông tin ñiểm của một sinh viên tùy ý
− Khi thực thi query, chương trình yêu cầu nhập giá trị chot
h
a
m
s
ố
-62-
Giáo trình Access
4.6. Crosstab query
4.6.1. Khái niệm:
Crosstab query là một query dùng ñể tổng hợp dữ liệu dưới dạng bảng tính hai chiều, trong ñó tiêu ñề của dòng và cột của bảng là các giá trị ñược kết nhóm từ các field trong bảng dữ liệu, phần thân của bảng tính là dữ liệu ñược thống kê bởi các hàm: Sum, count, avg, min, max, và các chức năng khác.
Ví dụ: Thống kê tổng số sinh viên theo loại giỏi, khá, trung bình, yếu theo từng lớp.
Dạng crosstab query Dạng Total query
4.6.2. Cách tạo:
a) Tạo Crosstab query bằng chức năng Wizard: − Trên thanh Ribbon,
click nút Create.
− Trong nhóm lệnh
Query, chọn Query
Wizard.
− Trong cửa sổ New
Query, chọn
Crosstab Query
Wizard⓪OK.
-63-
Giáo trình Access
− Chọn dữ liệu nguồn
cho Crosstab
Query, có thể là
table hoặc Query⓪
Next.
− Chọn field làm
Row heading trong
khung Available
Fields
− Click nút > ñể chọn
field.
− Click Next.
− Chọn field làm
column heading
⓪Next.
-64-
Giáo trình Access
− Chọn field chứa
dữ liệu thống kê
trong khung
Fields.
− Chọn hàm thống
kê trong khung
Function
− ⓪Next
− Nhập tên cho
query và click nút
Finish ñể kết
thúc.
Hạn chế khi tạo crosstab query bằng wizard:
Nếu các field trong Crosstab query ñược lấy từ nhiều bảng hoặc trong query có chứa các ñiều kiện lọc dữ liệu thì phải tạo một select query chứa tất cả các field và các ñiều kiện, sau ñó lấy select query này làm dữ liệu nguồn tạo crosstab query.
b) Tạo Crosstab query bằng Design
Một crosstab query cần ít nhất là 3 field:
− Một field ñể lấy giá trị làm tiêu ñề cho cột gọi là column heading.
− Một field (hoặc nhiều field) ñể lấy giá trị làm tiêu ñề cho dòng gọi là row heading.
− Một field chứa dữ liệu thống kê (Value)
Ví dụ:
Column heading
Row heading
-65-
Value
Giáo trình Access
ðể tạo một Crosstab query bằng Design View ta thực hiện như sau:
− Trong cửa sổ thiết kế
Query, trên thanh
Ribbon, chọn Query
Tools, chọ Tab Design.
− Trong nhóm lệnh Query
Type, chọn Crosstab.
− Trong lưới thiết kế query xuất hiện thêm dòng Crosstab và dòng Total.
− Chỉ ñịnh chức năng cho các field:
* ðối với các field làm row heading và column heading thì trên dòng Total ta chọn chức năng Group by, trên dòng Crosstab, chỉ ñịnh chức năng Row Heading hoặc Column Heading.
* ðối với field chứa dữ liệu ñể thống kê thì trên dòng Total, chọn hàm thống kê (Sum, Avg, Count, Min, Max, …), trên dòng Crosstab chọn Value.
* ðối với các field chứa ñiều kiện lọc dữ liệu thì trên dòng Total chọn Where, các field này sẽ không xuất hiện trong kết quả.
− Lưu ý:
− Row Heading và Column Heading có thể hoán ñổi nhau, nhưng ñối với những field chứa nhiều giá trị thì nên chọn làm Row Heading.
-66-
Giáo trình Access
4.7. Các loại query tạo bằng chức năng Wizard 4.7.1. Find Duplicate query
Find Duplicate query Wizard dùng ñể tìm những record có giá trị trùng lắp ở một số field. Ví dụ, tìm những nhân viên có trùng ngày sinh, trùng tên, …
Cách tạo:
− Trong cửa sổ làm việc của Access, trên thanh
Ribbon, chọn tab Create.
− Trong nhóm lệnh Queries click nút Query
Wizard.
− Trong cửa sổ New Query chọn Find Duplicate query Wizard.
− Xuất hiện cửa sổ Find
Duplicates query
wizard⓪ OK.
− Chọn bảng chứa field
muốn tìm dữ liệu trùng
lắp⓪ Next.
− Chọn field chứa dữ
liệu trùng lắp⓪Next.
− Chọn các field muốn
hiển thị trong kết
quả⓪ Next.
− Nhập tên cho query⓪Finish.
4.7.2. Find Unmatched query Wizard
Trong quan hệ 1-n, một record trong bảng 1 quan hệ với nhiều record trong bảng n. Tuy nhiên cũng có những record không quan hệ với bất kỳ record nào trong bảng n.
Ví dụ, những nhân viên chưa tham gia lập hóa ñơn, những nhân viên này tồn tại trong bảng NHANVIEN, nhưng không tồn tại trong bảng HOADON.
Find Unmatched query Wizard dùng ñể tìm những record có trong bảng 1 nhưng không có trong bảng n
-67-
Giáo trình Access
Cách tạo:
− Trong cửa sổ làm việc của Access, trên thanh Ribbon, chọn tab Create.
− Trong nhóm lệnh Queries click nút Query Wizard. − Trong cửa sổ New Query chọn Find Unmatched query Wizard⓪ OK.
− Xuất hiện cửa sổ Find Unmatched query wizard.
* Chọn bảng 1 là bảng chứa các record cần tìm⓪ Next * Chọn bảng n là bảng chứa record quan hệ⓪ Next
Ví dụ: tìm nhưng sinh viên chưa thi, bảng 1 là bảng SINHVIEN, bảng n là bảng KETQUA, field quan hệ là field MASV
− Chọn field
quan hệ giữa
hai bảng ⓪
Next.
− Chọn các field
hiển thị trong
kết quả⓪Next.
− Nhập tên cho
query⓪ Finish.
4.8. Action query
Action query là loại query mà khi thực thi sẽ làm thay ñổi dữ liệu trong các bảng của cơ sở dữ liệu, sự thay ñổi có thể làm cho cơ sở dữ liệu bị sai, do ñó trước khi thực thi các loại action query bạn nên chép một file dự phòng.
Có 4 loại action query:
− Update query.
− Make-Table query.
− Append query.
− Delete query.
4.8.1. Update query
a) Chức năng
Update query dùng ñể cập nhật dữ liệu trong các bảng.-68-
Giáo trình Access
b) Cách tạo
− Trong cửa sổ làm việc của Access, trên thanh Ribbon chọn tab Create, trong nhóm lệnh Queries, click nút Query Design.
− Chọn các bảng chứa
dữ liệu muốn cập
nhật.
− Thanh Ribbon
chuyển sang tab Design
− Trong nhóm lệnh Query Type, Click nút Update, Trong lưới thiết kế xuất hiện dòng Update to.
− Chọn field chứa dữ liệu cần cập nhật và các field chứa ñiều kiện.
− Tại field chứa dữ liệu muốn cập nhật và trên dòng Update to ta nhập biểu thức cập nhật dữ liệu.
c) Thực thi Update Query:
− Click nút run ñể thực thi query.
− Khi thực thi query sẽ xuất hiện hộp thoại thông báo số record ñược Update.
− Nếu ñồng ý⓪ click yes.
− Xem kết quả trong bảng chứa dữ liệu Update.
-69-
Giáo trình Access
4.8.2. Make-Tablequery
a) Chức năng
Make-Table dùng ñể tạo một bảng mới dựa trên các bảng hoặc query có sẵn.
b) Cách tạo
Trong cửa sổ làm việc của Access, trên thanh Ribbon chọn tab Create, trong nhóm lệnh Queries, click nút Query Design.
−Chọn các bảng hoặc query làm dữ liệu nguồn cho Make Table. Thanh Ribbon chuyển sang tab Design
− Chọn các field muốn hiển thị trong bảng mới.
− Trong nhóm lệnh
Query Type, click
nút Make-Table.
− 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.
-70-
Giáo trình Access
c) Thực thiMake-TableQuery
− Click nút Run ñể thực thi query, xuất hiện hộp thông báo số record ñược ñưa vào bảng mới.
− Nếu ñồng ý⓪ Click yes, khi ñó bảng mới sẽ ñược tạo, xem kết quả trong phần Table.
4.8.3. Append query
a) Chức năng
Append query dùng ñể nối dữ liệu vào cuối một bảng có sẵn. b) Cách tạo
Trong cửa sổ làm việc của Access, trên thanh Ribbon chọn tab Create, trong nhóm lệnh Queries, click nút Query Design.
− Chọn các bảng hoặc query làm dữ liệu nguồn cho Append Query. Thanh Ribbon chuyển sang tab Design.
− Chọn các field chứa dữ liệu nối vào bảng có sẵn, các field ñược chọn phải tương ứng với các
field trong bảng muốn nối dữ liệu
vào.
− Click nút Append trong nhóm
lệnh Query Type.
− Xuất hiện hộp thoại Append⓪Chọn bảng muốn nối dữ liệu vào.
-71-
Giáo trình Access
− 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.
c) Thực thi Append query
− Click nút run ñể thực thi query.
− Xuất hiện hộp thông báo số record ñược nối vào.
− Nếu ñồng ý ⓪ click yes, xem kết quả trong phần Table. 4.8.4. Delete query
a) Chức năng:
Delete query xóa các record từ các bảng, thông thường dựa trên các ñiều kiện mà bạn cung cấp, Delete query xóa tất cả các record trong một bảng trong khi vẫn giữ nguyên cấu trúc của bảng.
Delete Query là nguy hiểm vì nó xóa vĩnh viễn dữ liệu từ các bảng trong cơ sở dữ liệu của bạn, do ñó trước khi thực thi loại query này cần phải có một backup.
b) Cách tạo:
Trong cửa sổ làm việc của Access, trên thanh Ribbon chọn tab Create, trong nhóm lệnh Queries, click nút Query Design. − Chọn bảng hoặc query chứa dữ liệu cần xóa. Thanh Ribbon chuyển sang tab Design.
− Click nút Delete trong nhóm
Query Type.
− Chọn field chứa ñiều kiện xóa,
lưới thiết kế xuất hiện dòng
Delete⓪tại field chứa ñiều
kiện xóa ta chọn where.
− Nhập ñiều kiện xóa trên dòng Criteria.
-72-
Giáo trình Access
c) Thực thi Delete Query
− Click nút run ñể thực thi, xuất hiện hộp thông báo số record bị xóa
− Nếu ñồng ý ⓪ yes, các record trong bảng ñã bị xóa, xem kết quả trong phần Table.
-73-
Giáo trình Access 5.1. Giới thiệu
Chương 5
FORM-BIỂU MẪU
Form là giao diện chính dùng ñể giao tiếp giữa người dùng và ứng dụng, form ñược sử dụng ñể nhập dữ liệu, xem thông tin, chỉnh sửa dữ liệu, hiển thị thông báo, ñiều khiển ứng dụng, …
ðể thiết kế form cần phải chọn dữ liệu nguồn cho form, dữ liệu nguồn của form có thể là table hoặc query. Nếu dữ liệu nguồn là các field trên một bảng thì lấy bảng ñó làm dữ liệu nguồn, nếu dữ liệu nguồn là các field trên nhiều bảng thì phải tạo query làm dữ liệu nguồn cho form.
5.2. Cách tạo form
ðể tạo form, chọn tab Create trên thanh
Ribbon, chọn cách tạo form bằng các nút
lệnh trong nhóm lệnh Forms.
−Form Design: Tạo ra một Form mới trống và hiển thị nó trong chế ñộ Design View. Nếu một Table hoặc Query ñược chọn trong khung Navigation thì khi click nút Form Design, form mới sẽ tự ñộng bị ràng buộc với nguồn dữ liệu là Table hoặc Query ñó.
−Blank Form: Tạo ra một form trống, form mới không bị ràng buộc với một nguồn dữ liệu, và nó sẽ mở ra trong chế ñộ Layout View. Bạn phải chỉ ñịnh một nguồn dữ liệu (bảng hoặc truy vấn) và thiết kế form bằng cách thêm các ñiều khiển từ field list.
− Form Wizard: Access hổ trợ các bước ñể thiết kế form ñơn giản. Wizard sẽ yêu cầu các nguồn dữ liệu, chọn các field hiển thị trên form, và cho phép bạn chọn layout cho form mới.
−Navigation Form: là một form ñặc biệt hoàn toàn mới trong Access 2010, nhằm thiết kế form dạng Navigation user, cho phép người dùng dễ dàng di chuyển giữa các thành phần trong
-74-
Giáo trình Access
form.
-75-
Giáo trình Access
5.2.1. Tạo một Single Form
Access cung cấp một cách dễ dàng và thuận lợi ñể tạo một form dựa trên dữ liệu nguồn là Table/Query. Cách thực hiện: − Tronng Navigation, chọn table hoặc query mà bạn muốn sử dụng làm dữ liệu nguồn cho from.
− Chọn tab trên thanh Ribbon
− Trong nhóm lệnh Form, click nút Form.
− Xuất hiện một Form mới ở dạng Layout view
− Single form hiển thị một record tại một thời ñiểm
− Mặc ñịnh mỗi field hiển thị trên một dòng và theo thứ tự của các field trong bảng hoặc query dữ liệu nguồn.
− Nếu dữ liệu nguồn của form là bảng cha có liên kết với bảng con, thì kết quả form sẽ hiển thị các record quan hệ trong bảng con.
Ví dụ:
-76-
Giáo trình Access
5.2.2. Tạo form bằng chức năng Form Wizard
Chức năng Form Wizard là công cụ tạo form qua các bước trung gian với một loạt các câu hỏi gợi ý ñể giúp bạn chọn lựa và xây dựng một form phù hợp nhất.
Cách tạo:
− Trong cửa sổ làm việc của
Access, chọn tab Create trên
thanh Ribbon.
− Click nút Form Wizard trong
nhóm lệnh Forms.
− Xuất hiện cửa sổ
Form Wizard
− Chọn Table hoặc
Query làm dữ liệu
nguồn cho form.
− Chọn các field hiển
thị trên form trong
khung Available
Fields, click nút
ñể chọn một
field, click nút
ñể chọn tất cả các
field trong
Table/Query dữ liệu
nguồn, có thể chọn
nhiều fields trên
nhiều bảng. Click
Next.
− Chọn dạng form gồm
các dạng:
* Columnar.
* Tabular.
* Datasheet
− Click Next.
-77-
Giáo trình Access
− Nhập tiêu ñề cho form⓪ Finish.-78-