Mở bảng ở chếđộ Datasheet view. Sử dụng các nút cơng cụ Filter trên thanh trình
đơn để chọn chức năng lọc dữ liêu tương ứng..
Hình 3.23 :Các mục chức năng Filter trên thanh trình đơn.
a) LỌC DỮ LIỆU NHANH BẰNG CÁCH SỬ DỤNG NÚT FILTER
Ta cĩ thể thực hiện việc lọc đơn giản bằng cách chọn cột chứa giá trị cần lọc sau đĩ Click chuột vào nút Filter
và bỏ check các giá trị khơng muốn hiển thị.
Ví dụ: Lọc ra những nhân viên đã lập gia đình (cột DalapGD cĩ giá trị là Yes)
Hình 3.24: Hộp thoại để bỏ chọn các giá trị khơng muốn hiển thị
b) FILTER BY SELECTION (LỌC THEO CHỌN)
Chọn dữ liệu cần lọc (ví dụ chọn nội dung là “An”). Click chuột chọn mục Selection
Hình 3.25 :Các mục Filter khi lựa chọn tên “An” và Click chuột vào nút Selection
- Chọn Equals “An” nếu muốn lọc ra những nhân viên cĩ tên là “An”.
- Chọn Does Not Equal “An” nếu muốn lọc ra những nhân viên cĩ tên khác với tên “An”.
- Chọn Contains “An” nếu muốn lọc ra những nhân viên cĩ tên cĩ chứa chữ là “An”. Ví dụ như tên “Trang” cũng xem như thỏa mãn điều kiện lọc.
- Chọn Does Not Contain “An” nếu muốn lọc ra những nhân viên cĩ tên khơng chứa chữ “An”.
c) LỌC THEO MẪU (FILTER BY FORM)
Click chuột chọn Advanced Filter options / chọn mục Filter By Form
Hình 3.26 :Các mục Filter Click chuột vào nút Advanced Filter options Selection
Xuất hiện biểu mẫu chỉ cĩ hai dịng: 1 dịng chứa tên field, 1 dịng chứa
điều kiện lọc.
Đưa điều kiện lọc vào, sau đĩ chọn lệnh Filter / Apply Filter- Sort hoặc bấm vào nút Apply Filter
Hình 3.27 : Mở biểu mẫu đểđặt điều kiện.
Hình 3.28 :Đặt điều kiện lọc.
Hình3.29 :Kết quả sau khi lọc.
Nếu câu hỏi là lọc những nhân viên nữ hoặc lương căn bản nhỏ hơn hoặc bằng
310 ta làm như sau:
Hình 3.30 :Điều kiện lọc ở thẻ Look for.
Hình3.32 :Kết quả sau khi lọc.
Lưu ý:
Chỉ cho phép lọc dữ liệu với phép so sánh bằng (=) và phép tốn logic And, Or.
Muốn trở lại ban đầu, Click biểu tượng
d) LỌC THEO CÁCH KHÁC (ADVANCED FILTER)
Click chuột chọn Advanced Filter options / Advanced Filter – Sort
Hình 3.33 :Menu để lựa chọn Advanced Filter /Sort Xuất hiện cửa sổ Filter để đặt điều kiện lọc
Đưa các cột cần đặt điều kiện lọc xuống dịng Field bằng một trong ba cách sau:
• Cách 1: Double Click vào tên field (cách này đưa tên field vào cột trống sau cùng).
• Cách 2: Drag chuột đưa tên field xuống dịng field (cách này dùng đưa tên field vào giữa những field khác đã cĩ).
• Cách 3: Chọn tên Field trực tiếp trên dịng Field.
Đưa điều kiện lọc vào dịng Criteria. Nếu điều kiện thỏa mãn đồng thời cùng một lúc thì đặt trên cùng một dịng Criteria, ngược lại, nếu chỉ cần thỏa 1 trong các điều kiện thì các điều kiện đặt trên 2 dịng: Criteria và Or.
Chọn lệnh Filter / Apply Filter-Sort hoặc bấm vào nút Apply Filter để
tiến hành lọc.
Thí dụ: Lọc ra những nhân viên nữ và cĩ năm sinh lớn hơn hoặc bằng năm 1960.
Hình 3.34 : Đặt điều kiện lọc.
Nếu yêu cầu lọc ra những nhân viên nữhoặc cĩ năm sinh lớn hơn hoặc bằng năm 1960 thì ta đặt điều kiện như sau:
Hình 3.36 : Đặt điều kiện lọc trên 2 dịng Criteria và Or.
Hình 3.37 : Kết quả sau khi lọc.
Lưu ý:
Trước khi đưa điều kiện lọc vào trong hai hình thức lọc Filter by Form và Advanced Filter/Sort ta phải Click chuột vào nút Advanced Filter options
Chọn mục Clear all filters để xĩa điều kiện của lần lọc trước đĩ trên lưới đặt
điều kiện nếu cĩ.
Hình 3.38 : Menu để chọn xố điều kiện lọc trước đĩ.
Trong lệnh này ta cĩ thể sắp xếp dữ liệu theo các cột nào đĩ bằng cách đưa tên cột cần sắp xếp theo thứ thưưu tiên từ trái sang phải. Ứng với mỗi cột ở
dịng Sort ta cĩ thể chọn : Ascending (tăng dần), Descending (giảm dần) hoặc Not Sorted (khơng sắp xếp).
Thí dụ: Trong Table T_HOSONV sắp xếp nhân viên tăng dần theo TEN và giảm dần theo HOLOT.
Hình 3.40: Kết quả sau khi sắp xếp.
Nhận xét:
Với cách lọc này, Access đưa ra bảng lọc dữ liệu dạng như QBE (Query By Example) trong Query.
Chúng ta cĩ thể kết hợp các điều kiện phức tạp, các hàm tính tốn, và các phép tốn logic And, Or.
Cĩ thể sử dụng các phép tốn so sánh hay các ký tựđại diện : Phép tốn Ký hiệu Tên gọi So sánh > < >= <= = <> Between ... And lớn hơn nhỏ hơn lớn bằng nhỏ bằng bằng khác trong một đoạn
Is Null Is not Null Like giá trị Null khơng là Null tựa như Logic Not And Or phủđịnh và hoặc Tính tốn ^ * / \ Mod + - & lũy thừa nhân chia chia lấy nguyên chia lấy dư cộng trừ cộng chuỗi, số 3.3. IN ẤN TABLE Ví dụ:
In danh sách các nhân viên đã lập gia đình và cĩ ngày sinh từ 01/01/1960 đến 01/01/1970, ra màn hình hoặc giấy in.
Dùng Advanced Filter/Sort... bảng lọc dữ liệu như sau :
Hình 3.41 :Bảng lọc dữ liệu
Hình 3.42: Kết quả lọc dữ liệu
Để in danh sách này, vào Office Menu chọn mục Print Preview .
Hình 3.42: Office Menu để chọn Print Preview
Hình 3.43: Màn hình in bằng Print Preview.
Click biểu tượng Print để in ra giấy in. Click Close để đĩng cửa sổ Preview trở về
Bài 4. QUERY – BẢNG TRUY VẤN 4.1. CHỨC NĂNG VÀ CÁC CÁCH TẠO LẬP QUERY
Query là cơng cụđể tạo các mẫu vấn tin dữ liệu từ Table. Trong Access 2007 ta cĩ ba cách để tạo ra một Query.
• Query Wizard: cho ta một cách nhanh chĩng để tạo ra một Query đơn giản. Tuy nhiên với cách này cho ta rất ít lựa chọn và kiểm sốt.
• Query Design: Với cách này Access cung cấp cho ta một lưới QBE (Query by Example) để tạo lập Query một cách trực quan sinh động. • Chếđộ xem SQL: Với cách này cho ta cách tạo lập Query một cách mạnh
mẽ và chuyên nghiệp. Người dùng tạo ra Query bằng chính ngơn ngữ truy vấn dữ liệu SQL (Structured Query Language). Do đĩ cách này chỉ sử dụng cho những người lập trình chuyên nghiệp am hiểu về ngơn ngữ SQL.
4.2. CÁC LOẠI QUERY 4.2.1. SELECT QUERY
Chọn lựa hoặc rút trích số liệu trên một số cột của một hoặc nhiều Table thỏa một điều kiện nào đĩ.
Tạo các cột tính tốn.
Tĩm lược và kết nhĩm số liệu.
4.2.2. ACTION QUERY
a) MAKE TABLE QUERY
Tạo một Table mới từ những Table đã cĩ.
b) UPDATE QUERY
Dùng để cập nhật, sửa đổi số liệu trên Table.
c) APPEND QUERY
Thêm các mẩu tin từ một Table này vào cuối một Table khác.
d) DELETE QUERY
Xĩa các mẩu tin của Table thỏa một điều kiện nào đĩ.
4.2.3. CROSSTAB QUERY
Tạo các báo cáo cĩ tính thống kê, thể hiện các dịng dữ liệu lưu trữ trong Table thành các cột khi thể hiện ra ngồi.
Hình 4.1 : Tạo Crosstab Query lấy từ Table T_DIEMSV
4.3. CÁC HÀM THƯỜNG SỬ DỤNG 4.3.1. CÁC HÀM SỐ HỌC
a) HÀM ROUND
Cú pháp: ROUND(Expression [,numdecimalplaces])
Trong đĩ: Expression là biểu thức số cần làm trịn. Numdecimalplaces là số số lẻ sau khi làm trịn.
Cơng dụng: Trả về con sốđã được làm trịn cĩ số số lẻđược xác định bởi
numdecimalplaces
Ví dụ: round(123.4567) = 123, round(123.4567,1) = 123.5, round(123.4567,2) = 123.46
b) HÀM FIX và INT
Cú pháp: Int(number); Fix(number)
Trong đĩ: number là một con số.
Cơng dụng: Trả về phần nguyên của con số xác định bởi number.
Ví dụ: FIX(8.4) =INT(8.4) = 8; FIX(-8,4)=-9, INT(-8.4)=-8
Lưu ý: Đối với số âm FIX làm trịn xuống, INT làm trịn lên. Nếu Number là Null thì hàm trả về trị Null.
c) HÀM ABS
Cú pháp: Abs(number)
Trong đĩ: number là một con số.
Cơng dụng: Trả về trị tuyệt đối của một con số.
Ví dụ: Abs(-1) = Abs(1) = 1
Lưu ý: Nếu tham số number là Null thì hàm trả về trị Null. Nếu tham số number là một biến chưa khởi tạo thì trả về số 0.
d) HÀM SUM
Cú pháp: Sum(expr)
Trong đĩ: expr là biểu thức chuỗi xác định cột chứa dữ liệu số mà ta muốn cộng.
Cơng dụng: Trả về tổng của một tập hợp các giá trị trong cột xác định trên Query.
Ví dụ: Sum([SOLUONG]*[DONGIA])
e) HÀM AVG
Trong đĩ: expr là biểu thức chuỗi xác định cột chứa dữ liệu số mà ta muốn tính trung bình.
Cơng dụng: Trả về trung bình cộng của một tập hợp các giá trị trong cột xác định trên Query.
Ví dụ: Avg([SOLUONG]*[DONGIA])
f) HÀM COUNT
Cú pháp: Count(expr)
Trong đĩ: expr là biểu thức chuỗi xác định cột chứa dữ liệu khơng rỗng mà ta muốn đếm.
Cơng dụng:Đếm số Record trả về của một Query.
Ví dụ: Count([MANV]
4.3.2. CÁC HÀM VỀ CHUỖI
a) HÀM LEN
Cú pháp: Len(String | Varname)
Trong đĩ: String là một chuỗi ký tự. Varname là tên biến kiểu chuỗi.
Cơng dụng: Hàm trả về chiều dài xác định bởi chuỗi hoặc chiều dài của giá trị biến chuỗi.
Ví dụ: Len(“Tin hoc”)=7
b) HÀM LEFT
Cú pháp: Left(string, length)
Trong đĩ: String là chuỗi ký tự mà ta cần lấy những ký tự bên trái của nĩ.
Cơng dụng: Trả vềlength ký tự bên trái của chuỗi string.
Ví dụ: left(“Tin hoc”,3)=”Tin”
c) HÀM RIGHT
Cú pháp: Right(string, length)
Trong đĩ: String là chuỗi ký tự mà ta cần lấy những ký tự bên phải của nĩ.
Cơng dụng: trả vềlength ký tự bên phải của chuỗi string.
Ví dụ: right(“Tin hoc”,3)=”hoc”
d) HÀM MID
Cú pháp: Mid(string, start[, length])
Trong đĩ: String là chuỗi mà ta cần lấy các ký tự trả về. Start là số nguyên xác định vị trí ký tựđầu tiên cần lấy. Length con số xác định số ký tự của chuỗi cần lấy.
Cơng dụng: Trả về chuỗi con của chuỗi string.
Ví dụ: right(“Toi di hoc”,4,2)=”di”
e) HÀM INSTR
Cú pháp: InStr([start, ]string1, string2[, compare])
Trong đĩ:Start là vị trí bắt đầu tìm. String1 chuỗi mẹ. String 2 chuỗi con.
Cơng dụng: trả về vị trí tìm thấy đầu tiên của chuỗi con trong chuỗi mẹ. Tham số compare cĩ thể là:
Constant Value Description
vbTextCompare 1 So sánh theo kiểu văn bản (kiểu text).
vbDatabaseCompare 2 Chỉ cĩ ở Microsoft Access. So sánh theo thơng tin
trong Database.
Những giá trị trả về
Nếu InStr trả về
string1 is zero-length 0
string1 is Null Null
string2 is zero-length start string2 is Null Null
string2 is not found 0
string2 is found within string1Vị trí tìm thấy chuỗi 2 trong chuỗi 1
start > string2 0
Ví dụ: Instr(”toi di hoc”,”di”)=5
f) HÀM LCASE
Cú pháp: LCase(string)
Trong đĩ: String là chuỗi ký tự.
Cơng dụng: Chuyển các ký tự trong chuỗi thành chuỗi với các ký tự thường.
Ví dụ: Lcase(“TRUNG TAM TIN HOC”)=”trung tam tin hoc”
g) HÀM UCASE
Cú pháp: UCase(string)
Trong đĩ: String là chuỗi ký tự.
Cơng dụng: Chuyển các ký tự trong chuỗi thành chuỗi với các ký tự hoa.
Ví dụ: Ucase(“trung tam tin hoc”)=”TRUNG TAM TIN HOC”
h) HÀM LTRIM, RTRIM, TRIM
Cú pháp: LTrim(string), RTrim(string), Trim(string)
Trong đĩ: String là chuỗi ký tự.
Cơng dụng: Cắt bỏ các ký tự trắng ở đầu chuỗi (Ltrim), ở cuối chuỗi (Rtrim), và cảđầu và cuối (Trim).
Ví dụ:
LTrim(“ Tin hoc ”)=”Tin hoc ” RTrim(“ Tin hoc ”)=” Tin hoc” Trim(“ Tin hoc ”)=”Tin hoc”
i) HÀM SPACE
Trong đĩ: number là số ký tự trắng cần trả về.
Cơng dụng: trả về một chuỗi các ký tự trắng.
Ví dụ : “Tin” & space(1) & “Hoc”=”Tin Hoc”
4.3.3. CÁC HÀM VỀ NGÀY THÁNG NĂM
a) HÀM DATE
Cú pháp: Date()
Cơng dụng: Trả về ngày tháng năm hiện tại (theo đồng hồ trong máy).
Ví dụ : Date() = 28/07/2008
b) HÀM TIME
Cú pháp: Time()
Cơng dụng: Trả về giờ hiện tại (theo đồng hồ trong máy).
Ví dụ : Time() = 11:31:54 AM
c) HÀM NOW
Cú pháp: Now()
Cơng dụng: Trả về ngày và giờ hiện tại (theo đồng hồ trong máy).
Ví dụ : now() = 28/07/2008 11:15:47 AM
d) HÀM DAY
Cú pháp: Day(date)
Trong đĩ: date là biểu thức cĩ kiểu ngày
Cơng dụng: Trả về một con số từ 1 đến 31 cho biết ngày trong tháng.
Ví dụ:Day(#22/06/2006#) = 22
e) HÀM MONTH
Cú pháp: Month(date)
Trong đĩ: date là biểu thức cĩ kiểu ngày
Cơng dụng: trả về một con số từ 1 đến 12 cho biết tháng trong năm.
Ví dụ: month(#22/06/2006#) = 6
f) HÀM YEAR
Cú pháp: Year(date)
Trong đĩ: date là biểu thức cĩ kiểu ngày
Cơng dụng: trả về một con sốđại diện cho năm.
Ví dụ: year(#22/06/2006#) = 2006
g) HÀM WEEKDAY
Cú pháp: Weekday(date)
Cơng dụng: Trả về một con sốđại diện cho ngày của tuần. Hàm Weekday trả về một trong các giá trị sau:
Constant Value Description
vbSunday 1 Sunday vbMonday 2 Monday vbTuesday 3 Tuesday vbWednesday4 Wednesday vbThursday 5 Thursday vbFriday 6 Friday vbSaturday 7 Saturday Ví dụ: Weekday(#22/06/2006#) = 5 4.3.4. HÀM ĐỊNH DẠNG HÀM FORMAT Cú pháp: Format(expression[, Format])
Trong đĩ: expression là biểu thức cần định dạng. Format là
Format Sử dụng
Numbers Sử dụng ký hiệu định dạng sốcĩ sẵn hoặc tựđịnh nghĩa
Dates and times Sử dụng ký hiệu định dạng ngày giờ cĩ sẵn hoặc tựđịnh nghĩa Date and time serial
numbers Sử dụng ký hiệu định dạng ngày giờ hoặc số cĩ sẵn Strings Sử dụng định dạng chuỗi do tựmình định nghĩa. Ký hiệu Phạm vi D 1-30 Dd 1-30 Ww 1-51 Mmm Hiển thịtên tháng viết tắt bằng tiếng Anh Y 1-355 Yyyy 100-9666 Ví dụ: Giả sử ta cĩ các biến sau:
Dim MyTime, MyDate, MyStr MyTime = #17:04:23#
MyDate = #January 27, 1993#
' Trả về giờ hệ thống theo định dạng long time. MyStr = Format(Time, "Long Time")
' Trả về ngày hệ thống theo định dạng long date. MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s") ' Trả về "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Trả về "05:04:23 PM". MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Trả về "Wednesday, ' Jan 27 1993".
' Nếu khơng cĩ tham số Format thì hàm sẽ trả về một chuỗi. MyStr = Format(23) ' Trả về "23".
' Định dạng do người dùng định nghĩa.
MyStr = Format(5459.4, "##,##0.00") ' Trả về "5,459.40". MyStr = Format(334.9, "###0.00") ' Trả về "334.90". MyStr = Format(5, "0.00%") ' Trả về "500.00%". MyStr = Format("HELLO", "<") ' Trả về "hello".
MyStr = Format("This is it", ">") ' Trả về "THIS IS IT".
4.3.5. HÀM ĐIỀU KIỆN HÀM IIF
Cú pháp: IIf(expr, truepart, falsepart)
Trong đĩ: expr là biểu thức logic cĩ giá trị đúng hoặc sai. Truepart là giá trị mà hàm trả về khi expr là đúng. Falsepart là giá trị mà hàm trả về khi expr là sai.
Ví dụ: IIf([loaivt]=”N”,”Nhập”,”Xuất”) . Hàm trả về “Nhập” nếu loaivt=”N” và ngược lại sẽ trả về “Xuất”
4.4. TẠO QUERY BẰNG PHƯƠNG PHÁP DESIGN VIEW 4.4.1. TẠO SELECT QUERY 4.4.1. TẠO SELECT QUERY
a) CÁC BƯỚC TẠO
Từ màn hình giao diện chính Chọn phiếu Create-> Trong ngăn Other Click chuột vào mục Query Design.
Hình 4.1 : Màn hình của phiếu Create
Một cửa sổ thiết kế QBE xuất hiện cùng với hộp thoại Show Table
Hình 4.2 : Màn hình thiết kế Query cùng với hộp thoại Show Table.
Xuất hiện hộp thoại Show Table để ta chọn Table hoặc Query làm nguồn cho Query đang tạo.
Chọn các Table để lấy dữ liệu tạo Query, rồi nhấn Add (hoặc chỉ cần nhắp kép chuột vào tên Table cần chọn)
Click chuột vào nút Close đểđĩng cửa sổ Show Table
Chọn các cột cần cĩ trong Query đưa xuống dịng Field (cách chọn giống như là cách chọn trong lúc sử dụng phương pháp Advanced Filter/ Sort).
• Sort: chọn Ascending (tăng dần) hoặc Descending (giảm dần) để sắp xếp.
• Show:⌧ hiện hoặc ẩn cột.
• Criteria kết hợp với Or: dùng đặt điều kiện lọc dữ liệu.
Ví dụ: Tạo select Query bao gồm các cột SOHD, MAKH, TENKH, NGAY, LOAIVT, HTTT lấy từ 2 Table T_KHACHHANG và T_HOADON. Chỉ lọc những hĩa đơn của khách hàng cĩ mã là “PV” hoặc “BT”.
Hình 4.5 : Màn hình thiết kế Query theo ví dụ.
b) XEM TRƯỚC KẾT QUẢ HOẶC THỰC HIỆN QUERY
• Xem trước: Click chuột vào nút View trên thanh cơng cụ.
Hình 4.6 : Nút View và nút Run trên thanh cơng cụ.
Hình 4.7 : Kết quả chạy Query trên.
c) TẠO CỘT TÍNH TỐN TRONG QUERY
- Cú pháp:
<Tên cột tính tốn>:<Biểu thức>
Tên cột tính tốn là từ do ta tựđặt nhưng khơng được trùng với tên cột của Table hoặc Query nguồn.
- Thí dụ: