1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng tin học nâng cao (microsoft access) chương 4 GV trần thanh san

76 196 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 2,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Select query là loại truy vấn dùng trích - lọc - kết xuất dữ liệu từ nhiều bảng khác nhau từ CSDL ra một bảng kết quả Ví dụ:  Đưa ra thông tin chi tiết sinh viên của một lớp  Đưa ra

Trang 3

 Có rất nhiều dạng yêu cầu xử lý dữ liệu như:

 Trích - lọc - hiển thị dữ liệu;

 Tổng hợp - thống kê;

 Thêm - bớt - cập nhật thay đổi dữ liệu

 Query sẽ giải quyết những yêu cầu đó của

người sử dụng

 có 7 loại Query:

Trang 13

 Select query là loại truy vấn dùng trích - lọc - kết xuất dữ liệu từ nhiều bảng khác nhau từ CSDL ra một bảng kết quả

 Ví dụ:

 Đưa ra thông tin chi tiết sinh viên của một lớp

 Đưa ra thông tin chi tiết về các hoá đơn bán ra trong ngày hôm nay;

 Đưa ra doanh thu bán hàng của một tháng nào đó;

Trang 14

 CSDL về cán bộ trong một đơn vị

Trang 15

Đưa ra những thông tin sau: canboID, hoten, ngaysinh, tencv, luongchinh, phucapcv, thuclinh.

Trong đó: luongchinh = hesoluong * 290000

Thuclinh = luongchinh + phucapcv

Phân tích yêu cầu:

Thông tin yêu cầu đòi hòi từ nhiều bảng khác nhau(bảng CANBO với các cột: canboID, hoten,ngaysinh; bảng CHUCVU với các cột tencv,phucapcv);

Có những cột thông tin đã có sẵn trên CSDL (5 cột

kể trên) nhưng một số cột yêu cầu phải được tính bởibiểu thức: cột luongchinh và cột thuclinh

Trang 16

Bước 1: Tạo một Select query sử dụng

Design View,

Trang 17

Bước 2: Chọn những bảng có chứa dữ liệu liên

quan lên màn hình thiết kế query từ cửa sổ

Show Table

Trang 18

Bước 3: Khai báo những thông tin cần thiết cho

query:

Dòng Field: là nơi khai báo danh sách các

thông tin (cột dữ liệu) của bảng kết quả.

Trang 19

Có 2 loại thông tin bài toán yêu cầu:

thông tin có sẵn từ các trường trên CSDL như

canboID, hoten, tencv, phucapcv

 thông tin phải được tính theo một biểu thức nào đó

như: luongchinh và thuclinh (thông tin suy dẫn).

Muốn hiển thị trường nào lên query,

nhấn đúp chuột lên tên trường

hoặc dùng chuột kéo tên chúng từ các bảng lên dòngField

Với 2 cột mới: tạo như sau

<tên cột> được tính bằng một <biểu thức> trên

dòng Field theo cú pháp như sau:

Trang 20

Đặt dấu : giữa tên mới và tên trường (<Tên trường>:<Tên thay thế>)

<Tên cột> : <biểu thức>

Dấu ngăn cách

Trang 21

Nếu trường tham gia biểu thức nằm ở bảng khác ta phải chỉ rõ tên bảng chứa trường đó như sau:

[<Tên bảng>].[<Tên trường>]

Cuối cùng, màn hình thiết kế query như sau:

Trang 22

 Có thể ghi query lại với một tên gọi khi ra lệnh lưu Alt + S

Bước 4: Sử dụng query vừa tạo.

 Kích đúp vào tên Querry vừa tạo

 Hoặc chuyển sang chế độ Datasheet View

Trang 23

Sửa lại cấu trúc thiết kế query khi chọn chúng và nhấn

nút Design.

Trang 24

Một số thiết lập khác cho Query

Dòng Sort: để thiết lập thứ tự sắp xếp dữ liệu trên Query.

Sort cho trường ấy Có 2 giá trị cho thuộc tính Sort:

Ascending - sắp xếp tăng dần và Descending - sắp xếp

giảm dần.

Trang 25

Dòng Show: để chỉ định hiển thị hay không

hiển thị dữ liệu trường đó ra bảng kết quả Nếu chọn (checked)- dữ liệu sẽ được hiển thị

ra bảng kết quả.

Trang 26

Query cung cấp một khả năng lọc dữ liệu khá hoàn chỉnh;

Có thể lọc ra những dữ liệu theo những điều kiện phứctạp

Đặc biệt có thể chấp nhận những giá trị lọc là các thambiến

