Tải bản đầy đủ (.pdf) (24 trang)

GIÁO TRÌNH LẬP TRÌNH QUẢN LÝ VỚI MICROSOFT OFFIC ACCESS - BÀI 4 QUERY – BẢNG TRUY VẤN ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (884.76 KB, 24 trang )

69

Baøi 4. 

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  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 và kim soá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. 
4.2.1. SELECT QUERY
 Table

 
 
4.2.2. ACTION QUERY
a) MAKE TABLE QUERY
TableTable
b) UPDATE QUERY
Table.
c) APPEND QUERY
TableTable
d) DELETE QUERY
Table


4.2.3. CROSSTAB QUERY
nh thg Table

70


4QueryTable T_DIEMSV
4.3. 
4.3.1. CÁC HÀM S HC
a) HÀM ROUND
 Cú pháp: ROUND(Expression [,numdecimalplaces])
 : Expression là biu thc s cn làm tròn. Numdecimalplaces 

 Công dng: Tr v con s c làm tròn có s s l nh bi
numdecimalplaces
 : 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)
 : number là mt con s.
 Công dng: Tr v phn nguyên ca con s nh bi number.
 Ví d: FIX(8.4) =INT(8.4) = 8; FIX(-8,4)=-9, INT(-8.4)=-8
 : 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)
  number là mt con s.
 Công dng: Tr v tr tuyi ca mt con s.
 Ví d: Abs(-1) = Abs(1) = 1
  : Nu tham s number là Null thì hàm tr v tr Null. Nu tham s

number là mt bii to thì tr v s 0.
d) HÀM SUM
 Cú pháp: Sum(expr)
 expr là biu thc chu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nh trên
Query.
 Ví d: Sum([SOLUONG]*[DONGIA])
e) HÀM AVG
 Cú pháp: Avg(expr)

71

 expr là biu thc chu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)
 expr là biu thc chunh ct cha d liu không rng mà ta
mu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)
 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nh bi chui hoc chiu dài ca giá tr
bin chui.

 Ví d: 
b) HÀM LEFT
 Cú pháp: Left(string, length)
 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: 
c) HÀM RIGHT
 Cú pháp: Right(string, length)
 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: 
d) HÀM MID
 Cú pháp: Mid(string, start[, length])
 String là chui mà ta cn ly các ký t tr v. Start là s nguyên
nh v trí ký t u tiên cn ly. Length con s 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: 
e) HÀM INSTR
 Cú pháp: InStr([start, ]string1, string2[, compare])
  Start là v trí bu tìm. String1 chui m. String 2 chui con.
 Công dng: tr v v trí tìm thu tiên ca chui con trong chui m.
Tham 
Constant
Value
Description
vbUseCompareOption
-1
Option Compare statement.
vbBinaryCompare

0
.
72

vbTextCompare
1
.
vbDatabaseCompare
2
. So sánh theo thông tin
trong Database.




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 string1

start > string2
0
 Ví d: 

f) HÀM LCASE
 Cú pháp: LCase(string)
 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 ng.
 Ví d: 
g) HÀM UCASE
 Cú pháp: UCase(string)
 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: trung tam tin hocTRUNG TAM TIN HOC
h) HÀM LTRIM, RTRIM, TRIM
 Cú pháp: LTrim(string), RTrim(string), Trim(string)
 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:
 Tin hoc 
R Tin hoc 
 Tin hoc 
i) HÀM SPACE
 Cú pháp: Space(number)
73

  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 : 

4.3.3. CÁC HÀM V NGÀY THÁNG 
a) HÀM DATE
 Cú pháp: Date()

 Công dng: Tr v n t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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ng h trong máy).
 Ví d : now() = 28/07/2008 11:15:47 AM
d) HÀM DAY
 Cú pháp: Day(date)
  date là biu thc có kiu ngày
 Công dng: Tr v mt con s t 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)
 date là biu thc có kiu ngày
 Công dng: tr v mt con s t n 12 cho bit tháng trong .
 Ví d: month(#22/06/2006#) = 6
f) HÀM YEAR
 Cú pháp: Year(date)
 date là biu thc có kiu ngày
 Công dng: tr v mt con s i di cho 
 Ví d: year(#22/06/2006#) = 2006
g) HÀM WEEKDAY
 Cú pháp: Weekday(date)
 Trong : date là biu thc có kiu ngày.
74


 Công dng: Tr v mt con s i din cho ngày ca tun.
 sau:
Constant
Value
Description
vbSunday
1
Sunday
vbMonday
2
Monday
vbTuesday
3
Tuesday
vbWednesday
4
Wednesday
vbThursday
5
Thursday
vbFriday
6
Friday
vbSaturday
7
Saturday
 Ví d: Weekday(#22/06/2006#) = 5
4.3.4. 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

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.



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:
 :
75


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
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Tr v
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Tr v
' 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
nh dng do ngi dùng nh ngha.
MyStr = Format(5459.4, "##,##0.00") ' Tr v
MyStr = Format(334.9, "###0.00") ' Tr v
MyStr = Format(5, "0.00%") ' Tr v "500.00%".
MyStr = Format("HELLO", "<") ' Tr v
MyStr = Format("This is it", ">") ' Tr v
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àm tr v 
và ngc li s tr v 
76


4.4. NG PHNG PHÁP DESIGN VIEW
4.4.1. 
a) 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.

 : 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

 : Màn hình thit k Query cùng vi hp thoi Show Table.
 
Query
 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
 Queryách chn ging nh
là cách chn trong lúc s dng phng pháp Advanced Filter/ Sort).
 
77

 Sort:

 Show: 
 Criteria  Or: 
Ví :   Query        
Table T_KHAC


 : Màn hình thit k Query theo ví d.
b) C KT QU HOC THC HIN QUERY

 XemClick chut vào nú

 : t View và nú
 Click chut vào nú
78


 : Query trên.
c) TO CT TÍNH TOÁN TRONG QUERY
- 
<>:<>

TableQuery
- 

TRIGIA:[SOLUONG]*[DONGIA]




-
THANG:MONTH([NGAY])
NAM:YEAR([NGAY])
- 
Table
Table
   Query     Table   
Table
      
TRIGIA:[SOLUONG]*[T_CTHOADO    

Table T_CTHOADON).
d) KHAI BÁO THUC TÍNH CA MT CT TRONG QUERY
Click 


Query
Medium Date.
79


 : 

: 
4.4.2. NG KÊ
 belect Query 
 Click chut vàê

80


:Nút Totals trên thanh Toolbar.
 
 Group By: Chn cho các ct cn kt nhó thng kê.
 Sum: T
 Avg: T
 Min: L
 Max: L
 Count: mu tin
 First: L
 Last: L

 Expression: B
 Where: Query.
:  Query  thng kê s lng nhp, xut ln nht và nh nht ca tng
khách hàng:

 : Query
81


 : Queryêu cu trên.
Chú ý:
- Khi chy Query, tên ct mà ta chn trong dòng Total là mt tên hàm thì tên ct
s c thành lp theo nguyên tc <tên hàm> Of <tên ct>. Nh ví d trên khi
chn hàm Max và hàm Min cho ct s lng khi chy Query ta có 2 ct là
MaxOfSoluong và MinOfSoluong.
- Mun tên ct theo ý mun khác vi nguyên lý trên thì trên dòng Field ta có th
nh ngha tên ct theo cú pháp: <tên ct>:<tên field>.
Ví d:

 :Ví d nh ngha tên ct.
82


 :Kt qu khi chy Query.
4.5. QUERY
4.5.1. 
 trong QueryQuery
Query.
4.5.2. 
a) KH NH NGHA THAM S

- Click chut vào nút Parameters trên Toolbar

 :Nút Parameters trên Toolbar.

 :
83

- 
a tham s vào).
b) 

 hoc tên tham s cng có th s dng  làm
biu thc khi thành lp ct mi trên dò
Ví d 1: Table T_Hoadon và T_CTHOADON  theo dõi các hóa n
c lp trong khong thi gian t mt tháng n mt tháng nào  c mà ngi
dùng nhp t bàn phím:
 Trong Parameters nh ngha 2 bin nh hình 4.15
 Trong li QBE thit lp nh sau:

 :Cách s dng tham s trong Query

