1. Các bước táo Query
− Mở Query Design View.
− Quan sát các Field caăn dùng, chĩn đúng các Table/Query caăn thiêt cho Query,
khođng được chĩn dư.
− Các Table tham gia vào query phại có quan heơ với nhau thì query mới tính đúng. Có theơ chĩn theđm Table trung gian đeơ các Table có quan heơ (nêu nguoăn dữ lieơu là Table và Query, có theơ táo quan heơ cho chúng).
− Chĩn Field cho Query: Trong các Table đã đưa vào Query, nêu dùng Field quan
heơ có từ hai Table, hãy lây từ Table beđn nhieău.
− Chĩn Field đeơ saĩp xêp, aơn Field nêu caăn.
− Khai báo đieău kieơn lĩc các maơu tin.
− Lưu và cháy thử Query.
Ví dú
− Táo 1 Query đaịt teđn là Q_SinhVien goăm các Field : MaSV, HoTen, Phai, NamSinh, MaKhoa, TenKhoa. Saĩp xêp taíng daăn theo TenSV, và chư hieơn các SV Nam.
B1. Mở cửa soơ táo Query mới
− Trong cửa soơ Database, bâm Queries, bâm đođi “Create query in Design view” hieơn cửa soơ
B2. Chĩn Table/Query cung câp dữõ lieơu cho Query
− Chư đưa vào Query các Table/Query chứa Field thaơt sự caăn dùng cho Query.
− Nêu các Table/Query được đưa vào Query khođng có môi quan heơ, có theơ đưa theđm Table trung gian vào đeơ các Table có quan heơ mới hieơn đúng dữõ lieơu .
− Ở ví dú này đưa Table SinhVien và DMKhoa vào Query. Trong hoơp thối Show Table:
• Bâm Table SinhVien.
• Nhân giữ phím Ctrl (đeơ chĩn khođng lieđn túc).
• Bâm Table DMKhoa.
• Bâm nút Add
(Nêu chĩn các Table xêp lieđn túc: chĩn Table caơn tređn, nhân giữ Shift, bâm chĩn Table caơn dưới.)
B3. Táo quan heơ giữa các Table khi caăn thiêt.
− Thođng thường, nêu đã táo quan heơ giữa các Table trong cửa soơ Relationships, khi đưa các Table vào làm nguoăn dữõ lieơu cho Query, môi quan heơ giữa các Table văn giữ nguyeđn.
− Có khi nguoăn dữõ lieơu cụa Query là các Table và Query chưa quan heơ, có theơ (ít sử dúng) táo quan heơ giữa các Table và Query tái khung tređn cửa soơ thiêt kê Query.
B4. Đưa các Field vào Query
− Bâm đođi vào teđn Field ở khung tređn đeơ đưa vào cuôi hàng Field.
− Hoaịc bâm kéo teđn Field từ khung tređn, bỏ vào hàng Field tái vị trí thích hợp.
− Nêu caăn đưa tât cạ Field cụa 1 Table vào Query: bâm đođi vào teđn Table ở khung tređn, mĩi Field cụa Table sẽ được chĩn, bâm vào 1 trong các Field đã chĩn kéo bỏ vào hàng Field.
− Trong ví dú, ta bâm từng Field MaSV, MaKhoa, TenKhoa kéo bỏ vào hàng Field.
Lưu ý
• Trong các Table cung câp dữ lieơu cho Query, nêu Field caăn dùng có trong cạ 2 Table, thođng thường ta dùng Field khóa ngối cụa Table beđn nhieău.
• Ở ví dú tređn, nêu caăn đưa Field MaKhoa vào Query, ta dùng Field MaKhoa từ Table SinhVien.
B5. Táo Field tính toán từ các Field đã có
− Trong ođ trông ở hàng Field, gõ teđn Field mới, dâu hai châm và bieơu thức.
Teđn Field : Bieơu thức
− Ở ví dú này, táo các Field tính toán: HoTen: HoSV & “ “ & TenSV
NamSinh: Year(NgaySinh) Gioi: iif(Phai = Yes, “Nam”,”Nữ”)
Lưu ý
− Teđn Field mới phại khác với các teđn Field đã có.
− Sau khi táo Field tính toán xong neđn bâm nút View đeơ xem thử kêt quạ.
− Nêu trong cođng thức có dùng các Field cùng teđn từ các Table khác nhau, đeơ phađn bieơt phại gõ là Teđn_Table.Teđn_Field
B6. Chĩn saĩp xêp Field, aơn Field
− Saĩp xêp: Trong hàng Sort cụa Field caăn saĩp xêp, chĩn:
• Ascending : Xêp taíng
• Descending : Xêp giạm.
− Aơn Field: trong hàng Show, bâm chuoơt xóa dâu kieơm ở Field caăn aơn.
• Ở ví dú này: Đưa Field TenSV vào Query, ở hàng Sort chĩn Ascending, ở hàng Show xóa dâu kieơm đeơ aơn Field.
B7. Khai báo tieđu chuaơn lĩc các maơu tin sẽ được hieơn trong Query
− Trong cửa soơ thiêt kê Query, tái hàng Criteria, nhaơp tieđu chuaơn lĩc.
• Đieău kieơn VAØ cụa các Field ta khai báo cùng hàng.
• Đieău kieơn HOAỊC cụa các Field ta khai báo khác hàng.
− Ở ví dú này, tái hàng Criteria cụa Field Gioi ta nhaơp đieău kieơn lĩc là “Nam”
2. Sửa Query
− Thay đoơi thứ tự Field: Bâm chuoơt vào ođ chĩn Field (ođ có màu xám, mỏng ở tređn
hàng Field), kéo đên vị trí thích hợp.
− Chưnh đoơ roơng Field: Rà chuoơt vào đường ngaín cách giữa các ođ chĩn tređn hàng
Field, khi chuoơt có dáng thì bâm và kéo..
− Xóa 1 Field: Bâm chuoơt vào ođ chĩn Field, gõ phím Delete.
− Phóng to ođ hieơn hành thành cửa soơ lớn: nhân phím Shift + F2 hoaịc bâm phại
chĩn Zoom.
− Theđm Table: Bâm phại vào neăn khung tređn, trong menu taĩt chĩn Show Table. IV. Các phép toán thường dùng
1. Phép toán sô hĩc
− Trình bày theo đoơ ưu tieđn giạm daăn trong bạng sau đađy.
Toán tử Phép toán Ví dú Kêt quạ Ư
U T IE ĐN G IA ÛM D A ĂN
() Caịp ngoaịc đơn (3+2)*4 20
* Nhađn 3*2 6
/ Chia 5/3 1.66
\ Chia lây sô nguyeđn 5\3 1
Mod Chia lây sô dư 5 mod 3 2
+ Coơng 3+5 8
- Trừ 3-5 -2
2. Phép toán nôi chuoêi
− Cú pháp
“Chuoêi 1” & “Chuoêi 2”
− Ví Dú
HoTen: HoSùV & ” “ & TenSV
3. Phép toán so sánh
− Cho kêt quạ là True hoaịc False. Goăm có:
Phép toán Ý nghĩa Ví dú
= Baỉng
<> Khác <> “Nam”
> Lớn hơn >0
< Nhỏ hơn <10
>= Lớn hơn hoaịc baỉng >=5000
<= Nhỏ hơn hoaịc baỉng <= #31/12/203#
− Áp dúng phép toán luaơn lý khi khai báo đieău kieơn ở hàng Criteria .
• AND : Đieău kieơn đaịt ở các coơt tređn cùng dòng.
• OR : Đieău kieơn đaịt ở nhieău dòng
− Ví dú 1: Trong Query lieơt keđ các sinh vieđn có tuoơi từ 19 đeẫn 21.
− Ví dú 3: Trong Query lieơt keđ các sinh vieđn khoa Tin hĩc hoaịc Anh vaín
− Ví dú 4: Trong Query lieơt keđ các sinh vieđn khoa Tin hĩc hoaịc Anh vaín
5. Phép toán Like
− Cú pháp
Like “Mău so sánh”
− Cho kêt quạ TRUE khi giá trị cụa Field giông mău dữõ lieơu sau Like.
− Moơt sô ký tự đái dieơn dùng trong mău dữõ lieơu cụa Like
Ký tự đái dieơn Ý nghĩa
? Thay cho 1 ký tự khođng chư rõ
* Thay cho nhieău ký tự khođng chư rõ
# Thay cho 1 sô khođng chư rõ
[ ] Moơt trong các ký tự trong [ ]
[Giá trị 1 – Giá trị 2] Trong khoạn từ giá trị 1 đên giá trị 2
! Phũ nhaơn 1 ký tự trong [ ]
− Ví Dú
Yeđu caău cụa Query Field Nhaơp đieău kieơn tái hàng Criteria
Hieơn danh sách các sinh vieđn có teđn baĩt
đaău với ký tự L TenSV Like “L*”
Hieơn danh sách các sinh vieđn có teđn baĩt
đaău với ký tự M hoaịc N TenSV Like “[M-N]*”
Hieơn danh sách các hóa đơn trong qủ
1/2002 NgayHD Like “*0[1-3]/2002”
6. Phép toán Between
− Cú pháp : Between Giá trị 1 and Giá trị 2.
− Cođng dúng : Phép toán Between cho giá trị True nêu giá trị đem so sánh ở trong khoạn giữa giá trị 1 và giá trị 2, ngược lái cho kêt quạ là False.
− Ví Dú
• Between #01/07/2002# and #01/08/2002#
• Between 5 and 7.
7. Phép toán In
− Cú pháp : IN(Giá trị 1,Giá trị 2,…,Giá trị N)
− Cođng dúng : Phép toán IN cho giá trị True nêu giá trị đem so sánh baỉng 1 trong các giá trị 1, giá trị 2, giá trị n. Ngược lái cho kêt quạ là False.
• Ví dú:
In(#01/07/2002#, “#05/07/2002#”, #01/08/2002#) In(“Win2000”, “Excel 2000”, “Access 2000”)
8. Phép toán Is Null
− Phép toán Is Null cho kêt quạ True khi giá trị Field roơng.
− Ví Du:ï Đeơ hieơn danh sách các khách hàng khođng có đieơn thối, hàng Criteria cụa Field DienThối khai báo là Is Null
9. Field tính toán
− Field được táo neđn bởi sự kêt hợp giữa các Field khác.
− Teđn Field mới khođng đaịt trùng với các teđn Field đã có.
− Cú pháp : Teđn Field mới:<Bieơu thức>
Ví dú
• HoTen:[HoNhanVien] & ” “ & [TenNhanVien]
• ThanhTien:[DonGia]*[SoLuong]
• KetQua:IIF(DiemTB>=5 and SoMonThi=4,”Đaơu”,”Hỏng”)
Lưu ý :
− Sau khi táo Field tính toán neđn bâm nút View đeơ xem thử kêt quạ. Nêu có sai thì biêt ngay đeơ sửa.
V. Moơt sô hàm dùng trong Field tính toán và trong Criteria
1. Nhóm hàm thời gian Hàm Date()
− Cú pháp : Date()
− Cođng dúng : Hàm trạ veă giá trị kieơu ngày, là ngày tháng naím hieơn hành theo đoăng hoă máy tính.
Hàm Now()
− Cú pháp : Now()
− Cođng dúng : Hàm trạ veă giá trị kieơu ngày, là ngày tháng naím và giờ phút giađy hieơn hành theo đoăng hoă máy tính.
Hàm Day
− Cú pháp : Day(ngày tháng naím)
− Cođng dúng : Hàm trạ veă 1 sô cho biêt ngày cụa <ngày tháng naím>.
− Ví Dú: NgayHienHanh:Day(Date())
Hàm Month
− Cú pháp : Month(ngày tháng naím)
− Cođng dúng : Hàm trạ veă 1 sô cho biêt tháng cụa <ngày tháng naím>.
− Ví dú : ThangHienHanh:Month(Date())
Hàm Year
− Cú pháp : Year(ngày tháng naím)
Hàm Weekday
− Cú pháp : Weekday(ngày tháng naím)
− Cođng dúng : Hàm trạ veă 1 sô cho biêt thứ cụa <ngày tháng naím> trong tuaăn, rieđng chụ nhaơt là sô 1.
Hàm DatePart
− Cú pháp : DatePart(Thành phaăn thời gian, bieơu thức ngày giờ)
Thành phaăn
thời gian Ý nghĩa
Thành phaăn
thời gian Ý nghĩa
d Ngày ww Tuaăn
m Tháng w Ngày trong tuaăn
y Ngày trong naím h Giờ
yyyy Naím n Phút
q Qủ s Giađy
VD: Trong CSDL QL_BanHang, muôn biêt các hóa đơn laơp vào qủ nào trong naím, ta táo Query
2. Nhóm hàm xử lý chuoêi Hàm Left
− Cú pháp : Left(Chuoêi ký tự, sô ký tự)
− Cođng dúng : Trích moơt Chuoêi con beđn trái “Chuoêi ký tự”, với đoơ dài là sô ký tự
Hàm Right
− Cú pháp : Right(Chuoêi ký tự, sô ký tự)
− Cođng dúng : Trích moơt Chuoêi con beđn phại “Chuoêi ký tự”, với đoơ dài là sô ký tự
− Ví Du:ï Right(“Abcdef”,2) → ef
Hàm Mid
− Cú pháp : Mid(Chuoêi ký tự, vị trí, sô ký tự)
− Vị trí : là 1 sô cho biêt Chuoêi con trích từ ký tự thứ mây trong Chuoêi ký tự .
− Cođng dúng : Trích ra Chuoêi con trong “Chuoêi ký tự”, tái vị trí, với đoơ dài là sô ký tự
− Ví Du:ï Mid(“Abcdef”,2,3) → bcd
Hàm Trim
− Cú pháp : Trim(Chuoêi ký tự )
− Cođng dúng : Caĩt bỏ các ký tự traĩng trước và sau Chuoêi ký tự.
− Ví dú : Trim(“ Abcdef ”) → “Abcdef”
Hàm Strconv
− Cú pháp : Strconv(Chuoêi ký tự, heơ sô biên đoơi)
− Cođng dúng : Hàm trạ veă Chuoêi ký tự theo kieơu chữ quy định bởi heđï sô biên đoơi :
− Heơ sô biên đoơi :
• Là 1 → hàm trạ veă Chuoêi ký tự theo kieơu chữ in hoa.
• Là 2 → hàm trạ veă Chuoêi ký tự theo kieơu chữ thường.
• Là 3 → hàm trạ veă Chuoêi ký tự theo kieơu chữ hoa đaău từ. Ví dú : Strconv(“bình DƯƠNG”,3) → Bình Dương
Hàm Len
− Cú pháp : Len(Chuoêi ký tự)
− Cođng dúng : Hàm trạ veă 1 sô là sô ký tự chứa trong Chuoêi ký tự.
− Ví Dú Len(“Abcd”) → 4
Hàm Nz
− Cú pháp : Nz(Bieơu thức, Giá trị thay thê)
− Cođng dúng : Hàm trạ veă giá trị thay thê nêu bieơu thức chứa trị Null.
− Ví Dú: Tính SLTon baỉng SLNhap – SLXuat, nêu SLNhap hoaịc SLXuat có trị là Null thì SLTon sẽ nhaơn trị Null. Đeơ SLTon hieơn đúng ta dùng hàm NZ .
Lưu ý: Nêu khođng dùng hàm NZ, sô lượng toăn cụa Cát sách và Đá 1x 2 sẽ hieơn Null.
3. Nhóm hàm luaơn lý Hàm IIF
− Cú pháp : IIF(đieău kieơn, trị khi đieău kieơn đúng, trị khi đieău kieơn sai)
− Cođng dúng : Nêu đieău kieơn có giá trị là True thì hàm nhaơn <trị khi đieău kieơn đúng>, ngược lái thì hàm nhaơn <trị khi đieău kieơn sai>.
Lưu ý: Trị khi đieău kieơn sai là tùy chĩn.
− Ví Dú
VI. Query tự đoơng dò tìm
− Ví dú 1: Khi táo Form nhaơp lieơu vào Table HoaDon, ta có nhu caău sau khi chĩn
xong MaKH thì Địa chư và Sô đieơn thối cụa Khách hàng sẽ được tự đoơng hieơn ra
trong Form.
Đeơ làm được đieău này, phại chuaơn bị dữõ lieơu nguoăn cho Form là mođït Query tự đoơng dò tìm.
Khi nhađïp mới dữ lieơu cho Query này, dữ lieơu được ghi vào Table HoaDon (beđn nhieău)
− Ví dú 2: Khi táo Form nhaơp lieơu vào Table ChiTietHD, ta có nhu caău sau khi chĩn
xong MaHH thì Đơn vị tính cụa Hàng hóa đó sẽ được tự đoơng hieơn ra trong Form. Đeơ làm được đieău này, phại chuaơn bị dữõ lieơu nguoăn cho Form là mođït Query tự đoơng dò tìm.
Khi nhađïp mới dữ lieơu cho Query này, sẽ được ghi vào Table CTHoaDon (beđn nhieău).
Lưu ý: Field MaKH trong Query phại lây từ Table beđn nhieău.
Sau khi chĩn xong MaKH thì Địa chư và Sô đieơn thối cụa Khách hàng sẽ được tự đoơng hieơn.
Sau khi chĩn xong MaHH thì Đơn vị tính cụa Hàng hóa đó sẽ được tự đoơng hieơn.
Lưu ý: Field MaHH trong Query phại lây từ Table beđn nhieău
VII. Thuoơc tính cụa Query
1. Hieơn bạng thuoơc tính cụa Query
− Trong cửa soơ thiêt kê Query, bâm phại vào neăn khung tređn, trong menu taĩt chĩn Properties.
− Bâm chuoơt vào thuoơc tính caăn thay đoơi, chĩn hoaịc nhaơp giá trị mới.
2. Thuoơc tính Top Value
− Hieơn thị các maơu tin có giá trị tređn cùng cụa Field saĩp xêp .
− Ví dú 1: Tìm sinh vieđn nhỏ tuoơi nhât goăm các Field MaSV, HoTen, Tuoi, DiaChi.
B1: Đưa vào Query các Field caăn thiêt.
B2: Hàng Sort cụa Field Tuoơi chĩn là Ascending (xêp taíng).
• Bâm phại vào neăn khung tređn, chĩn Properties, chĩn Top Value là 1 (chư hieơn 1 maơu tin tređn cùng)
− Ví Dú 2: Trong Query đeơ lieơt keđ các sinh vieđn có đieơm thi mođn Cơ sở dữõ lieơu cao
nhât goăm các Field MaSV, HoTen, MaMH, Diem:
Hàng Criteria cụa MaMH nhaơp Mã cụa mođn Cơ sở dữõ lieơu.
Hàng Sort cụa Field Diem chĩn Descending xêp giạm.
Top Value chĩn 1
3. Thuoơc tính Unique Value
− Chĩn là Yes : chư hieơn 1 laăn cho moêi giá trị.
− Ví Dú Trong CSDL QL_BanHang, hieơn thị danh sách các đơn vị tính cụa hàng hóa đang có khođng laịp lái giá trị.
B1: Táo Query có 1 Field DonViTinh. B2: Thuoơc tính Unique Value chĩn là Yes.
VIII. Query nhóm
− Múc đích: Khi có yeđu caău coơng, đêm, tính trung bình, giá trị cao nhât, giá trị thâp
nhât, giá trị đaău, cuôi cụa từng nhóm, ta dùng Query nhóm.
− Ví dú :
• Cho biêt Đieơm Trung bình cụa từng sinh vieđn
• Tình Toơng thành tieăn cụa từng Hóa đơn
• Cho biêt sô lượng nhađn vieđn cụa moêi Toơ
Các bước táo Query nhóm
B1: Táo Select Query .
B2: Bâm nút Total tređn thanh cođng cú Trong Query hieơn theđm hàng Total.
− Xác laơp các giá trị cho hàng Total : bâm beđn phại từng Field, chĩn giá trị thích hợp trong danh sách.
− Các phép tính tređn hàng Total có theơ chĩn
• Group By : Phađn nhóm theo từng giá trị trong 1 Field.
• Sum : Coơng các giá trị trong Field theo từng nhóm.
• Count : Đêm sô giá trị trong Field theo từng nhóm.
• Avg : Tính trung bình cụa các giá trị trong Field theo từng nhóm.
• Min : Tìm giá trị nhỏ nhât trong Field theo từng nhóm.
• Max : Tìm giá trị lớn nhât trong Field theo từng nhóm.
• First : Tìm giá trị cụa maơu tin đaău tieđn trong Field cụa từng nhóm.
• Last : Tìm giá trị cụa maơu tin cuôi cùng trong Field cụa từng nhóm.
• Where : Đieău kieơn lĩc trước khi nhóm (Field này sẽ khođng hieơn thị).
• Expresion : Khi Field tính toán có thành phaăn là moơt hoaịc nhieău Field mới dựa tređn nhóm.
− Lưu yù:
• Nguoăn dữ lieơu cụa Form dùng đeơ nhaơp dữ lieơu khođng theơ là Query nhóm vì Query nhóm khođng theơ nhaơp dữ lieơu mới.
• Sau khi đưa vài Field vào Query, hãy nhaĩp nút View xem thử kêt quạ.
Các trường hợp này ta dùng Query nhóm
− Ví Dú Táo Query cho biêt sô lượng sinh vieđn cụa từng khoa.
− Táo Query cho biêt Toơng thành tieăn cụa từng hóa đơn trong naím 2002 goăm
IX. Query tham sô (Parameter Query )
− Là Query nhaơn đieău kieơn lĩc từ bàn phím hoaịc từ Form.