+ Khái niệm Bài toán quản lý: Bài toán quản lý là tập hợp các bảng dữ liệu có liên quan với nhau thông qua 1 hay nhiều field dữ liệu trong cùng 1 lĩnh vực nào đó được tổ chức lưu chứa tr
Trang 1PHẦN LÝ THUYẾT
PHẦN CỞ SỞ DỮ LIỆU
MICROSOFT ACCESS
I Khái niệm về Hệ QTCSDL Microsoft Access:
Microsoft Access là 1 phần mềm trong bộ phần mềm Microsoft Office (Tin học văn phòng) của hãng Microsoft dành cho máy tính dùng để giải quyết các bài toán quản lý vừa và nhỏ Chức năng chính của Microsoft Access là:
- Tạo môi trường thuận tiện cho phép người dùng xây dựng và tạo ra bài toán quản lý trên môi trường máy tính
- Cung cấp đầy đủ các công cụ và phương tiện để cập nhật thông tin dữ liệu vào cho bài toán quản lý Đồng thời cũng cho phép người dùng khai thác thông tin dữ liệu từ bài toán quản lý theo nhu cầu của người dùng thông qua các giao diện đồ hoạ
+ Khái niệm Bài toán quản lý: Bài toán quản lý là tập hợp các bảng dữ liệu có liên quan với nhau thông qua 1 hay nhiều field dữ liệu trong cùng 1 lĩnh vực nào đó được tổ chức lưu chứa trên bộ nhớ của máy tính Nhằm mục đích khái thác thông tin cho nhiều người dùng với nhiều mục đích khác nhau: VD: Quản lý Học sinh, Sinh viên, Quản lý bán hàng, quản lý sách, quản lý nhân sự, …
Như chúng ta đã biết ngày nay cùng với việc phát triển của xã hội thì CNTT đóng 1 vai trò không thể thiếu CNTT hiện nay được ứng dụng vào hầu hết mọi lĩnh vực, mọi ngành nghề Đặc biệt việc tin học hoá công tác quản lý chiếm trên 90% các ứng dụng của Tin học
+ Việc tạo ra bài toán quản lý trên môn trường máy tính bao gồm các bước:
Bước 1: Tạo lập hồ sơ (Tạo ra CSDL – Bài toán quản lý)
- Tuỳ thuộc vào nhu cầu của tổ chức mà ta phải xác định chủ thể cần quản lý
- Dựa trên yêu cầu quản lý thông tin của đơn vị, tổ chức để xác định cấu trục của hồ sơ cho phù hợp
- Tiến hành thu nhập thông tin từ nhiều nguồn kah1c nhau đưa vào cho bài toán quản lý
Bước 2: Tiến hành cấp nhật hồ sơ quản lý: là việc làm thường xuyên và liên tục trong suốt
quá trình sử lý và khai thác bài toán
- Nhập mới hồ sơ quản lý, sửa chữa thông tin, dữ liệu
- Cập nhật bổ sung thông tin, dữ liệu
- Xoá hồ sơ khi hồ sơ không còn giá trị…
Bước 3: Khái thác hồ sơ quản lý:
- Sắp xếp hồ sơ theo 1 hay nhiều tiêu chí nào đó của người dùng
- Tìm kiếm tra cứu thông tin có sẵn trong hồ sơ thoả mãn 1 số yêu cầu của người dùng
- Tính toán, tổng hợp, thống kê hồ sơ theo yêu cầu của người dùng
- Từ các công việc trên người dùng có thể thiết kế các báo cáo theo yêu cầu cụ thể nào đó…
Trang 2GIỚI THIỆU CƠ SỞ DỮ LIỆU TRONG ACCESS
I- Dữ liệu và cơ sở dữ liệu
Ví dụ 1 : Để quản lý việc xếp loại về điểm cho học sinh các trường phổ thông, ta cần biết các
thông tin: danh sách học sinh của mỗi lớp, bảng điểm mỗi môn học, danh sách các môn học,
…
Ví dụ 2 : Để quản lý các hóa đơn khi bán hàng trong một cửa hàng, ta cần biết các thông tin:
danh sách khách hàng, danh mục sản phẩm, các thông tin về hóa đơn, …
Ví dụ 3 : Để quản lý việc cho mượn sách trong một thư viện, ta cần biết các thông tin : Danh
mục sách cho mượn, các thông tin về đọc giả, danh mục các loại sách, …
1- Khái niệm về dữ liệu
▬ Dữ liệu là các thông tin về các đối tượng mà ta muốn quản lý
Ví dụ :
▬ Đối tượng Học sinh gồm có : họ tên, ngày sinh, phái, địa chỉ, …
▬ Đối tượng Khách hàng gồm có : họ tên, địa chỉ, điện thoại, …
▬ Đố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 gồm có : 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
▬ Tập hợp các dữ liệu cần quản lý được lưu trữ theo một cấu trúc nào đó (thường là cấu
trúc dạng bảng) Trong đó, mỗi bả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
Ví dụ :
Malop Tenlop
KTV15 Ky thuat vien Tin hoc khoa 15
KTV16 Ky thuat vien Tin hoc khoa 16
KTV17 Ky thuat vien Tin hoc khoa 17
II- Giới thiệu Access
1- Giới thiệu
▬ 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
2- Tập tin CSDL Access
▬ Tập tin CSDL trong Access có phần mở rộng là MDB (đối với Office 97, 2000, XP); là
Accdb (đối với office 2007 trở về đây) bao gồm các đối tượng chính sau đây :
• Table : Các bảng lưu trữ dữ liệu để quản lý
• Query : Công cụ để xử lý dữ liệu trên Table
• Form : Công cụ để trình bày dữ liệu trong Table|Query hoặc là các giao diện để chọn
thao tác
• Report : Công cụ dùng để kết xuất dữ liệu trong Table|Query
Trang 3tin CSDL cần tạo
hiện việc tạo mới
• Macro : Công cụ dùng để liên kết các thao tác trong việc tự động hóa
• Module : Công cụ lập trình trong Access với ngôn ngữ VBA (Visual Basic for
Application)
3- Khởi động
▬ All programs Microsoft Office Microsoft Office Access
4- Các thao tác trong cửa sổ Database
Tạo mới 1 tập tin CSDL (1 bài toán quản lý) phần này chúng ta chỉ tạo 1 lần duy nhất sau đó các buổi khác ta mở lên làm tiếp (xây dựng 1 CSDL không thể tạo trong 1 vài buối mà phải xây dựng dần dần) nếu lần sau tạo lại cùng tên tập tin CSDL máy sẽ hỏi bạn tập tin CSDL đã có bạn
có muốn lưu đè không Yes/No Nếu chọn Yes nghĩa là tập tin CSDL cũ bị xoá không phục hồi được
Lúc này ta được 1 tập tin CSDL trắng rỗng như sau:
Trang 4TABLE 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
▬ Nhập liệu
2.1- Tạo cấu trúc Table
▬ Create => chọn mục Table Desing view
▬ Xuất hiện cửa sổ Table Design dùng để tạo cấu trúc bảng dữ liệu nhằm lưu chứ dữ liệu:
• 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 Design 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 5Chú ý : 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 một 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
2.2.1- 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ự)
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
2.2.2- Các thuộc tính theo kiểu
Kiểu Text Thuộc tính Ý nghĩa
Field Size Số ký tự tối đa được phép nhập
> Các ký tự nhập thành chữ in
< Các ký tự nhập thành chữ thường Input Mask Qui định mặt nạ nhập dữ liệu
Nhập : >LL000
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
> Các ký tự theo sau đổi thành chữ in
< Các ký tự theo sau đổi thành chữ thường
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
Kiểu Number Thuộc tính Ý nghĩa
Integer Chứa số nguyên từ -32768 32767
Trang 6Long Integer Chứa số nguyên từ -2147483648 2147483647
General Number Dạng tổng quát như khi nhập Currency Dạng có ký hiệu tiền tệ
Standard Dạng có dấu phân cách hàng ngàn
Decimal Place Số số lẻ cố định
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
General Date Dạng tổng quát như khi nhập Long Date Monday, September 27, 2004 Medium Date 27 – September – 04
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
Ture/False True hoặc False (0 hoặc -1)
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
Bài tập 01 - Thiết kế cấu trúc bảng dữ liệu:
1 Khởi động Ms-Access và tạo mới 1 tập tin CSDL trên ổ đĩa D:\ với tên QuanLySach:
2 Lần lượt thiết kế cấu trúc các bảng dữ liệu sau:
a) Tạo cấu trúc bảng dữ liệu ChuDeSach như sau:
Trang 7a) Tạo cấu trúc bảng dữ liệu Sach như sau:
c) Tạo cấu trúc bảng dữ liệu SachDocGia như sau:
d) Tạo cấu trúc bảng dữ liệu DocGia như sau:
Trang 83 Tiến hành nhập dữ liệu cho các bảng dữ liệu lần lượt như sau:
Lưu ý: Khi tiến hành nhập dữ liệu cho Table: Nhập theo mẩu tin (theo dòng):
a) Nhập dữ liệu cho Table: ChuDeSach gồm:
b) Nhập dữ liệu cho Table Sach gồm:
c) Nhập dữ liệu cho Table SachDocGia gồm:
Trang 9d) Nhập dữ liệu cho Table DocGia gồm:
Bài tập 02 - Thiết kế cấu trúc bảng dữ liệu:
1 Khởi động Ms-Access và tạo mới 1 tập tin CSDL trên ổ đĩa D:\ với tên HocPhi:
2 Lần lượt thiết kế cấu trúc các bảng dữ liệu sau:
a) Tạo cấu trúc bảng dữ liệu LOP như sau:
b) Tạo cấu trúc bảng dữ liệu HocSinh như sau:
Trang 10c) Tạo cấu trúc bảng dữ liệu DienUuTien như sau:
3 Lần lượt tiến hành nhập dữ liệu cho các bảng Table sau:
a) Nhập dữ liệu cho Table Lop gồm:
Nhập dữ liệu cho Table HocSinh gồm:
Trang 11b) Nhập dữ liệu cho Table DienUuTin gồm:
Bài tập 03 - Thiết kế cấu trúc bảng dữ liệu:
1 Khởi động Ms-Access và tạo mới 1 tập tin CSDL trên ổ đĩa D:\ với tên ThiDaiHoc:
2 Lần lượt thiết kế cấu trúc các bảng dữ liệu sau:
a) Tạo cấu trúc bảng dữ liệu ThiSinh như sau:
b) Tạo cấu trúc bảng dữ liệu TruongDH1 như sau:
Trang 12c) Tạo cấu trúc bảng dữ liệu TruongDH2 như sau:
3 Lần lượt tiến hành nhập dữ liệu cho các bảng Table sau:
a) Nhập dữ liệu cho Table ThiSinh gồm:
b) Nhập dữ liệu cho Table TruongDH1 gồm:
Trang 13Table tham
an hệ từ cửa
c) Nhập dữ liệu cho Table TruongDH2 gồm:
RELATIONSHIP (Quan hệ giữa các bảng dữ liệu)
1- 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 (1 ÷ 1 ) 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 (1 † ∞) 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
sổ Show Table (Menu 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”:
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
Trang 14Field khóa ngoại cũng xóa theo
➢ Liên kết dữ liệu cho CSDL: QLHS
➢ Liên kết dữ liệu cho CSDL: QLSach
➢ Liên kết dữ liệu cho CSDL: QLBanHang
3- 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 các 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
4- Nhập dữ liệu vào Table:
Qui tắc :
▬ Nhập dữ liệu vào table trong chế độ Datasheet
▬ Thông thường là dữ liệu nhập theo hàng
▬ Một 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
Trang 154.1- Đố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 4.2- 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
4.3- 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)
II- 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 tại trung tâm
Trang 16Phần bài tập:
Bài tập 1: Tạo Liên kết dữ liệu cho tập tin CSDL QLHS theo mẫu sau:
Bài tập 2: Tạo Liên kết dữ liệu cho tập tin CSDL QuanLySach theo mẫu sau:
Bài tập 3: Tạo Liên kết dữ liệu cho tập tin CSDL ThiTinHoc theo mẫu sau:
Bài tập 4: Tạo Liên kết dữ liệu cho tập tin CSDL HSGioi theo mẫu sau:
Bài tập 5: Tạo Liên kết dữ liệu cho tập tin CSDL QLBanHang theo mẫu sau:
Trang 17SELECT QUERY
I- Tổng quan
▬ 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
▬ Cửa sổ “Database” Thẻ Create chọn QueryDesign
▬ Cửa sổ “Show Table” : Thực hiện :
• Chọn Table tham gia trong danh sách
• Dòng Field : Kéo các Field tham gia tạo Query từ Table xuống (hoặc nhấp 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 18▬ 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á
III- Các công cụ hỗ trợ khi thiết kế Query
Trang 19• Phép toán “hoặc” : or
1.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”
1.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ả
<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
1.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 202- Một số các hàm thường dùng trong Query
datepart(“m”;ngaylaphd) Trả về các giá trị tháng trong ngày lập đơn (1 – 12)
datepart(“q”;ngaylaphd) Trả về các giá trị quý trong ngày lập đơn (1 – 4)
datepart(“yyyy”;ngaylaphd) Trả về các giá trị năm trong ngày lập đơn
<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
Thanhtien:Dongia*Soluong
Trang 21Ví 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
4- Query có điều kiện
4.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 2015 Gồm : Tên khách hàng, mã hóa đơn, ngày lập đơn, ngày nhận hàng
4.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 2015 Gồm :
Họ tên nhân viên, phái, mã hóa đơn, thành tiền
Between #1/1/15# and #31/3/15#
Trang 224.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 2015 Gồm : Mã hóa
đơn, ngày lập đơn, ngày nhận hàng
5- 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 2015 Gồm : Mã khách
hàng, tên khách hàng, điện thoại
▬ 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
Between #1/8/15# and #31/8/15#
Between #1/4/15# and #30/6/15#
Between #1/1/15# and #31/1/15#
Trang 236- 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 :
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
7- 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
Câu thông báo : [Nhập tên thành phố cần xem]
Trang 24BÀI TẬP THỰC HÀNH Bài tập 1: Mở tập tin CSDL QLHS thực hiện tạo Query với tên QketQuaHT gồm các field dữ
liệu sau: MaHS; HoTen ; Lop; Toan; Van; NN; DTB; XepLoai
Trong đó:
- DTB : Round(([Toan]+[Van]+[NN])/3,1)
Bài tập 2: Mở tập tin CSDL QLHS thực hiện tạo Query với tên QHSGioi lấy nguồn dữ liệu từ
QketQuaHT đã có gồm các field dữ liệu sau: MaHS; HoTen; Lop; Toan; Van; NN; DTB;
XepLoai (mỗi HS phải có ít nhất 1 môn có điểm từ 9 điểm trở lên)
Bài tập 3: Mở tập tin CSDL QLBanHang thực hiện tạo Query với tên QTienCTHD gồm các
field dữ liệu sau: MaHD; NgayLapHD; MaKH, MaNV, MaSP, TenSP, DonViTinh, SoLuong,
DonGia, TienHD: Soluong*DonGia
Bài tập 4: Mở tập tin CSDL QLBanHang thực hiện tạo Query với tên QTienMuaKH98 gồm
các field dữ liệu sau: MaKH, TenCty, MaHD, NgayLapHD, MaSP, TenSP, DonViTinh,
SoLuong, DonGia, Tien; TienMua: Soluong*DonGia (Với các HD lập trong năm 1998)
Trang 25Bài tập 5: Mở tập tin CSDL QLBanHang thực hiện tạo Query với tên QTienBanNV gồm các
field dữ liệu sau: MaNV, HoTen, MaHD, NgayLapHD, MaSP, TenSP, DonViTinh, SoLuong,
DonGia, Tien; TienBan: Soluong*DonGia
Bài tập 6: Mở tập tin CSDL QLBanHang thực hiện tạo Query với tên QTienBanRuou98 gồm
các field dữ liệu sau: MaHD, NgayLapHD, MaSP, TenSP, DonViTinh, SoLuong, DonGia, Tien;
Bài tập 7: Tạo SelectQuery tính tiền bán theo Nhân viên Lưu với tên QTienNV gồm các Field
DL sau: MaNV; HoTen; MaHD; NgayLapHD; MaSP; TenSP; SoLuong; DonGia; ThanhTien
(Bán các HĐ theo khoảng thời gian là tham số nhập vào từ bàn phím)
Bài tập 8: Mở CSDL QuanLySach thực hiện tạo Query liệt kê tất cả các quyển sách thuộc chủ
đề giáo dục đã mượn trong qu1y I năm 2014 Đặt tên là “QmuonQuyI-2016”
TOTAL QUERY VÀ CROSSTAB QUERY I- 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 :
Phương thức Ý nghĩa
Group by Nhóm các Record có giá trị 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
Trang 26Max 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
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; Bấm vào Menu tạo mới Create Query
Design View; Lúc này xuất hiện của sổ Show Tables
▬ Bước 2 : Chọn các Tables tham gia trong cửa sổ Show Tables
▬ Bước 3 : Chọn các Field tham gia tạo Query
▬ Bước 4 : Vào Menu Design Total Xuất hiện thêm dòng Total trong cửa sổ
Design
▬ 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 : Vào Menu Home 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 các 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
Dòng Total là nơi để chọn các tiêu chuẩn cho Field
Trang 273- Một số các ví dụ
Ví dụ 1 : Cho biết số hóa đơn mà mỗi khách hàng đã đặt Gồm : MaKH, TenKH, SoHD
Ví 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 :
MaKH, TenKH, ThanhTien
Ví dụ 3 : Muốn biết thông tin tổng hợp về khách hàng Gồm : MaKH, TenKH, SoHD,
Trang 28Ví dụ 4 : Cho biết các thông tin về mỗi sản phẩm trong quý 3 năm 2015 Gồm: MaKH,
TenKH, SoHD, TongThanhTien
PHẦN BÀI TẬP
Bài tập 1: Mở tập tin CSDL QLHS thực hiện tạo Total Query dựa vào Query QketQuaHT gồm
các thông tin sau: Lop; GVCN; Siso; SoHSDau; TyLeDau; SoHSTruot; TyLeTruot Lưu Query
với tên QTKTyLe
Trong đó:
- SiSo: MaHS
- SoHDDau: iif(Tongdiem>=5,1,0) => Dòng Total ta chọn là Sum
- TyLeDau: SoHDDau/Siso => Bấm phải chọn Properties \ Format: Percent và
lầy 2 số thập phân
- SoHDHong: iif(Tongdiem>=5,0,1) => Dòng Total ta chọn là Sum
- TyLeDau: SoHDHong/Siso => Bấm phải chọn Properties \ Format: Percent và
lầy 2 số thập phân
Bài tập 2: Mở tập tin CSDL QLSach thực hiện tạo Total Query gồm các thông tin sau: MaSach;
TenSach; SoLuongMuon Lưu Query với tên QSLDaMuon
Trang 29Bài tập 3: Mở tập tin CSDL QLSach thực hiện tạo Total Query Cho biết tổng số quyển sách
hiện có, tổng số tiền đã mua sách theo từng chủ đề Lưu Query với tên QTKTheoChuDe
Bài tập 4: Mở tập tin CSDL HocSinhGioi thực hiện tạo Query đặt tên QThongKeDonVi để
thông kê số lượng cả các thí sinh có mặt và vắng mặt của mỗi đơn vị (Thí sionh vắng mặt có dữ liệu trong cột Vang là YES () có cấu trúc như sau:
Bài tập 5: Mở tập tin CSDL ThiTInHoc thực hiện tạo Query đặt tên QThongKeCC số lượng
thí sinh dự thi theo đơn vị của từng loại chứng chỉ có cấu trúc như sau:
Trang 30II- 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 2015
2- Các bước tạo Crosstab Query
▬ Bước 1 : Cửa sổ Database \ Vào Menu Create \ Query Design View; Xuất hiện cửa sổ
ShowTables
▬ Bước 2 : Chọn các Table|Query tham gia tạo Crosstab Query mới
▬ Bước 3 : Vào Menu Design Chọn \ Crosstab Query; Lúc này trên lưới Field xuất hiện
dòng Crosstab và dòng Total
▬ Bước 4 : Lần lượt chọn các Field dữ liệu tham gia tạo Crosstab Query (01 Field là
Column Heading, dòng Total của Field này thường là GroupBy; 01 Field là Value Giá
trị của Field này được đưa vào cho Field chứa giá trị Column Heading và dòng Total
của Field này thường là Sum hoặc Count; các Field cònlại là RowHeading)
▬ Bước 5 : Menu Home \ Datasheet View Kiểm tra Kết quả
▬ Bước 6 : Lưu Query :
• Chọn 01 Field là: 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 01 Field là: 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
Mộ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
“Quy1”;“Quy2”;“Quy3”;“Quy4”
Trang 313- Một số các ví dụ
Ví dụ 1 : Giả sử muốn thiết lập một bảng biểu tổng hợp cho biết mỗi nhân viên của công ty đã
bán mỗi mặt hàng được bao nhiêu tiền và tổng số tiền là bao nhiêu
Bảng kết quả :
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 2015, đồng thời cho biết tổng số hóa đơn đã đặt hãy thiết kế một Crosstab Query như sau :
Trang 32Bảng kết quả :
Phần bài tập:
Bài tập 1: Mở tập tin CSDL QLBanHang tạo Query cho biết tổng tiền mua và tổng tiền trong
mỗi năm khác hàng đã mua hàng lưu với tên QTongTienNam như sau:
Bài tập 2: Mở tập tin CSDL QLBanHang tạo Query cho biết tổng tiền mua của KH theo qúy
trong năm 1998 lưu với tên QTienKHQuy-1998 như sau:
Bài tập 3: Mở tập tin CSDL QLBanHang tạo Query cho biết doanh số bán hàng của từng nhân
viên theo từng tháng trong năm với năm là tham số được nhập vào từ bàn phím lưu với tên
QDSBanhangNV-Nam như sau:
Trang 33Bài tập 5: Mở tập tin CSDL QLSach tạo quiery đếm số lượng sách đã mượn trong các tháng
của năm 2014, đặt tên là QTheoDoiMuonTheoThang như sau:
CÁC QUERY HÀNH ĐỘNG (Action Query)
Trang 34▬ 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
1.3- 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 Design => 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 4 : Kiểm tra kết quả Query : Menu Home => Datasheet View
▬ Bước 5 : Menu Design => 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ỉ nên thực thi (Run) Make Table Query khi nào thực sự muốn tạo một Table mới
Bài tập: Mở tập tin CSDL QLBanHang thực hiện tạo TableHD1998 dùng chức năng
MakeTableQuery lọc ra những Hóa Đơn lập năm 1998 từ table HoaDon nhằm sao lưu Danh
sách hoa đơn năm 1998 như sau:
Trang 352- Delete Query
2.1- 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
2.2- 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 Design => DeleteQuery
▬ 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 Design => Run 3- Append Query
3.1- 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 đó 3.2- 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 Design 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 Design => Run
Trang 364- Update Query
4.1- 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
4.2- 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
▬ Bước 3 : Chọn Menu Design => 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 Design => Run
Phần bài tập:
Mở tập tin CSDL QLBanHang thực hiện tạo query cập nhật Tăng / giảm giá sản phẩm
FORM WIZARD
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 Table/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 các 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ẻ Create New
• 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
Trang 37• Hộp thoại 2 : Chọn dạng hiển thị Form
• Hộp thoại 4 : Đặt tên cho Form (nên đặt không có khoảng trắng)
• 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)
• Hộp thoại 3 : Chọn loại nền cho Form
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 38Ví 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
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)
• Hộp thoại 4 : Chọn loại nền cho
Form
Trang 39• Hộp thoại 5 : Đặt tên cho Mainform
và Subform
Ví dụ : Mẫu Main – Sub Form “Nhanvien – Hoadon”
Bài tập áp dụng:
Bài tập 1: Mở tập tin CSDL QLHS thực hiện tạo Form cấp nhận Điểm cho HStheo mẫu sau:
Bài tập 2: Mở tập tin CSDL QLHS Từ Tables Lop và Query QKetQuaHT tạo Main/sub form
sau Dùng để theo dõi, kiểm soát thông tin học sinh theo lớp:
Trang 40Bài tập 3: Mở tập tin CSDL QLBanHang Từ Tables KhachHang va Query QTienKH tạo
Main/sub form sau Dùng để theo dõi, kiểm soát thông tin tiền mua theo KH:
Bài tập 4: Mở tập tin CSDL ThiTinHoc Tạo Main/sub form sau Dùng để theo dõi, kiểm soát
thông tin thí sinh dự thi theo đơn vị:
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
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) 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 giống như các đối tượng Drawing của Word