You are on page 1of 59

TR

NG

I H C TH Y S N

TRUNG TM NC & PT CNPM

MN H C: ACCESS NNG CAO

Ph m Th Kim Ngoan

N I DUNG
T o m t ng d ng trong MS Access

PH N 1: Ch Ch ng 1: Macro ng 2: SQL (Structured Query Language) VBA

PH N 2: Ngn ng Ch Ch Ch Ch Ch

ng 1: T ng quan v VBA ng 2: Cc khai bo ng 3: C u trc l nh ng 4: Th t c c a ng ng 5: it i dng it ng


2

ng v bi n
Ph m Th Kim Ngoan

T OM T

NG D NG

I. Th no l m t ng d ng II. T t o m t ng d ng

Ph m Th Kim Ngoan

I. Th no l m t ng d ng:
M t it ng d ng MS Access c c u thnh t ng CSDL c a MS Access. nh ng

Ph n c t li c a ng d ng l nh ng i t ng, nh ng thu c tnh, nh ng s ki n x y ra trn cc Form. M t ng d ng g m:

Ph m Th Kim Ngoan

I. Th no l m t ng d ng:
M t ng d ng g m: Cc i t ng m ng i dng s xem v lm vi c tr c ti p (Form, Report) Cc i t ng h tr i u khi n cc Form, Report lm vi c (Table, Query, Macro, Module) Cc Form t Thm cch p ng p ng cc tnh hu ng. n1s ki n ng theo mu n

Dng VB lin k t v i cc thnh ph n bn ngoi.

Ph m Th Kim Ngoan

II. T t o m t ng d ng:
Phn tch & thi t k h th ng xc nh cc b ng, cc tr ng d li u v m i quan h gi a chng. T o cc b ng v nh p d li u vo cho cc b ng. T o cc Form trong ng d ng Thm cc K tn i it c tr ng c n thi t cho Form lm vi c. ng v i cc nt l nh, Menu & Toobar t cc xc l p cu i cng cho Thm cc Report Thi t k Startup v ng d ng.

Ph m Th Kim Ngoan

Ch
I.

ng 1: MACRO

Khi ni m v phn lo i

II. T o m i v thi hnh 1 macro III. M t s thao tc IV. Macro nhm v macro c i u ki n V. ng d ng macro

Ph m Th Kim Ngoan

I. Khi ni m v phn lo i
I.1. Khi ni m: M t macro l 1 t p cc action (thao tc) c qui nh s n nh m t ng th c hi n m t chu i cc tc v no . I.2. Phn lo i: Macro n: m i macro sheet ch ch a 1 macro. Macro nhm: m t macro sheet c th ch a nhi u macro. Macro c i u ki n: c th ch nh bi u th c i u ki n quy t nh khi no thao tc s c th c hi n khi thi hnh macro.
Ph m Th Kim Ngoan 8

II.1. T o m i m t macro:
B1: Trong c a s CSDL, ch n Macro p New B2: C t action: ch n tn thao tc t danh sch B3: C t comment: ch thch (khng b t bu c) B4: Action arguments: ch t ng ng. nh cc i s c a thao tc

B5: Thm thao tc khc: di chuy n xu ng dng ti p theo, l p l i B2p B4 B6: L u

Ph m Th Kim Ngoan

II.2. Thi hnh 1 macro:


Cch 1: Trong c a s thi t k macro: Menu Macro p Run / ho c ch n bi u t ng  trn toolbar. Cch 2: Trong c a s CSDL: Ch n tn macro c n th c hi n p Run.

Ph m Th Kim Ngoan

10

III. M t s thao tc:


1. Open Table: m b ng d li u Table Name: ch n tn b ng c n m View: ch n d ng th hi n Data mode: ch Add: nh p d li u Edit: so n th o d li u Read Only: ch xem 2. Open Query: m truy v n d li u

Ph m Th Kim Ngoan

11

III. M t s thao tc:


3. Open Form: m bi u m u Form name: ch n tn bi u m u View: d ng th hi n Filter Name: tn truy v n (Query) dng trch l c d li u. Where Condition: bi u th c i u ki n trch l c d li u Data mode: Window mode: ch c as

Ph m Th Kim Ngoan

12

III. M t s thao tc:


Window mode: ch Normal: thng th ng c n i ng Hidden: c a s form c as

Icon: thu nh thnh 1 bi u t Dialog: d ng h p h i tho i 4. Open Report: m bo co

Ph m Th Kim Ngoan

13

III. M t s thao tc:


5. Run macro: thi hnh macro Macro Name: tn macro c n th c hi n Repeat Count: s l n l p Repeat Expression: bi u th c i u ki n d ng khi bi u th c c gi tr False. 6. Open Module: m th t c Procedure Name: tn th t c s m l p,

Module Name: tn module ch a th t c c n m

Ph m Th Kim Ngoan

14

III. M t s thao tc:


7. Goto Record: di chuy n t i b n ghi Object Type: lo i Object Name: tn Record: First: t i b n ghi u tin c Previous: t i b n ghi tr Next: t i b n ghi sau Last: t i b n ghi cu i cng Go to: t i b n ghi c ch nh it it ng ng

Ph m Th Kim Ngoan

15

III. M t s thao tc:


8. Close: ng c a s Object Type: lo i Object Name: tn Save: Prompt: hi n th h p tho i xc nh n l u n u t ng c s a i Yes: l u No: khng l u i it it ng ng

Ph m Th Kim Ngoan

16

III. M t s thao tc:


9. Quit: thot kh i Access Option: Prompt: hi n th h p tho i xc nh n l u n u c s a i Save all: l u Exit: khng l u

Ph m Th Kim Ngoan

17

III. M t s thao tc:


10. Maximize: c c c a s hi n hnh cc .

11. Minimize: c c ti u c a s hi n hnh 12. Restore: ph c h i c a s v kch th 13. Movesize: di chuy n c a s Right / Down / Width / Height 14. Beep: pht ti ng ku beep 15. Hourglass: i con tr thnh macro ang ch y - Hourglass On: Yes / No ng h ct khi

Ph m Th Kim Ngoan

18

III. M t s thao tc:


16. Show Toolbar: hi n th thanh cng c Toolbar Name: tn thanh cng c Show: Yes / No

Ph m Th Kim Ngoan

19

Bi t p
T o Macro m b ng H c sinh, s d ng thm cc thao tc Maximize, Restore, Minimize. T o truy v n a ra danh sch h c sinh thu c kh i 10, sau t o Macro m truy v n ny. T o Macro sinh nam. m Form H c sinh, v i i u ki n ch hi n th h c

T o Macro m Form H c sinh, v i i u ki n hi n th h c sinh lm l p tr ng c a kh i 10. T o Macro m Report Mn h c, v i i u ki n hi n th nh ng mn h c c h s 2. T o Macro m Report L p h c, v i i u ki n ch danh sch l p thu c kh i 12.
Ph m Th Kim Ngoan

a ra
20

IV.1. Macro nhm


Hi n th c t tn cc macro: Menu View p Macro Name C t Macro Name: t tn cho m i macro Thi hnh macro trong macro group: Tn macro group . tn macro c n th c hi n

Ph m Th Kim Ngoan

21

IV.2. Macro c i u ki n
Hi n th c t i u ki n: Menu View p Conditions C t Conditions: tc. t i u ki n thi hnh cho t ng thao

N u i u ki n c a thao tc d i gi ng nh i u ki n c a thao tc trn, ta i n d u () trong c t Conditions

Ph m Th Kim Ngoan

22

V.1. G n Macro vo 1 i t hay Report


Thng th ng macro it Ch n Properties c a

ng c a Form

c g n vo nt l nh ng p Event i

On Click: tn macro s thi hnh khi Click vo t ng ny On Dbl Click: On Enter:

Ph m Th Kim Ngoan

23

Bi t p
T o Macro nhm g n vo cc nt l nh c a Form sau

Ph m Th Kim Ngoan

24

Bi t p
T o Macro nhm c i u ki n g n vo cc nt l nh c a Form sau:

Ph m Th Kim Ngoan

25

Bi t p
T o Macro nhm c i u ki n g n vo cc nt l nh c a Form sau:

Ph m Th Kim Ngoan

26

V.2. Macro t
T o macro nh thng th ng

ng

L u macro v i tn b t bu c l AutoExec

Ph m Th Kim Ngoan

27

TOOLBAR & MENU


I. Toolbar G m 2 lo i: Toolbar c s n v Toolbar t t o. Toolbar c s n c tc d ng trong m i CSDL. Toolbar t t o ch xu t hi n trong CSDL m n ra. M t s thao tc c n b n: Hi n th / t t Toolbar: Menu View p Toolbars p Customize p Ch n ng n Toolbars, Click vo cc checkbox hi n th / t t. Di chuy n Toolbar: Click vo v tr tr ng trn Toolbar v drag n v tr m i.
Ph m Th Kim Ngoan 28