7: p liu khi chy Query
84

4.6. 
4.6.1. CROSSTAB QUERY
Crosstab Query là hình thc thng kê d liu trong các Table theo nguyên tc ly giá
tr ca các mu tin trên mt ct nào  gom nhóm li  thành lp ra các ct mi 
thng kê s liu theo tng nhóm hàng ngang và ct dc.
: T Table T_Nhanvien to Query  thng kê s nhân viên nam, n theo tng

phò


18:  CrossTab Query  thng kê s nhân viên nam n theo phòng
ban

4.19.

- T màn hình thit k Query li QBE ta Click chut vào nút Crosstab trên
Toolbar.
-
4.20 : 
- Trên li QBE xut hin thêm hai dòng mi là Total và Crosstab
 Dòng Total có các giá tr nh ta  phân tích trên.
 Dòng Crosstab cha ba giá tr  chn la mang ý ngha nh sau:
 Row Heading: Chn cho ct mà ta mun giá tr ca ct  hin th
theo dòngên dò
ên dòng Crosstab ta chn Row Heading thì


 Column Heading: Chn cho ct nào mun ly giá tr ca các mu tin
trên ct  gom li thành tng nhóm mi giá tr ca nhóm to thành tiêu
 mt ct mi  thng kê s liu. y là 



85





 Value:
      

              


 :
 Mt Crosstab Query phi có ít nht mt ct trong dòng Crosstab ta chn giá tr
Row Heading, duy nht mt ct chn Colunm Heading và duy nht mt ct
c chn làm Value.
 Nu ct nào mà trên dòng Crosstab ta chn giá tr là Colunm Heading thì trên
dòng Total ca nó ta phi chn giá tr là Group by. Nu ct nào mà trên dòng
Crosstab ta chn già tr là Value thì trên dòng Total ca nó ta phi chn giá trí
khác Group by.
4.6.2. MAKE TABLE QUERY
Make Table Query là loi Query có chc nng to ra Table mi. Table mi này có
cu trúc và ni dung c chn lc t các Table khác.
a) VÍ
          


mu tin

b) 
- T li QBE ta chn và xây dng các ct ging nh Select Query.
- T màn hình thit k Query li QBE ta Click chut vào nút Make Table trên
Toolbar.
-
4.21 : Click

- Hp thoi t tên Table mi xut hin
86


4.22 : 
 Nhp t
 
 
Click

 

4.23 : 
  xem trc d liu ca Table mi khi c to lp ta Click chut vào nút
View.
 t vào nút Run.
87


4.24: 
:


25 : T


26 : 
88



27 : 
4.6.3. UPDATE QUERY
Update Query là loi Query có chc nng cp nht li giá tr ca các trng trong
Table theo mt công thc nào .
a) VÍ




b) 
 T màn hình Create bm vào Query Design.
 
 T màn hình thit k Query li QBE ta Click chut vào nút Update trên
Toolbar.
-
4.28 : Click 
 
89


29 : 
  mu tin

4.30 

4.31 : T_THEODOINHANVIEN  
4.6.4. APPEND QUERY
90

Append Query là loi Query có chc nng ly d liu t Table này  nhp ni

thêm làm d liu ca Table kia.
a) VÍ
         
mu tin

mu tin Nam)
b) 
 T màn hình Create bm vào Query Design.
 -HOSONV).
 T màn hình thit k Query li QBE ta Click chut vào nút Append trên
Toolbar.
-
 4.32 : 

4.33 : 
 
 
              

 mu tin

91


4.34 :
 

4.35 :
 


4.36 :
4.6.5. DELETE QUERY
Là loi Query có chc nng xóa các mu tin trong Table thõa mãn mt iu kin
nào .
a) VÍ
T

b) 
 T màn hình Create bm vào Query Design.
 n xóa d liu  to Query-HOSONV).
 T màn hình thit k Query li QBE ta Click chut vào nút Delete trên
Toolbar.
92

-
4.37 : 
 
 

 


4.38 : Q_XoaDaLapGiaDinh.
 Query

4.39 :







×