Để lọc dữ liệu, bạn phải thiết lập điều kiện đặt lọc lênvùng Criteria của queries (trong chế độ đang thiết kế)

Các điều kiện nằm trên cùng một dòng Criteria sẽ đượcnối với nhau bởi toán tử AND (và); mỗi dòng Criteria sẽđược nối với nhau bởi toán tử OR (hoặc)

Trang 27

Ví dụ 1: Lọc ra những cán bộ là trưởng phòng có

thực lĩnh <=1,000,000

Trang 28

Ví dụ 2: Lọc ra những cán bộ là Trưởng phòng

mà không phải là Đảng viên hoặc những cán bộ

Nữ là Đảng viên:

Trang 29

Ví dụ 3: Lọc ra những cán bộ có tên là Nam.

Chú ý: Tên chỉ là một phần của trường Hoten:

Like ‘<giá trị tương đối>’

Trong <giá trị tương đối> có thể chứa hằng (Nam) và các ký tự đại diện.

Trang 30

 Có 2 ký tự đại diện là:

Ký tự * để biểu diễn bất kỳ giá trị nào;

Ký tự ? để biểu diễn một ký tự bất kỳ.

 Ký tự # thay thế cho 1 ký tự số

Like ‘*Đức*’ - lọc ra những người có Họ hoặc Đệm hoặc

Tên là Đức;

Like ‘*/*/1980’ - lọc ra những người sinh năm 1980;

Like ‘*/11/*’ - lọc ra những người sinh tháng 11;

Like ‘*/*/198?’ - lọc ra những người sinh từ năm 1980 đến

năm 1989;

Like ‘[A-H]*’ – lọc ra những người có tên bắt đầu từ A-H

Trang 31

Ví dụ 4: Lọc ra những cán bộ có 2,000,000>=

Thuclinh >=1,000,000

Cú pháp toán tử Between như sau:

Between <giá trị nhỏ> And <giá trị lớn>

Trang 32

Các phép toán và biểu thức dùng để lập tiêu chuẩn chọn các bản ghi

Trang 33

Các ví dụ trên đều đặt lọc theo các tham trị (lọc cứng).

Trong trường hợp sử dụng các tham biến vào điều kiệnlọc, thực hiện như sau:

[Gõ một lời nhắc trong ngoặc vuông] tại đúng vị trí

tham số cần thiết lập

Ví dụ: Lọc ra danh sách các cán bộ phòng ban nào

đó, làm như sau:

Trang 34

Khi thi hành query, một hộp thoại yêu cầu gõ vàotham số cần lọc

Trang 35

 Tạo truy vấn mới

 Đưa các bảng cần thiết vào truy vấn

 Chọn các trường cần thiết trên dòng Field

 Nhập các câu hỏi với dữ liệu ứng với trường cần hỏi trên dòng Criteria

Trang 38

Truy vấn có thể hiện thị theo các dạng sau :

 Design View (dạng thiết kế)

 SQL View (câu lệnh SQL tương ứng)

 Datasheet View (Bảng kết quả của truy vấn)

 Khi đang thiết kế truy vấn (truy vấn đang ở dạngQuery Design) ta có thể chuyển sang các dạng khácbằng cách:

 Chọn menu View Kết quả nhận được các mục củamenu View mà 3 mục đầu là tiêu đề 3 dạng nóitrên  Muốn xem truy vấn ở dạng nào ta chọn mụctương ứng với dạng đó

Trang 39

 Hàm trên chuỗi ký tự

 Left: Trích một số ký tự bên trái của chuỗi

 Left(<Tên field hoặc chuỗi ký tự>, <số ký tự cần trích>)

 Right(<Tên field hoặc chuỗi ký tự>, <số ký tự cần trích>)

 Mid: Trích một số ký tự tại vị trí bất kỳ trong chuỗi

 Mid(<Tên field hoặc chuỗi ký tự>, <Vị trí bắt đầu>, <số

ký tự cần trích>)

 Trim(<Tên field hoặc chuỗi ký tự)

Trang 40

Ví dụ:

Liệt kê danh sách các sinh viên có tên bắt đầu bằngchữ “T”, thông tin gồm: Mã sinh viên, Họ tên sinhviên, Tên khoa

Trang 41

Hàm xử lý trên kiểu ngày tháng

Date()

 Year: Trả về giá trị năm của biểu thức ngày

Year(<Tên field hoặc biểu thức ngày>)

 Month: Trả về giá trị tháng của biểu thức ngày

Month(<Tên field hoặc biểu thức ngày>)

 Day: Trả về giá trị ngày của biểu thức ngày