ct o

1. T o Toolbar c a ng
M CSDL c n t o Toolbar

i dng

Menu View p Toolbars p Customize p Ch n ng n Toolbars p Ch n New: nh p tn cho Toolbar. Ch n ng n command Drag bi u t ng c n vo Toolbar, mu n xa Drag bi u t ng ra kh i Toolbar.

Ph m Th Kim Ngoan

29

2. Thay

i cc

c tr ng c a bi u t

ng

ang trong tr ng thi thi t k , Click chu t ph i t i bi u t ng p Properties M t s thu c tnh:

Edit Button / Change Button Image Default Style Text Only (Always) / Text Only (In menu) Image anh text Begin a Group

Ph m Th Kim Ngoan

30

3. G n Toolbar vo Form / Report


Cch 1: - T o Macro cho php hi n th / n Toolbar - M Form /Report c n g n d ng thi t k - M Properties c a Form / Report p ch n ng n Event On Activate / On Open / On Load: macro hi n th Toolbar . On Deactive / On Close / On Unload: macro n Toolbar Cch 2: - M Properties c a Form / Report p ch n ng n Other Toolbar: Tn Toolbar c n g n

Ph m Th Kim Ngoan

31

II. Menu
1. T o Menu c a ng i dng:

M CSDL c n t o Menu Menu View p Toolbars p Customize p Ch n ng n Toolbars p Ch n New: nh p tn cho Toolbar. Ch n Properties p Ch n Type: Menubar Ch n ng n commands C t Categories: Ch n New Menu C t Command: New Menu Drag New Menu trong c t Command vo Menubar. Click chu t ph i thay i cc c tr ng c n thi t.
32

Ph m Th Kim Ngoan

2. G n Menu vo form / Report


M Properties c a Form / Report p ch n ng n Other Menubar: Ch n tn Menubar c n hi n th 3. t cc ty ch n kh i ng cho 1 ng d ng: Menu Tools p Startup p xu t hi n h p tho i Application Title: Tiu Application Icon: Bi u t c a ng d ng ng i km tiu

MenuBar: Thanh Menu s hi n th khi m CSDL Display Form: Tn Form c n m ngay sau khi m CSDL. Display Database Window: c / khng hi n th c a s CSDL Ch c n ng startup Macro Autoexec. c th c hi n tr c cc thao tac trong
33

Ph m Th Kim Ngoan

Bi t p
T o Toolbar nh sau:

T o Menu nh sau:

Ph m Th Kim Ngoan

34

NGN NG

SQL (Structure Query Language)

I. Gi i thi u: II. Cc thao tc trn b ng: III. T o cc truy v n

Ph m Th Kim Ngoan

35

I. Gi i thi u
SQL xu t hi n vo 1970s SQL l ngn ng dng SQL c cc truy v n truy v n con, M mn hnh truy v n, c p nh t thng tin. c th: truy v n nh ngh a d li u,

vi t cu l nh SQL:

Trong mn hnh CSDL p Ch n ng n Queries p New p Design View ng c a s Show Table Th c hi n cu l nh SQL: t ng t nh Query
36

Menu Query p SQL Specific p Data Definition / Union

Ph m Th Kim Ngoan

II. Cc thao tc trn b ng


1. T o b ng m i: CREATE TABLE <Tn b ng> (<tr th c),][<tr ng dl2>,] ng dl1><ki u>[(kch ng

CONSTRAINT <Tn kha chnh> PRIMARY KEY (tr dl) , CONSTRAINT <Tn ch m c> UNIQUE (tr ng dl))

Ph m Th Kim Ngoan

37

Cc ki u d li u
TN KHAI BO SQL Byte Short Long Single Double DateTime YesNo Currency, Counter, Memo OLEObject Text(size) KI U T NG Byte Integer Long Integer Single Double Date/Time Yes/No Currency, Counter, Memo OLEObject Text NG

Ph m Th Kim Ngoan

38

V d
T o m t b ng c tn NHANVIEN v i 3 tr MaNV, HoNV, TenNV ng ki u text:

CREATE TABLE NHANVIEN (MaNV Text (3), HoNV Text(25), TenNV Text(7), CONSTRAINT [Khoa] PRIMARY KEY (MaNV), CONSTRAINT Chimuc UNIQUE (MaNV));

Ph m Th Kim Ngoan

39

II. Cc thao tc trn b ng


2. Thay i c u trc b ng: ng dl><ki u>[(kch ng dl>] ng dl)] kha th c)]]

ALTER TABLE <Tn b ng> [ADD COLUMN <tn tr [DROP COLUMN <tn tr

[ADD CONSTRAINT <tn ch m c> UNIQUE (tr [DROP CONSTRAINT <tn ch m c>/ <tn chnh>]

Ph m Th Kim Ngoan

40

V d
V d 1 : Thm vo tr NHANVIEN ng Gioitinh c ki u Yes/No cho b ng

ALTER TABLE NHANVIEN ADD COLUMN Gioitinh YesNo; V d 2 : Thm ch m c cho tr ng TenNV trong b ng NHANVIEN ALTER TABLE NHANVIEN ADD CONSTRAINT Ten UNIQUE (TenNV);

Ph m Th Kim Ngoan

41

II. Cc thao tc trn b ng


3. Xa ch m c: DROP INDEX <tn ch m c> ON <Tn b ng> V d 1 : Xo ch m c Ten trong b ng NHANVIEN DROP INDEX Ten ON NHANVIEN; 4. Xa b ng: DROP TABLE <Tn b ng> V d 2 : Xo b ng NHANVIEN DROP TABLE NHANVIEN;

Ph m Th Kim Ngoan

42

III. T o cc truy v n
1. Select query: SELECT [ph m vi] FROM [ph m vi] - DISTINCT: b qua d li u trn cc b n ghi trng l p - ALL: l y t t c cc b n ghi - TOP n: ch l y n b n ghi u tin. WHERE < i u ki n> <Tn tr ng>[AS tn m i] <tn b ng>

Ph m Th Kim Ngoan

43

III. T o cc truy v n
<Tr ng dl>: <tn b ng>.<tn tr - L y t t c cc tr ng> .*

- N u l y d li u t nhi u b ng: ng d li u:

< i u ki n>: l m t bi u th c logic.

Ph m Th Kim Ngoan

44

V d
V d 1: Hi n th thng tin M HS, H Tn HS, Ngy sinh, Gi i tnh trong b ng H CSINH SELECT MaHS, HoTen, Ngaysinh, Gioitinh FROM HOCSINH; V d 2: Hi n th t t c cc tr SELECT * FROM HOCSINH; V d 3: m s b ng ghi c a b ng MONHOC v thay b i tiu Somonhoc t i tiu c ac t SELECT Count([MaMH]) AS Somonhoc FROM MONHOC;
Ph m Th Kim Ngoan 45

ng trong b ng HOCSINH

V d
V d 5: Hi n th M HS, H tn HS trong b ng HOCSINH c tr ng H tn sinh vin b t u l P SELECT MaHS, HoTen FROM HOCSINH WHERE HoTen Like P*"; V d 6: Hi n th thng tin h c sinh c ngy sinh trong 6 thng u n m 1987 SELECT HOCSINH.* FROM HOCSINH WHERE [Ngaysinh] Between #1/1/1987# And #30/6/1987#;

Ph m Th Kim Ngoan

46

III. T o cc truy v n
2. Total Select query: SELECT FROM WHERE GROUP BY HAVING <tn tr ng c n g p nhm> c < i u ki n g p nhm>

V d : T o Total Select Query hi n th nh ng mn h c h c sinh t nh t 2 h c sinh thi. SELECT MaMH, Count([MaHS]) as DEM FROM HS_MH GROUP BY [MaMH] HAVING Count([MaHS]) >2;
Ph m Th Kim Ngoan

47

III. T o cc truy v n
3. Crosstab query: TRANSFORM GROUP BY PIVOT <bi u th c tnh gi tr > <tr <tr ng l tiu ng l tiu hng> c t> SELECT FROM WHERE

T o Crosstab Query kh i h c :

m s mn h c c a h c sinh theo t ng

TRANSFORM Count(MaMH) AS Somonhoc SELECT MaHS FROM HS_MH GROUP BY MaHS PIVOT Left([MaHS],1);
Ph m Th Kim Ngoan 48

III. T o cc truy v n
4. Make_ Table query: SELECT <tn tr FROM WHERE ng> INTO <tn b ng c n t o> <tn b ng l y dl> < i u ki n>

V d : T o b ng g m cc h c sinh n , v i tn m i l HS_NU SELECT * INTO HS_NU FROM HOCSINH WHERE Gioitinh=No;

Ph m Th Kim Ngoan

49

III. T o cc truy v n
5. Append Query: INSERT INTO <Tn b ng s n i vo> SELECT FROM [WHERE <Cc tr ng ch n> <Tn b ng l y d li u> < i u ki n>]

V d 1 :Ch n t t c cc h c sinh nam trong HOCSINH v thm vo b ng HS_NU INSERT INTO HS_NU SELECT * FROM HOCSINH WHERE Gioitinh=Yes;
Ph m Th Kim Ngoan 50

III. T o cc truy v n
Thm 1 b n ghi v i gi tr c th : INSERT INTO <Tn b ng s n i vo> (Cc tr ng c n thm gi tr ) ng) VALUES (Gi tr c a cc tr

V d 2 : Thm m t t nh m i vo b ng TINH : INSERT INTO KHOIHOC(Makhoi,Tenkhoi) VALUES(0",Kh i 12");

Ph m Th Kim Ngoan

51

III. T o cc truy v n
6. Update Query: UPDATE SET <Tn tr [WHERE <Tn b ng c p nh t> ng c p nh t> = <Bi u th c> < i u ki n c p nh t>] iv i

V d : i t t gi tr c a tr ng h s mn h c l 2 mn h c c m s mn h c k t thc b i s 1: UPDATE MONHOC SET Heso = 2 WHERE Rigth([MaMH],1)=1;

Ph m Th Kim Ngoan

52

III. T o cc truy v n
7. Delete Query: DELETE <Cc tr ng d.li u> FROM <Tn b ng> [WHERE < i u ki n xa>] V d : Xo L p h c c Malop l 13: DELETE Malop FROM LOP WHERE Malop=13";

Ph m Th Kim Ngoan

53

III. T o cc truy v n
8. S d ng lin k t trong: SELECT FROM <B ng 1> INNER JOIN <B ng 2> ON <B ng 1>.<Tr ng dl lin k t> = <B ng 2>.<Tr ng dl lin k t> WHERE V d : Hi n th thng tin Tn l p v Tn kh i t 2 b ng KHOI v LOP SELECT Tenlop, Tenkhoi FROM LOP INNER JOIN KHOIHOC ON KHOIHOC.Makhoi = LOP.Makhoi;
Ph m Th Kim Ngoan 54

III. T o cc truy v n
9. Union Query: L truy v n c th c a SQL k t h p cc tr ng t ng ng t 2 ho c nhi u b ng/truy v n vo 1 b ng thng qua ton t UNION SELECT ... FROM ... WHERE ... UNION SELECT ... FROM ... WHERE ... V d : C 2 b ng HS_NU v HS_NAM, hy t o truy v n h i li t k t t c cc h c sinh c a 2 b ng trn SELECT * FROM HS_NAM UNION SELECT * FROM HS_NU ORDER BY [HoTen];
Ph m Th Kim Ngoan 55

III. T o cc truy v n
10. Sub Query: Sub Query = SELECT ... FROM ... WHERE ... SELECT ... FROM ... WHERE ... <B.th c so snh> ANY | SOME | ALL <Sub Query> <Bi u th c tm ki m> IN | NOT IN <Sub Query> EXISTS | NOT EXISTS <Sub Query>

Ph m Th Kim Ngoan

56

III. T o cc truy v n
Trong : ANY|SOME : ch cc b n ghi trong truy v n chnh (Main query) tho m n i u ki n v i b t k (ho c m t vi) b n ghi no truy v n t Subquery. ALL : ch cc b n ghi trong truy v n chnh tho mn i u ki n so snh v i t t c cc b n ghi no truy xu t ct Subquery. IN : ch cc b n ghi trong truy v n chnh m t n t i m t vi b n ghi trong Subquery c gi tr b ng n. NOT IN : ch cc b n ghi trong truy v n chnh m khng t n t i b n ghi no trong Subquery c gi tr b ng n.
Ph m Th Kim Ngoan 57

III. T o cc truy v n
EXISTS (ho c NOT EXISTS) : php so snh True/False xc nh Subquery c cho k t qu l b n ghi no hay khng. V d : Hy li t k cc h c sinh c t nh t m t mn thi c i m thi trn 8. SELECT * FROM HOCSINH WHERE MAHS IN (SELECT MAHS FROM HS_MH WHERE DTB>8);

Ph m Th Kim Ngoan

58

Bi t p
T o b ng m i c tn Cng ch c v i cc tr MaCC Text 4 (Kha) HoCC Text 30 TenCC Text 7 (Ch m c) Ngaysinh DateTime Gioitinh YesNo ng d li u sau:

Ph m Th Kim Ngoan

59

You might also like