03.chuong3 truy van du lieu - query

105
Giảng Viên: ThS. Nguyễn Minh Thành Email: [email protected] Tel : 0908.348.469 TIN HC NG DNG TRONG KINH DOANH 2 Chương 3 TRUY VẤN DỮ LIỆU - QUERY

Upload: vanhoang1973

Post on 04-Dec-2015

231 views

Category:

Documents


7 download

DESCRIPTION

quan tri acce

TRANSCRIPT

Page 1: 03.Chuong3 Truy Van Du Lieu - Query

Giảng Viên: ThS. Nguyễn Minh ThànhEmail: [email protected] : 0908.348.469

TIN HOC ƯNG DUNG TRONG KINH DOANH 2

Chương 3

TRUY VẤN DỮ LIỆU - QUERY

Page 2: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query

NỘI DUNG

1. Giới thiệu2. Tạo truy vấn3. Toán tử và hàm trong Access.4. Tạo vấn tin trên nhiều bảng5. Truy vấn dung tham sô.6. Truy vấn dung phep trư.7. Truy vấn gom nhom.8. Truy vấn cheo.9. Truy vấn con.10. Truy vấn với các hành đông.

2

Page 3: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query3

1. GIỚI THIỆU 1.1. Tại sao phải dùng truy vấn

Trong thực tế việc tham khảo thông tin rất co nhiều dạng khác nhau và thường là khác với dạng dữ liệu nhập vào. Hơn nữa việc khai thác sô liệu ở bảng co nhiều khuyết điểm, do đo ta dung query sẽ thấy tiện lợi hơn nhiều. Do đo, người ta phải sử dụng môt công cụ để truy vấn thông tin đo là query. Sử dụng bảng truy vấn trong những việc sau: - Lựa chọn các trường và các mẩu tin cần thiết - Xếp sắp thứ tự mẩu tin theo trường quy định - Tham khảo dữ liệu trên nhiều bảng dữ liệu - Sử dụng bảng vấn tin làm cơ sở cho biểu mẫu hay báo cáo - Thực hiện những thay đổi trong bảng dữ liệu

Page 4: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query4

1.2. Các loại truy vấn thông dụng : Có nhiều loại truy vấn, nhưng thông dụng nhất là các loại sau:

1. Select Query (Truy vấn chọn số liệu): được sử dụng phổ biến nhất, dùng để:

Chọn lọc các mẩu tin

Thêm các trường mới là kết quả thực hiện các phép tính trên các trường của bảng nguồn.

Đưa vào các điều kiện tìm kiếm, lựa chọn

2. Update Query (Truy vấn cập nhật): dùng để sửa đổi đồng loạt nhiều mẩu tin của một hay nhiều bảng

1. GIỚI THIỆU

Page 5: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query5

1.2. Các loại truy vấn thông dụng

3. Delete Query (Truy vấn xoá số liệu): xoá một nhóm các mẩu tin từ một hay nhiều bảng

4. Crosstab Query (Truy vấn tham chiếu chéo): kết nhóm số liệu theo chủng loại và hiển thị số liệu dưới hình thức của một bảng tính kèm theo số liệu tổng hợp ngang và dọc

6. Make Table Query (Truy vấn tạo bảng ): cho tạo một bảng mới từ số liệu của Query

5. Append Query (Truy vấn thêm): Dùng để thêm (nối) các bảng ghi vào phần cuối của một bảng.

1. GIỚI THIỆU

Page 6: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query6

2. TẠO TRUY VẤN

Thường dùng hai cách tạo truy vấn ứng với hai lựa chọn: in Design view và by using wizard

By using wizard: truy vấn được xây dựng bằng công cụ wizard của Access, ta chỉ việc trả lời các câu hỏi theo yêu cầu

In Design view: truy vấn được thiết kế tuỳ theo mục đích của người sử dụng. Ta thường chọn cách này. Cách thực hiện như sau:

2.1. Cách tạo truy vấn

Page 7: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query77

Bước 1: Trong cửa sổ Database, chọn trang Queries, chọn nút New, hộp thoại New Query xuất hiện

Trang Queries

Nút New

Cửa sổ Database

Chọn Design View, OK, xuất hiện cửa sổ như sau

2. TẠO TRUY VẤN

Page 8: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query8

Bước 2: chọn nguồn dữ liệu cho truy vấn

Cửa sổ Show Table cho chọn các bảng (Tables), các truy vấn (Queries) hoặc chọn cả bảng và truy vấn để làm nguồn dữ liệu cho truy vấn sắp tạo

Chọn nguồn dữ liệu phù hợp, chọn Add. Sau khi chọn xong tất cả, chọn Close để trở về cửa sổ Select Query

2. TẠO TRUY VẤN

Page 9: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query 99

Phần trên: chứa các bảng và truy vấn đã chọn làm nguồn Phần dưới: gọi là lưới thiết kế QBE (Query By Example) dùng chứa các trường của truy vấn mới cần xây dựng

nhấn F6 để di chuyển giữa 2 phần

Mô tả cửa sổ Select Query

2. TẠO TRUY VẤN

Page 10: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query10

Mô tả cửa sổ Select Query

Field: chứa tên trường hoặc biểu thức làm kết quả truy vấn Table: ghi tên nguồn dữ liệu của trường được chọn tại dòng field

Sort: chọn cách sắp xếp dữ liệu của trường

Criteria: biểu thức tiêu chuẩn chọn lọc dữ liệu

Show: chọn trường có hiển thị hay không

Or: điều kiện hoặc của biểu thức tiêu chuẩn chọn lọc dữ liệu (nếu có)

2. TẠO TRUY VẤN

Page 11: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query11

Bước 3: Thiết kế truy vấn theo yêu cầu Đưa các trường vào truy vấn: nhấn giữ chuột kéo trường thích hợp thả vào cột của lưới thiết kế, hoặc nhắp đúp tại tên trường

Ghi chú: Cách thêm trường biểu thức:

Chọn một ô trống trên hàng Field, gõ tên trường biểu thức, dấu : (hai chấm), biểu thức.Ví dụ: Tongdiem: [Diemtoan]+[Diemly]+[Diemhoa]

Bước 4: Lập tiêu chuẩn lựa chọn (điều kiện tìm kiếm)Trong ô Criteria của trường cần lập biểu thức, gõ biểu thức Ví dụ: gõ vào L1C (tìm khách ở loại phòng L1C)

Lưu truy vấn vừa tạo : Gọi lệnh File / Save

2. TẠO TRUY VẤN

Page 12: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query12

12

Trong cửa sổ thiết kế truy vấn

Gọi lệnh Query / Run (hoặc chọn biểu tượng trên thanh công cụ)

Hoặc chọn biểu tượng View

Hoặc chọn Design View Design View

2.2. Thực hiện truy vấn

2. TẠO TRUY VẤN

Page 13: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query1313

2.3. Hiệu chỉnh truy vấn Trong cửa sổ Database, chọn tên truy vấn, chọn nút Design để mở cửa sổ thiết kế. Thực hiện hiệu chỉnh theo yêu cầu

nút Design

2. TẠO TRUY VẤN

Page 14: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

14

Toán tử toán học

+, -, *, /, luỹ thừa (^) Thương số nguyên (chia lấy phần nguyên): \ Số dư (chia lấy phần dư): Mod

Toán tử logic

Not: cho kết quả ngược lại (Not đúng= sai, Not sai= đúng) And (và): cho kết quả đúng khi tất cả điều kiện đúng, nếu một điều kiện nào đó sai thì cho kết quả sai Or (hoặc): cho kết quả đúng khi có ít nhất một điều kiện đúng, nếu tất cả điều kiện sai thì cho kết quả sai

Page 15: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query15

Toán tử so sánh

<, <=, >, >=, =, <> (không bằng)

Toán tử so sánh đặc biệt

Between ... And ... (Nằm trong khoảng)

Like (gần giống):

• Vd: [slg] Between 150 And 200

• (*) Tổ hợp bất kỳ - “Anh Ban” Like “*B*”

• (?) Ký tự bất kỳ - “Access” Like “???e*”

• (#) Ký số bất kỳ - 2001 Like “##0#”: True

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 16: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query16

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 17: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query17

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 18: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query18

Toán tử so sánh đặc biệt

Null, Not null: kiểm tra dữ liệu đã có hay chưa

• Vd: Để tìm các thí sinh thiếu Ngày sinh, ta đưa giá trị Null vào ô Criteria của trường [Namsinh]

• Vd: Để tìm các khách hàng đã có địa chỉ, ta đưa giá trị Not null vào ô Criteria của trường [Diachi]

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 19: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query 19

Toán tử ghép nối & (nối chuỗi)

• “Đà” & “ Nẵng”: “Đà Nẵng”

+ (cộng với)

• 100 & “năm cô đơn”: 100 năm cô đơn

• “Con thuyền” + “không bến”: Con thuyền không bến• 1001 + “đêm” : Type mismatch (kết quả sai)

• 123 & 456: 123456

• Date() & “Nhâm Ngọ”: 14/6/2002 Nhâm Ngọ

• “Vĩ tuyến” & 90/2 & “ngày đêm”: Vĩ tuyến 45 ngày đêm

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 20: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query20

Hằng trị (constants)

True/ False/ Null: hằng trị đúng/ sai/ rỗng

Dấu rào (Delimiter)

“...”: Rào giá trị chuỗi

• Vd: “43 Thanh Thuỷ - Đà Nẵng”

[ ... ] : Rào tên biến

• Vd: [SoLuong] * [DonGia]

#../../..#: Rào giá trị ngày• #23/04/2000#

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 21: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query2121

Điều kiện cùng thoả mãn/hoặc thoả mãn

Các điều kiện viết cùng trên dòng Criteria là các điều kiện đồng thời thoả mãn

Ví dụ: để tìm các khách ở loại phòng “L1C” và đến trong tháng 6, trên dòng Criteria, ta ghi

Điều kiện ghi trên cùng 1 dòng

Kết quả

VÍ DU

Page 22: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query

VÍ DU

2222

Các điều kiện viết trên dòng Criteria và dòng Or là các điều kiện không cần đồng thời thoả mãn

Ví dụ: để tìm các khách ở loại phòng “L1C” hoặc đến trong tháng 6, trên dòng Criteria và dòng Or, ta ghi

Kết quả

Điều kiện ghi trên dòng Criteria và dòng Or

Page 23: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query23

Phép so sánh Is Null và Is Not Null Is Null được dung để hiển thị những mẩu tin mà trên trường chỉ định không co dữ liệu. Is Not Null thì ngược lại Ví dụ: cho bảng HOCVIEN co nôi dung như sau:

Hiện thị những học viên chứa co năm sinh

VÍ DU

Page 24: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query24

3.5. Toán tử In Toán tử IN để xác định giá trị trong môt danh sách chỉ định Ví dụ: Hiển thị những học viên ở các lớp KT1, KT2 và KT4

Hoặc

VÍ DU

Page 25: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query25

VÍ DUPhép AND và OR - Mệnh đề OR được viết trên 2 dòng(môt hoặc nhiều côt) - Mệnh đề AND được viết trên môt dòng(nhiều côt) Ví dụ 1:Hiển thị những mặt hàng co đơn giá >=5000 và sô lượng >=100

Ví dụ 2: Hiển thị những mặt hàng co đơn giá >=5000 hoặcsô lượng >=100

Page 26: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query26

VÍ DU

Ví dụ 3:Hiển thị những mặt hàng co đơn giá >=5000 hoặc đơn giá <=1000

Hoặc

Page 27: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query27

Hàm thao tác trên dữ liệu kiểu Text

• LEFT(chuỗi,n): Trích n ký tự bên trái chuỗi.

• RIGHT(chuỗi,n): Trích n ký tự bên phải chuỗi.

• MID(chuỗi, vị trí, n): Rút trích n ký tự kể tư vị trí chỉ định

• LEN(chuỗi): Trả về giá trị là chiều dài chuỗi

• LCASE(chuỗi): Chuyển thành chuỗi thường

• UCASE(chuỗi): Chuyển thành chuỗi hoa

• TRIM(chuỗi): cắt bỏ khoảng trắng 2 đầu

• LTRIM(chuỗi): Cắt bỏ khoảng trắng bên trái

• RTRIM(chuỗi): cắt bỏ khoảng trắng bên phải.

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 28: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query28

Hàm thao tác trên dữ liệu kiểu date • Trong việc quản lý dữ liệu, việc thông kê dữ liệu theo thời

gian là môt thao tác khá thường xuyên. Các hàm liên quan đến thời gian

• Datepart(“định dạng”, biểu thức ngày): Cho kết qủa theo phần định dạng của biểu thưc ngày Trong đo, ký hiệu phần định dạng mang môt trong các giá trị: “y”: ngày trong năm (day of year) “w”: ngày trong tuần (weekday) “d”: ngày trong tháng (Day of month) “m”: tháng trong năm (month) “q”: quí (quarter) “yyyy”: năm (year) “ww”: tuần trong năm (week of year) “h”: giờ “n”: phút “s”:giây

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 29: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query29

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.• Day(dữ liệu trích) = DATEPART(“d”,dữ liệu trích)

• Month(Dữ liệu trích) = DATEPART(“m”,dữ liệu trích)

• Year(Dữ liệu trích) = DATEPART(“yy”,dữ liệu trích)

• Date(): lấy ngày của hệ thông

• Now(): lấy ngày giờ của hệ thông

• WeekDay(biểu thức ngày): cho kết quả là sô thứ tự của biểu

thức ngày. Theo mặc định 1 là chủ nhật, 2 là thứ 2…

• DateDiif(“Định dạng”, biểu thức ngày BĐ, biểu thức ngày KT):

Cho khoảng giữa hai chuỗi ngày theo phần định dạng.

• DateAdd(“định dạng”, n, biểu thức ngày): công thêm n đơn vị

theo phần định dạng vào biểu thức ngày.

• Hour(Biểu thức giờ): cho kết quả là giờ của biểu thức giờ

• Minute(Biểu thức giờ): cho kết quả là phút của biểu thức giờ

• Second(Biểu thức giờ): cho kết quả là giây của biểu thức giờ

Page 30: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query30

Ví dụ : Hiện thị những học viên sinh trước 1986

Hoặc

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 31: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query31

Ví dụ : Lọc những hoá đơn tháng 10

Hoặc

Hoặc

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 32: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query32

Những tính toán khác

Hàm IIF(<Ðiều kiện>,<Giá trịv1>,< Giá trị 2>)

Nếu <Ðiều kiện> nhận giá trị true thì hàm trả về <Giá trị 1>, ngược

lại trả về <Giá trị 2>.

Ví dụ 1: Giả sử bảng dữ liệu học viên co các trường: MaHV, HoTen,

Toan, Van. Ta muôn tính toán thêm các côt TB và XepLoai

Ô xếp loại co nôi dung như sau: XepLoai:IIF(TB>=8,”gioi”,IFF(TB>=6.5,”kha”,IFF(TB>=5,”TB”,”YEU”)))

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 33: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query33

Ví dụ : Cho bảng

LUONG(MaNV,HoTen,MaPB,MucLuong,NgayCong)

Tính tiền thưởng theo yêu cầu:

Ngaycong>=20: thưởng 40000

Ngaycong>=25: thưởng 100000

Thuong: IIF(NgayCong>=25,100000,IFF(NgayCong>=20,40000,0))

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 34: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query34

3.6. Các thông báo lỗi “Can’t have aggregate function in WHERE clause”

Không thể chỉ định hàm thông kê trong mệnh đề WHERE (Criteria)

“You can’t set criteria before you add a field or expression to the field row”. Lỗi xuất hiện khi bạn chỉ định môt tiêu chuẩn vào côt mà chưa co chỉ định tên trường(hay biểu thức trường) vào dòng field

“Data type mismatch in critetia expression” Sai về kiểu dữ liệu trong biểu thức tiêu chuẩn, chẳng hạn như so sánh môt trường sô number với tiêu chuẩn là chuỗi

3. TOÁN TỬ VÀ HÀM TRONG ACCESS.

Page 35: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query35

4.TẠO VẤN TIN TRÊN NHIỀU BẢNG

Thông thường trong các bảng vấn tin thường lấy dữ liệu trên nhiều bảng dữ liệu. Ví dụ: ta muôn xem điểm của môt học viên ở lớp nào (Trong chương 2). Thì ít nhất ta phải lấy hai bảng là HOCVIEN và DIEM - Muôn tạo bảng vấn tin lấy dữ liệu trên bảng,ta chỉ định các bảng cần thiết với lưu ý là phải bảo đảm các môi quan hệ giữa chúng.

Page 36: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query36

4.TẠO VẤN TIN TRÊN NHIỀU BẢNG

4.1. Các loại liên kết

- Liên kết chặt (Inner Join hay Equi Join): là kiểu liên kết mà dữ liệu hiển thị trong bảng vấn tin là những mẩu tin

co quan hệ với nhau phải tồn tại trên cả hai bảng

- Liên kết không chặt (Outer Join): là kiểu liên kết mà dữ liệu được đưa vào bảng vấn tin là tất cả những mẩu tin

của bảng thứ nhất (ngay cả khi no không co mẩu tin tương ứng ở bảng thứ 2) và những mẩu tin của bảng thứ

2 co tương ứng trong bảng thứ nhất

- Tự liên kết (Self Join): là kiểu liên kết của môt bảng dữ liệu với chính no (phải thêm bảng dữ liệu này 2 lần)

Page 37: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query37

4.TẠO VẤN TIN TRÊN NHIỀU BẢNG

4.2. Chỉ định mối liên kết giữa 2 bảng - Trong nhiều trường hợp, khi ta thêm các bảng dữ liệu thì sẽ hiển thị các môi quan hệ đã khai báo tư cửa sổ thiết lập quan hệ.

- Ngay cả trong trường hợp, hai bảng chưa thiết lập môi quan hệ với nhau thì Access cũng cô thiết lập môi quan hệ giữa hai trường cung tên, co kiểu dữ liệu thích hợp.

- Muôn chỉ định loại liên kết (Join Type), ta nhấp cào môi qua hệ thì xuất hiện hôp thoại sau:

Page 38: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query38

4.TẠO VẤN TIN TRÊN NHIỀU BẢNG

Page 39: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query39

- Quan hệ chặt: Hiển thị những mẩu tin co giá trị bằng nhautrên cả 2 trường quan hệ của 2 bảng.

- Quan hệ không chặt thứ 1: Hiển thị tất cả các mẩu tin trên bảng HoSoKH cho du không co mẩu tin tương ứng trên bảng PhieuThu và những mẩu tin của bảng PhieuThu co mẩu tin với bảngHoSoKH

- Quan hệ không chặt thứ 2: Hiển thị tất cả các mẩu tin trên bảng PhieuThu cho du no không co mẩu tin tương ứng trên bảng HoSoKH và những mẩu tin của bảngHoSoKH co mẩu tin với bảngPhieuThu

4.TẠO VẤN TIN TRÊN NHIỀU BẢNG

Page 40: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query40

4.TẠO VẤN TIN TRÊN NHIỀU BẢNG4.3. Các ví dụ a. Liên kết chặt Truy xuất những mẩu tin tư môt bảng dữ liệu co mẩu tin tương ứng trong bảng thứ 2 mới đưa vào truy vấn. Ví dụ: Cho 2 bảng

Page 41: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query41

4.TẠO VẤN TIN TRÊN NHIỀU BẢNGVấn tin hiển thị thông tin khách hàng gồm các trường: SoPT, Ngay, MaKH, TenKH, SoTien

Page 42: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query42

4.TẠO VẤN TIN TRÊN NHIỀU BẢNGb. Ví dụ về liên kết không chặt Ví dụ in ra những khách hàng, kể cả những khách hàng không co phiếu thu. Ta phải sử dụng kiểu liên kết không chặt tư HosoKH ->PhieuThu và chỉ định lưới thiết kế

Page 43: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query43

4.TẠO VẤN TIN TRÊN NHIỀU BẢNGKết quả:

Page 44: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query44

4.TẠO VẤN TIN TRÊN NHIỀU BẢNGLưu ý: Khi 2 bảng không co môi liên kết thì sẽ tạora sự lặp lại dữ liệu. Chẳng hạn bảng thứ 1 co n mẩu tin, bảng thứ 2 co m mẩu tin thì bảng kết quả co m x n mẩu tin.

Page 45: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query45

4.TẠO VẤN TIN TRÊN NHIỀU BẢNGGiả sử co truy vấn sau:

Kết quả:

Page 46: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query46

5.TRUY VẤN DÙNG THAM SỐ

-Là truy vấn mà tiêu chuẩn tính toán được thay đổi cho mỗi lần chạy.- Vấn tin dạng này rất thuận lợi để làm cơ sở cho mẫu biểu hay báo biểu. - Tạo bảng vấn tin co tham sô: muôn tạo bảng vấn tin co tham sô, ta tạo tương tự như bảng vấn tin bình thường như đã nêu ở trên, chỉ co môt sựkhác biệt là ta cho xuất hiện môt thông báo chắc người dung nậhp dữ liệu khi chạy bảng vấn tin. - Muôn vậy ta chỉ định môt tham sô. - Môt tham sô (parameter) là môt chuỗi các ký tự bao trong ngoặc vuông, không trung với môt trong các trường của bảng dữ liệu đang được sử dụng.

Page 47: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query47

5.TRUY VẤN DÙNG THAM SỐVí du 1 : Hiển thị phiếu thu của khách hàng chỉ định khi chạy bảng vấn tin

Khi ta chạy bảng vấn tin này thì sẽ yêu cầu nhập giá trị để làm tiêu chuẩn lọc mã khách hàng(giả sử A02):

Page 48: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query48

5.TRUY VẤN DÙNG THAM SỐ

- Ngoài ra ta co thể dung LIKE để so sánh môtvài ký tự đầu giông nhau, chẳng hạn ta co thể viết lại. - Khi đo ta nhập A vào khung Parameter sẽ được hiểu là A* Hoặc ta co thể viết dòng tiêu chuẩn: LIKE [nhap ma KH: ], thì khi đo ta phải nhập A*

Hoặc ta co thể viết dòng tiêu chuẩn: LIKE [nhap ma KH: ], thì khi đo ta phải nhập A*

Page 49: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query49

5.TRUY VẤN DÙNG THAM SỐ

Page 50: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query

5.TRUY VẤN DÙNG THAM SỐ

50

Lưu ý: Khi gõ môt tên trong cặp ngoặc vuông để cung cấp giá trị làm tiêu chuẩn hay tính toán mà không trung với các trường của các bảng dữ liệu đang dung thì no hiểu đo là môt tham sô.

Page 51: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query51

6.TRUY VẤN GOM NHÓM

Để tạo vấn tính dạng thông kê, gom nhom: Tư cửa sổ thiết kế View/Total hay biểu tượng để thêm dòng Total trên khung thiết kế

Page 52: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query52

6.TRUY VẤN GOM NHÓM

6.1. Các phép thống kê •SUM: Tính tổng môt trường sô chỉ định

•COUNT: Đếm sô mẩu tin đã co dữ liệu trên trường sô chỉ định

•AVG: Tính trung bình môt trường sô chỉ định

•MIN: Tính giá trị nhỏ nhất của trường sô chỉ định

•MAX: Tính giá trị lớn nhất của trường sô chỉ định

•FIRST: Trị đầu tiên của trường chỉ định

•LAST: Trị cuôi cung của trường chỉ định

•STDDEV: Đô lệnh chuẩn của trường sô chỉ định

Page 53: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query53

6.1. Các phép thống kê •VAR: Phương sai của trường sô chỉ định

•GROUP BY: Chỉ định trường phân nhom

•WHERE: Chỉ địng trường chứa tiêu đề lựa chọn

•Expression: Chỉ định expression trên dòng Total khi biểu thức trên

dòng field của côt đo đã là môt biểu thức mang tính thông kê, chẳng

hạn như TongTien:Sum(SoTien), SLHV:count(MaHV)

6.TRUY VẤN GOM NHÓM

Page 54: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query54

6.TRUY VẤN GOM NHÓMVí dụ: Cho bảng HOADON

Page 55: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query55

6.TRUY VẤN GOM NHÓMVí dụ: Cho bảng HOADON

Page 56: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query56

6.TRUY VẤN GOM NHÓM

Trong trường hợp này co thể dung Group By thay cho where. Tuy nhiên hình thức kết quả co khác nhau. Hình thức where thì không được bậc show, trong khi đo Group by bậc hay không bậc đều được cả. Nếu bậc thì co kết quả sau:

Page 57: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query57

6.TRUY VẤN GOM NHÓM

6.2. Thống kê theo nhóm Môt yêu cầu khác thường được sử dụng là dữ liệu được thông kê theo nhom dựa trên môt (vài) trường chỉ định

Page 58: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query58

6.TRUY VẤN GOM NHÓM

6.3. Chỉ định nhiều trường Group By Trong trường hợp muôn phân nhom theo nhiều trường thì ta chỉ định Group By trên nhiều trường. Khi đo chỉ những mẩu tin nào co giá trị giông nhau trên tất cả các trường đo mới được xem là cung nhom

Page 59: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query59

6.TRUY VẤN GOM NHÓM

Ví dụ 2:Giả sử trong MaLop co 2 ký tự đầu là khoa học, 2 ký tự tiếp theo là ngành học, ký tự thứ 5 là sô thứ tự lớp (chẳng hạn 05KT1, 04KT2,…) Cho bảng HOCVIEN sau:

Page 60: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query60

6.TRUY VẤN GOM NHÓM

Page 61: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query61

6.TRUY VẤN GOM NHÓM

6.4. Khai báo giới hạn trong tính toán theo nhóm

Ở đây ta cần phân biệt tiêu chuẩn tác đông đến trước hay sau khi tính tổng công theo phân nhom.

a) Giới hạn trước khi cộng nhóm:

- Cách thức này sẽ lọc những thông tin thỏa mãn rồi mới thông kê.

Ta chỉ định Where trong ô Total, chỉ định tiêu chuẩn vào ô Criteria của trường này (nhưng không đánh dấu hiển thị côt này)

Page 62: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query62

6.TRUY VẤN GOM NHÓM

Ví dụ: Giả sử cho bảng ChiTietHD như sau:

Page 63: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query63

6.TRUY VẤN GOM NHÓM

Page 64: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query64

6.TRUY VẤN GOM NHÓMb)Giới hạn sau khi cộng nhóm: - Cách này sẽ thông kê tất cả các mẫu tin trong bảng, và chỉ hiển thị những dòng kết quả thỏa mãn điều kiện chỉ định. - Ở cách này ta chỉ Sum vào ô Total và tiêu chuẩn vào ô Criteria của cung môt trường. Ví dụ: Hiển thị những mặt hàng co tổng sô lượng <20

Page 65: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query65

6.TRUY VẤN GOM NHÓM

Page 66: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query66

6.TRUY VẤN GOM NHÓM6.5. Chỉ định Expression - Trong đa sô trường hợp, ta chỉ định phep toán thông kê trên dòng Total. - Ở đây ta chỉ định phep toán thông kê trên dòng Field rồi chỉ định expression trên dòng Total

Page 67: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query67

6.TRUY VẤN GOM NHÓM6.5. Chỉ định Expression - Trong đa sô trường hợp, ta chỉ định phep toán thông kê trên dòng Total. - Ở đây ta chỉ định phep toán thông kê trên dòng Field rồi chỉ định expression trên dòng Total

Page 68: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query68

6.TRUY VẤN GOM NHÓM6.6. Những tính toán hỗ trợ khác

Hiển thị thông tin: MaKH, Q1, Q2, Q3, Q4

Page 69: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query69

6.TRUY VẤN GOM NHÓM

6.7. Hàm kết hợp Cú pháp chung:

Tên hàm(“Tên field”,”tên table/query”[,”điều kiện”}) Công dụng:

DAVG: Tính trung bình DCOUNT: Đếm DFIRST: Cho giá trị tìm thấy đầu tiên DLAST: Cho giá trị tìm thấy cuôi cung DLOOKUP: Trả về giá trị tìm thấy DMAX: Tìm giá trị lớn nhất DMIN: Tìm giá trị nhỏ nhất DSUM: Tính tổng giá trị trên field

Page 70: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query70

6.TRUY VẤN GOM NHÓM

6.8. Các thông báo lỗi -Nếu ta chỉ định môt phep thông kê (SUM, AVG…) mà không bậc dòng Total thì sẽ thông báo lỗi “you tried to execute a query that doesn’t include the specified expression “…” as part of an aggregrate function”

-Khi ta chỉ định Where trên dòng Total thì không được bậc Show của côt đo. Nếu bậc thì Access sẽ báo lỗi “Microsoft Access can’t display the field for which you enter where in the Total row..”

Page 71: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query71

7.TRUY VẤN CHÉO

7.1. Tạo truy vấn CrossTab bằng Design view + Tư cửa sổ Database, chọn Design View để hiển thị khung thiếtkế như đã đề cập + Gọi Query/ CrossTab để chỉ loại bảng vấn tin

+ Chỉ định Group by vào các trường phânnhom và chỉ định phep toán vào trường thông kê + Chỉ định Row Heading vào các trường cần làm tiêu đề dòng, Column Heading vào (môt) trường làm tiêu đề côt và Value trường thông kê vào khung thiết kế.

Page 72: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query72

7.TRUY VẤN CHÉO

Page 73: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query73

7.TRUY VẤN CHÉO

Page 74: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query74

7.TRUY VẤN CHÉO

Thông báo lỗi:“to create a Crosstab query, you must specify one more Row Heading optio, one Column Heading option and one value option”.

Để tạo mô CrossTab Query, ta chỉ định môt hay nhiều trường làm Row Heading, nhưng chỉ được chỉ định môt trường làm Column Heading và môt trường là value, nghĩa là không được phep chỉ định nhiều trường làmColumn Heading hay Value.

Page 75: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query75

7.TRUY VẤN CHÉO

7.2. Tạo bằng cách dùng Wizard - Bước 1: Tư cửa sổ Database, chọn New xuất hiện hôp thoại

Page 76: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query76

7.TRUY VẤN CHÉO

Page 77: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query77

7.TRUY VẤN CHÉO

Page 78: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query78

7.TRUY VẤN CHÉO

Page 79: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query79

7.TRUY VẤN CHÉO

Page 80: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query80

7.TRUY VẤN CHÉO

Bước 6:

Page 81: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query81

7.TRUY VẤN CHÉO

Page 82: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query82

8. CÁC TRUY VẤN KHÁC

8.1. Truy vấn tự liên kết (Self-join)- Khi muôn tạo truy vấn thỏa mãn đồng thời 2 giá trị trên 2 mẩu tin của cung môt trường. -Ví dụ tìm hoá đơn vưa chứa mặt hàng “X83” và “X92” (hai mặt hàng nêu ra trên cung hoá đơn). Ta sử dụng liên kết SelfJoin: Mở bảng dữ liệu 2 (hay nhiều) lần, chỉ định trường chung và chỉ định các giá trị lần lượt vào các trường cung tên trường nhưng tên các bảng được đặt lần lượt thêm các cô 1, 2, 3…

Page 83: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query83

8. CÁC TRUY VẤN KHÁC

Page 84: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query84

8. CÁC TRUY VẤN KHÁC

Page 85: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query85

8. CÁC TRUY VẤN KHÁC

Page 86: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query86

8. CÁC TRUY VẤN KHÁC

8.2. Truy vấn không có trong - Find Unmatched Query

Page 87: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query87

8. CÁC TRUY VẤN KHÁC

8.3. Truy vấn trùng - Find Duplicates Query

Page 88: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query88

8. CÁC TRUY VẤN KHÁC

Trong thực tế co thể co những yêu cầu mà không dung môt bảng vấn tin sẽ khá phức tạp và rất kho kiểm soát. Khi đo ta dung phôi hợp những bảng vấn tin. Ví dụ: Cho bảng ChiTietHD,HOSOKH và HOADON như sau

8.4. Truy vấn phối hợp

Page 89: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query89

8. CÁC TRUY VẤN KHÁC

Yêu cầu: Hiển thị những khách hàng không mua mã hàng “X83” Thực hiện qua 2 bước - Bước 1: Tạo bảng vấn tin lọc những khách hàng co mua mã hàng “X83” (đặt tên bảng vấn tin là M83)

Page 90: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query90

8. CÁC TRUY VẤN KHÁC

Page 91: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query91

9.TRUY VẤN CON

Ví dụ 1: Cho bảng HOCVIEN(MaHV, HoTen, MNgaySinh, Phai, MaLop) Yêu cầu 1: Hiển thị những học viên gồmcác thông tin: MaHV, Hoten, NgaySinh, MaLop

SELECT MaHV, Hoten, NgaySinh, MaLop FROM HOCVIEN

Yêu cầu 2: Hiển thị những học viên co MaLop là “KT1”, thông tin gồm MaHV, Hoten, NgaySinh, MaLop

SELECTMaHV, Hoten, NgaySinh, MaLop FROMHOCVIEN WHERE MaLop = “KT1”

Page 92: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query92

9.TRUY VẤN CON

- Bảng vấn tin con được dung như môt tiêu chuẩn lọc dữ liệu (trongmôt yêu cầu thực tế). Chẳng hạn như hiển thị những nhân viênco mức lương lớn hơn mức lương trung bình của các nhân viên trong cơ quan, hay hiển thị những học viên co điểm toán cao nhất của tưng lớp … Ví dụ 2:Cho bảng LUONG(MaNV, HoTen, MaBP, ChucVu, MucLuong, NgayCong) Yêu cầu: Hiển thị những nhân viên co lương trung bình cao nhất

Page 93: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query93

9.TRUY VẤN CON

Page 94: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query94

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNGNgoài các bảng vấn tin dung để xem dữ liệu còn co các bảng vấn tin dung để cập nhật, thêm, xoá, sửa dữ liệu… được gọi là bảng vấn tin hành đông.

Page 95: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query9595

10.1. Truy vấn cập nhật (Update Query)

Các bước xây dựng truy vấn cập nhật

Chọn nguồn dữ liệu (các bảng hoặc truy vấn khác) Chọn lệnh Query / Update Query, hiện thêm hàng Update to trong lưới QBE Đặt biểu thức vào ô Update To của trường cần sửa Criteria: ghi điều kiện tương ứng

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG

Page 96: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query96

Ví dụ: trong hình dưới, khi thực hiện Query thì đơn giá mặt hàng Gạo sẽ giảm 1000

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG

Page 97: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query9797

10.2. Truy vấn xoá (Delete Query) Chọn nguồn dữ liệu (các bảng hoặc truy vấn khác) Chọn lệnh Query / Delete Query, hiện thêm hàng Delete trong lưới QBE

Kéo dấu * của bảng muốn xoá vào dòng Field, từ khoá From xuất hiện trên dòng Delete

Kéo trường dùng để lập điều kiện vào dòng Field, từ khoá Where xuất hiện trên dòng Delete

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG

Page 98: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query98

Ví dụ: trong hình dưới, khi thực hiện Query thì các mẩu tin có Số hoá đơn là H01/KD sẽ bị xoá

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG

Page 99: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query99

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG

Ví dụ: Thêm những mẩu tin co sô tiền<500000 tư HoaDon vào PhieuThu - Bước 1: Tư cửa sổ Database, chọn New/ Design View và chỉ định cung cấp dữ liệu qua khung Show Table. Ở đây ta chọn bảng HoaDon - Bước 2: gọi menu Query/Append Query và chỉ định tên bảng dữ liệu vào ô Table Name, rồi OK

10.3 Truy vấn Thêm (Append Query)

Page 100: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query100

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG

Bước 3: Trong lưới thiết kế cần chỉ định những trường cần sao chep sang, thông thường ta phải chỉ định tên trường làm khoá chính của bảng nhận dữ liệu. Nếu trường chỉ định trên lưới thiết kế tồn tại trên bảng nhận dữ liệu thì no tự đông đưa vào. Nếu trường đo không co trường tương ứng ta phải chỉ định vào.

Page 101: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query101

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG

-Bước 4: Khi ta thực hiện chạy (run) câu vấn tin này sẽ xuất hiện thông báo nhắc nhở

-Nếu ta chọn Yes thì sẽ chấp nhận thêm 4 dòng vào bảng PhieuThu. Tuy nhiên không phảI lúc nào cũng thành công. Nếu không thành công thì sẽ xuất hiện

Page 102: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query102

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG10.4. Make Table Query Ta co thể dung bảng vấn tin để tạo môt bảng dữ liệu, chẳng hạn như để lưu sô liệu đã co. Muôn vậy ta thao tác như sau: -Bước 1: Tư cửa sổ Database, chọn New/ Design View và chỉ định cung cấp dữ liệu. - Bước 2: gọi menu Query/ Make Table Query và chỉ định tên bảng dữ liệu vào ô Table Name, rồi OK

- Bước 3: chỉ định các trường vào dòng Field

Page 103: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query103

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNGVí dụ: Giả sử co 2 bảng HocVien(MaHV, HoTen, NgaySinh, Lop) và KetQua(MaHV,MaMH, Diem) Tạo bảng dữ liệu bảng tên “DiemTB” tư 2 bảng dữ liệu đã co Bước 1: Tạo bảng vấn tin co nôi dung như sau

Page 104: 03.Chuong3 Truy Van Du Lieu - Query

28/08/2013 - MaMH: 701006 - Chương 3. Truy vấn dữ liệu – Query104

10.TRUY VẤN VỚI CÁC HÀNH ĐỘNG- Bước 2: Gọi menu Query/ Make Table Query rồi gõ tên vào ô Table Name

-Bước 3: Thực hiện câu vấn tin này sẽ tạo môt bảng mới co tên DiemTB

Lưu ý: Trong Append Querythì bảng nhận dữ liệu là bảng đã co (nếu chưa co thì thông báo lỗi), còn trong Make – Table Query thì bảng nhận dữ liệu là chưa co (nếu co thì nhắc nhở ghi chồng lên hay không).

Page 105: 03.Chuong3 Truy Van Du Lieu - Query

TRƯỜNG ĐẠI HOC TÔN ĐƯC THẮNG

KHOA QUẢN TRỊ KINH DOANH