Day(<Tên field hoặc biểu thức ngày)

Trang 42

Ví dụ:

Liệt kê danh sách các sinh viên có ngày sinh trong tháng 4, thông tin gồm: Mã sinh viên, Họ tên sinh viên, Tên khoa

Trang 43

Tổng hợp – là phép xử lý dữ liệu khá phổ biến TrongAccess, query là một trong những công cụ xử lý khá tốt

việc này Total query là một điển hình Hãy xét một số

yêu cầu tổng hợp dữ liệu như sau:

Trang 44

Bước 1: Tạo một select query với đầy đủ các thông

tin liên quan bảng tổng hợp:

Trang 45

Bước 2: Tuỳ chọn Total query bằng cách mở thực

đơn View | Total hoặc nhấn nút Total trên

thanh công cụ;

Bước 3: Thiết lập các tuỳ chọn Total cho các trường

một cách phù hợp như sau:

 Vì bài toán yêu cầu tổng hợp thông tin theo từng

loại chức vụ, nên Total của trường Tenchucvu là

Group By;

Trường canboID dùng để đếm số cán bộ từng chức

vụ, nên chọn phép tổng hợp là Count.

Trang 47

 Total query cung cấp một số phép tổng hợp khác như:

 Sum: Tính tổng cộng

 Avg: Tính giá trị trung bình

 Min: Tìm giá trị nhỏ nhất

 Max: Tìm giá trị lớn nhất

 Count: Đếm tổng số mẩu tin

 Group By: Gom nhóm dữ liệu

 Chọn Group By : Phân nhóm và sắp xếp các mẫu tin trong từng nhóm theo các trường phân nhóm.

 Nhóm là dãy các bản ghi có giá trị như nhau trên các trường phân nhóm

 Chú ý: Luôn luôn sắp xếp theo chiều tăng, nếu thay đổi thì chọn phần Sort và sắp xếp lại

Trang 48

Ví dụ 1:

Cho biết học bổng nhỏ nhất của từng khoa gồm:

Mã khoa, Học bổng nhỏ nhất

Trang 49

Ví dụ 2:

Cho biết tổng số sinh viên của từng khoa gồm: Mãkhoa, Tên khoa, Tổng số sinh viên

Trang 50

Ví dụ 3: Kết hợp Sum và IIF

Thống kê tổng số sinh viên nam và tổng số sinh viên

nữ theo từng khoa

Trang 51

Chọn hàm cần tính tương ứng với mỗi trường cầntính Thực hiện phép tính theo từng nhóm trên cáctrường tính toán (có hàm Sum, Avg, ) trên ô Total.

Bài tập:

Trang 52

Trên thực tế còn rất nhiều các yêu cầu tổng hợp khác

mà Total query không thể đáp ứng được Nhiều trong

số đó như là:

Trang 53

Cấu trúc một Crosstab, được minh hoạ bởi hình sau:

Trang 54

Row heading là tiêu đề các dòng, có chứa các giá trị của các

trường nào đó làm tiêu chí thống kê.

Mỗi Crosstab phải có tối thiểu 1 trường làm Row heading;

Column heading là tiêu đề các cột, có chứa các giá trị của

một trường nào đó làm tiêu chí thống kê.

Mỗi Crosstab chỉ có duy nhất 01 trường làm Column

heading;

Value là vùng dữ liệu tổng hợp (là các con số).

Chỉ có duy nhất một trường làm Value,

 Tương ứng với nó là một phép tổng hợp hoặc: đếm, tính tổng, tính trung bình cộng, max, min,

Trang 55

Các bước để tạo một Crosstab query.

 Ví dụ tạo query đưa ra được bảng tổng hợp sau:

Bước 1: Tạo một select query với đầy đủ các trường có

liên quan đến phép tổng hợp (không thừa và cũng không thể thiếu một trường nào) như sau:

Trang 57

Bước 2: Ra lệnh chọn kiểu Crostab query bằng

cách mở thực đơn Queries |Crosstab Query;

Bước 3: Thiết lập các thuộc tính Total cũng như Crosstab cho các trường phù hợp như sau:

Trang 58

 Cụ thể:

Trang 59

Dữ liệu trong các bảng luôn thay đổi

Để lưu lại bảng kết quả của một query tại một thời

điểm nào đó, Access đưa ra giải pháp lưu dữ liệu kết quả query ra một bảng (Table) để lưu trữ lâu dài bởi một MAKE TABLE query.

Các bước tạo Make table query

Bước 1: Tạo một Select query hoặc một Total

query đưa ra được bảng kết quả cần lưu trữ;

Bước 2: Ra lệnh tạo Make table query từ query

đang thiết kế và thi hành để thu được bảng kết quả như mong muốn

Trang 60

Giả sử đã tạo được một Select query đưa ra được bảng kết quả như sau:

Trang 61

 Cách làm như sau:

Queries | Make Table query, hộp thoại Make table xuất hiện:

Nếu tên bảng nhập vào là mới, Access sẽ tự động tạo một bảng mới và sao chép toàn bộ dữ liệu mà query kết xuất được ra bảng này;

hành Access sẽ xoá bảng cũ và điền vào dữ liệu mới (cần

cân nhắc khi đặt tên bảng trùng tên bảng đã tồn tại).

Trang 62

Bước 3: thi hành query để nhận kết quả bằng cách:

công cụ;

hành một query có thể làm thay đổi đến dữ liệu trên CSDL:

đã chỉ định cho query này lưu dữ liệu, Access sẽ hỏi bạn:

Đã tồn tại bảng xxx trên CSDL rồi, nó sẽ bị xoá sạch khi query này thi hành, bạn có muốn tiếp tục không?

Trang 63

Nhấn Yes để tiếp tục (tất nhiên bảng dữ liệu đó sẽ bị xoá và thay vào nội dung mới); nhấn No để huỷ bỏ.

đồng ý dán xxx bản ghi vào bảng đã chỉ định hay không?

Nhấn Yes để đồng ý, No để huỷ bỏ.

quả.

Trang 64

Thêm một hay nhiều mẫu tin mới vào bảng dữ liệu từmột bảng khác

Mẫu tin mới thêm vào phải thỏa các yêu cầu kiểm tranhập liệu

Trang 65

Bước 1: Trong cửa sổ Database, chọn thẻ Queries vànhấn chọn New

Bước 2: Trong cửa sổ Show Table, chọn bảng chứa dữliệu nguồn

Bước 3: Trong cửa sổ thiết kế Query, chọn thực đơnQuery  Append Query và chọn bảng cần thêm dữliệu

Trang 66

Bước 4:

Kéo các trường bổ sung lên dòng field

Đặt điều kiện chọn các mẫu tin cần thêm ở dòng Criteria

Trang 68

Delete Query là một loại Action Query (query hành

động) Nó có thể gây thay đổi dữ liệu trong CSDL.Trong trường hợp này, Delete query dùng để xoá cácbản ghi từ CSDL thoả mãn những điều kiện nào đó

VD: Tạo một Detele query xoá đi những cán bộ đếntuổi nghỉ hưu ra khỏi CSDL Quản lý lương cán bộ

(Khi query này thi hành, danh sách các cán bộ đến tuổi

hưu sẽ bị xoá khỏi bảng canbo)

Cách tạo query này như sau:

Trang 69

Bước 1: Tạo một Select query như sau:

Trang 70

Bước 2: đổi query hiện hành thành Delete query bằng

cách mở thực đơn Queries | Delete Query

Trang 71

Để thi hành việc xoá cán bộ, nhấn nút Run trênthanh công cụ Khi đó một hộp thoại cảnh báo xuấthiện:

Nhấn Yes để đồng ý xoá đi các bản ghi (bản ghi đã xoá không thể phục hồi lại được); nhấn No để huỷ bỏ

lệnh

Trang 72

Update query dùng cập nhật dữ liệu một số trường nào

đó trong CSDL Giống với Delete query, Update query

là loại query hành động, làm thay đổi nội dung dữ liệutrên CSDL

Ví dụ: Sử dụng Update query để tính giá trị cho cột

luongchinh (lương chính) là một trường mới được thêm vào bảng canbo.

Bước 1: Tạo một Select query và có chứa bảng canbo

và chuyển thành Update query bằng cách mở thực đơn

Queries | Update query; hộp thoại thiết kế query như

sau:

Trang 74

Bước 2: Thiết lập các trường cần cập nhật dữ liệu

bằng cách:

Chọn tên trường cần cập nhầt dữ liệu ở dòng Field;

Gõ vào biểu thức tính giá trị cho trường đó ở dòng

Update To;

Gõ vào điều kiện để tính toán nếu cần ở dòng

Criteria.

Với yêu cầu trên, luongchinh = hesoluong *

290000 cửa sổ thiết kế query sẽ như sau:

Để thi hành việc cập nhật lương cán bộ, nhấn nút Run

trên thanh công cụ Khi đó một hộp thoại cảnh báoxuất hiện, Nhấn Yes

Ngày đăng: 04/12/2015, 03:28

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm