Read Microsoft Word - TH_Chuong8.doc text version

Bài thc hành 1 To mt hp Combo và th tc liên kt VBA i tng: To mt hp combo nh v mt bn ghi, to mt th tc VBA ng b hp combo vi bn ghi hin ti. S dng Hình 8.4. Bc 1: M c s d liu GioithieuVBA Khi ng Access. M c s d liu GioithieuVBA trong th mc Exploring Access nh trong Hình 8.4a. Nu cn thit, kích nút Forms. Chn (kích) Bieu mau Sinhvien ban dau. Kéo xung thc n Edit và kích lnh Copy (hoc kích nút Copy trên thanh công c Database). Biu mu c sao chép ti clipboard. Kéo xung thc n Edit ln th hai và kích lnh Paste (hoc kính nút Paste trên công c Database) hin th hp thoi Paste As. Gõ Bieu mau Sinhvien hoan thien và n enter.

(a) M C s d liu GioithieuVBA (bc 1) Hình 8.4 ­ Bài tp thc hành 1 Nhng phím tt - Ct, Sao chép, và Dán Ctrl + X, Ctrl + C, và Ctrl + V là nhng phím tt ct, sao chép và dán, mt cách tng ng, và áp dng chung cho nhng ng dng Windows. Nhng phím tt s d nh khi chúng ta nhng ký t X, C, và V nm cnh nhau phía di bên trái ca bàn phím.

1

Bc 2: Combo Box Wizard M Bieu mau Sinhvien hoan thien mi c to vi khung nhìn Design. M to ca s ra. Kích công c Combo Box trên thanh công c Toolbox, sau ó kích và kéo vào trong biu mu bên cnh iu khin S chng minh th to mt hp combo và khi ng Wizard. Chn nút t chn Find a record on my form based on the value I selected in my combo box nh trong Hình 8.4b. Kích Next. Kích úp trng Sochungminhthu chuyn nó t hp lit kê nhng trng c cung cp ( bên trái ca Combo Box Wizard) sang danh sách nhng trng c chn. Kích úp trng Ten cng chuyn trng này. Kích Next. Bn s nhìn thy các ct trong hp combo nh chúng s xut hin trong biu mu. Chc chn rng ta ã tích vào hp kim Hide key column. Kích Next. Thay i nhãn ca hp combo thành Timsinhvien (ng s dng khong trng trong nhãn). Kích Finish thoát khi Combo Box Wizard.

(b) Combo Box Wizard (bc 2) Hình 8.4 ­ Bài tp thc hành 1

2

Thay i kích thc và di chuyn mt hp combo và nhãn ca nó Mt hp combo luôn c to vi mt nhãn gn kèm. Chn (kích) hp combo, và nó s có cán thay di kích thc và cán di chuyn, nhng nhãn ca nó ch có mt cán di chuyn. Chn nhãn (thay vì hp combo) và xy ra iu ngc li. di chuyn mt hp combo và nhãn ca nó, kích và kéo biên ca mi i tng. di chuyn hp combo hoc nhãn ca nó, kích và kéo cán di chuyn (mt hình vuông nh phía góc trên bên trái) ca di tng thích hp.

Bc 3: Di chuyn và thay i kích thc hp combo Di chuyn và thay i kích thc hp combo mi c to sao cho phù hp vi cách trình bày trong Hình 8.4c. Di Properties cha c hin th. Bn s có th phi gim kích thc ca hp combo và/hoc tng kích thc ca nhãn. sp thng hàng hp combo và/hoc nhãn ca nó vi nhng iu khin khác trên cùng mt hàng ca biu mu, n và gi phím Shift chn nhng iu khin bn mun sp. Kéo xung thc n Format, kích Align, sau ó kích Top sp thng hàng nh ca tt c nhng phn t c chn. Tr ti hp combo, kích phím phi chut hin th mt thc n tt, sau ó kích Properties hin th hp thoi Properties trong Hình 8.4c. Nu cn, kích nhãn All. Vit tên ca hp combo (Combo37 trong hình ca chúng tôi) vì bn s cn nó trong bc 7. Tên iu khin ca bn có th khác ca chúng tôi. Kích thuc tính Row Source chn nó, sau ó kích nút Build (nút có ba du chm) xut hin khi hàng c chn.

(c) Di chuyn và thay i kích thc hp Combo (bc 3) Hình 8.4 ­ Bài thc hành 1 3

Hp thoi Property Bn có th thay i din mo và hành trng ca mt iu khin bng hai cách. Bng cách thay i chính iu khin thc s trên biu mu hoc bng cách thay i nhng thuc tính phía di. Bt k nhng gì bn làm vi iu khin s t ng thay i thuc tính liên kt, và ngc li, bt c thay i vi di thuc tính s c ánh x trong din mo và hành trng ca iu khin. Chúng ta t tip tc tìm ra vic chuyn ti lui gia hai k thut.

Bc 4: Cp nht Row Source Bn s nhìn thy truy vn trong Hình 8.4d, ngoi tr là truy vn ca bn cha c hoàn thin. Kích vào trong ct th hai ca hàng Field, ngay sau iu khin Ten. n phím cách sau ó gõ & ", " & Hovadem. t mt du cách sau du phy bên trong các du ngoc kép. n Enter. Kích úp biên gia ô này và ô tip theo tng rng ct bn có th nhìn thy toàn b biu thc. Ghi nh rng Expr1: ã c nhp vào t ng ng trc biu thc. Kích vào Sort row ca cùng ct, kích mi tên xung nu cn, sau ó kích Ascending hin th nhng bn ghi theo th t abc ca tên. óng truy vn. Kích Yes khi c hi có lu nhng thay i c làm ti lnh SQL. óng di Properties. Kích nút View tr li khung nhìn Form.

(d) Cp nht Row Source (bc 4) Hình 8.4 ­ Bài thc hành 1

4

Ni mt xâu Du và (&), hoc toán t ni, ch ra rng nhng yu t trong mi phn ca mt biu thc xut hin lin sát yu t khác khi mt biu thc c hin th. Bn có th ni mt on vn và mt tên trng chng hn nh "Tên ca nhân viên là" & Ten hin th "Tên ca nhân viên là Toàn", gi s rng Toàn là giá tr hin ti trong trng Ten.

Bc 5: Kim tra hp combo TimSinhvien Nu cn, kích nút Navigation trên thanh trng thái tr v bn ghi u trong bng, Lê Th Nga, nh trong Hình 8.4e. Kích mi tên xung trên hp combo bn va to hin th mt danh sách nhng sinh viên theo th t abc. (Nu bn không nhìn thy danh sách sinh viên, n Esc b qua nh hng ca bt k thao tác nào, sau ó tr li khung nhìn Design lp li nhng bc trc. Chn (kích) Hoa, Nguyn Th t danh sách nhng tên trong hp combo, Biu mu c cp nht hin th thông tin cho sinh viên này. Kích mi tên xung ln th hai và chn Ng, Lê ình t hp combo. Biu mu li c cp nht. Kích nút navigation tr v sinh viên u tiên. Biu mu hin th bn ghi ca Lê Th Nga, nhng hp combo thì không cp nht; v.d., nó s tip tc hin th Ng, Lê ình. Kích nút View tr v khung nhìn Design.

(e) Kim tra hp Combo TimSinhvien (bc 5) Hình 8.4 ­ Bài thc hành 1

5

Ti sao s dng VBA? Hp combo cho phép bn chn mt tên t mt danh sách abc sau ó cp nht nht biu mu hin th d liu ca bn ghi tng ng. Tt c iu này ã c hoàn thin mà không s dng VBA. Vn là hp combo không cp nht t ng khi nhng bn ghi c chn bng nhng nút navigation. Cách duy nht sa vn này là vit mt th tc VBA.

Bc 6: To mt Th tc s kin Tr ti b lc bn ghi (Hình ch nht nh phía trên bên trái ca biu mu), kích phím phi chut hin th mt thc n tt, sau ó kích Properties hin th di thuc tính Form. Kích nhãn Event. Kích s kin On Current, sau ó kích nút Build hin th hp thoi Choose Builder nh trong Hình 8.4f. Kích (chn) Code Builder, sau ó kích OK. Mt ca s VBA s m cha nhng môun ca Bieu mau Sinhvien hoan thien. Nu cn, m to ca s VBA và/hoc kích nút Procedure View bên trên thanh trang thái. Tr chèn ã c t t ng trong th tc s kin va c to. Bn s nhìn thy mt thông ip bt u bng Private Sub Form_Current() tng ng vi s kin On Current. Bn cng s nhìn thy dòng kt thúc End Sub, nhng không có mã xut hin gia nhng dòng lnh Sub và End Sub.

(f) To mt th tc s kin (bc 6) Hình 8.4 ­ Bài thc hành 1 6

To mt th tc s kin Có hai cách c bn to mt th tc s kin. Có th to t khung nhìn Design, nh trong bài tp này, bng cách kích phi vào hp b chn biu mu hin th nhng thuc tính biu mu, kích nhãn Event chn s kin mong mun, sau ó kích nút Build và chn Code Builder. Bn cng có th to mt th tc s kin trc tip trong ca s Module. Trong mi cách, câu lnh u và cui ca th tc c t ng to cho bn

Bc 7: Hoàn thin Th tc s kin On Current Tr chèn s nm trên mt dòng trng, gia nhng dòng lnh Sub và End Sub. Nu không kích vào dòng trng. n phím Tab tht vào. S tht vào làm mã lnh ca bn d c hn, nhng không phi là mt yêu cu v cú pháp. Gõ Combo37 (s dng s ca hp combo nh ã t trong bc 5). Nu bn không nh tên ca hp combo, kích nút trên thanh tác v tr v ca s Form, kích vào hp combo và kích nhãn All. Xem tên ti thuc tính Name. n phím cách sau khi bn ã nhp vào tên ca hp combo ca bn, gõ mt du bng, và n phím cách ln th hai. Gõ So (vài ch u tiên trong tên ca iu khin Sochungminhthu). Kéo xung thc n Edit và kích Complete Word (hoc n Ctrl+Space) hin th tt c nhng i tng, thuc tính và phng thc bt u bng nhng ch này. Sochungminhthu ã c chn nh trong Hình 8.4g. n phím cách sao chép mc c chn và hoàn thin dòng lnh Kích nút Save trên thanh công c Visual Basic. óng ca s VBA.

(g) Hoàn thin th tc s kin On Current (bc 7) Hình 8.4 ­ Bài thc hành 1 7

Bc 8: Thêm bn ghi ca bn Nu cn, kích nút ca biu mu Access trên thanh tác v. óng di thuc tính. Kích nút View tr v khung nhìn Form. Bn s nhìn thy biu mu Thông tin Sinh viên. Kích nút navigation chuyn ti bn ghi tip theo. D liu trong biu mu c cp nht. Kích nút navigation tr v bn ghi u tiên. Mt ln na d liu trong biu mu c cp nht, nh là tên trong hp combo. Kích vào nút Thêm bn ghi ca biu mu. Bn s nhìn thy mt biu mu trng nh trong Hình 8.4h. Kích vào hp vn bn Sochungminhthu và nhp s chúng minh th ca bn. Tip tc nhp d liu cá nhân ca bn. óng biu mu khi bn ã nhp xong d liu. Thoát khi Access nu bn không mun tip tc vi bài tp tip theo lúc này.

(h) Thêm bn ghi ca bn (bc 8) Hình 8.4 ­ Bài thc hành 1 Phng thc Set Focus Lý tng là khi kích nút Thêm bn ghi s t bn vào trng S chng minh th, bn không phi kích vào trng này bt u nhp d liu. M biu mu Sinh viên trong khung nhìn Design, kích phi vào nút Thêm bn ghi và hin th hp thoi Properties. Kích nhãn Event, kích thuc tính On Click, sau ó kích nút Build. Chèn dòng lnh Sochungminhthu.SetFocus ngay sau dòng lnh DoCmd. Chuyn n khung nhìn Form, sau ó kích nút Thêm. Bn s c t vào trng S chng minh th. 8

Bài thc hành 2 Làm thun tin vic vào d liu i tng: To nhng phím tt làm thun tin vic vào d liu. S dng Hình 8.6 minh ho cho bài tp. Bc 1: To Th tc s kin KeyDown M c s d liu GioithieuVBA t bài tp trc. Kích nút Form sau ó m Bieu mau Sinhvien hoan thien trong khung nhìn Design. Kéo xung thc n View và kích Code (hoc kích nút Code) trên thanh công c Database. Nu bn ang trong khung nhìn Full Module, kích vào th tc bt k, sau ó kích nút Procedure view bên trên thanh trng thái. Kích mi tên xung trong hp lit kê Event và chn Form. Kích mi tên xung trong hp lit kê Procedure hin th danh sách nhng s kin ca biu mu. Kích KeyDown to mt th tc cho s kin này.

(a) To th tc s kin KeyDown (bc 1) Hình 8.6 ­ Bài thc hành 2 Khung nhìn Procedure và khung nhìn môun y Cách th tc có th c hin th riêng l, hoc nhiu th tc có th c xem ng thi. Kích nút Procedure View hin th mt th tc hoc kích nút Module View hin th nhiu th tc. Trong mi cách, bn có th n Ctrl+PgDn và Ctrl+PgUp di chuyn gia nhng th tc trong ca s Module.

9

Bc 2: Sa li biên dch Nhng dòng lnh u Procedure và End Sub ca th tc s kin KeyDown c to t ng nh trong Hình 8.6b. Tr chèn c t vào dòng trng gia hai dòng lnh này. Gõ mt du nháy n ( vit mt li chú thích), sau ó nhp nhp on vn bn chú thích nh trong hình. n enter khi bn ã hoàn thin li chú thích. Dòng chuyn sang mu xanh lá cây ch ra rng nó là mt li chú thích. n phím Tab tht vào dòng th nht ca mã lnh, sau ó nhp vào dòng lnh úng nh trong hình. n enter bn s nhìn thy thông ip li bi vì chúng ta to mt li (c ý) trong dòng lnh If minh ho iu xy ra khi bn mc mt li. Kích OK nu bn bit lí do ca li hoc kích Help hin th mt màn hình mô t li, óng ca s Help. Bây gi quay tr v dòng lnh VBA, gõ du cách cui ca dòng và thêm t khóa Then vào cui dòng sa li. n enter hoàn thin dòng lnh. Thông ip li s không xut hin.

(b) Sa li biên dch (Bc 2) Hình 8.6 ­ Bài thc hành 2 , xanh lá cây và xanh da tri Visual Basic ca các ng dng s dng các màu khác nhau trong nhng kiu dòng lnh khác nhau (hoc mt phn ca các dòng lnh ó). Bt kì dòng lnh nào cha mt li cú pháp s có hin màu . Li chú thích có màu xanh lá cây. Các t khoá, nh là Sub và End Sub, có màu xanh da tri. 10

Bc 3: Hoàn thin Th tc s kin KeyDown óng ca s Project Explorer và hoàn thin th tc KeyDown nh trong Hình 8.6c. S dng s hiu bit ca bn v nhng lnh Cut, Copy, và Paste thun tin cho vic nhp mã lnh. Ví d, bn có th sao chép dòng lnh If u tiên, sau ó sa cha mã cho phù hp, thay vì gõ nó t u. Chn nhng dòng lnh ct hoc sao chép ti clipboard, sau ó dán chúng vào ch khác trong môun. Nu kt qu khác vi iu bn mong i hoc nh sn, kích lnh Undo ngay lp tc quay ngc li câu lnh trc ó. Chc chn rng mã lnh ca bn ging vi mã trong Hình 8.6c. S tht vào không phi là mt yêu cu cú pháp ca VBA, nhng c s dng làm nhng dòng lnh ca bn d c hn. Kích nút Save lu li môun.

(c) Hoàn thin th tc s kin KeyDown (Bc 3) Hình 8.6 ­ Bài thc hành 2 Công c hoàn thin t Bn bit rng biu mu ca bn cha mt iu khin tham chiu n s in thoi trng i hc, nhng bn không chc chn v chính t. Công c Complete Word có th tr giúp. Nhp kí t u tiên, sau ó nhn Ctrl+Space ( hoc kéo xung thc n Edit và kích Complete Word). VBA s hoàn thin t cho bn, nu bn ã nhp s kí t cn thit nhn dng, hoc nó s hin th tt c nhng i tng, thuc tính, và phng thc bt u bng kí t bn ã nhp. S dng mi tên xung cun sut danh sách cho n khi bn tìm thy mc tho mãn, sau ó nhn phím cách hoàn thin u vào. 11

Bc 4: Thit lp Thuc tính Key Preview Thuc tính Key Preview ca biu mu phi c t là Yes hoàn thin phím tt. Kích nút thanh tác v tr v Bieu mau Sinhvien hoan thien. Tr ti hp b chn biu mu (hình vuông nh phía trên bên trái ca biu mu). Kích phím phi chut hin th mt thc n cm ng cnh vi nhng câu lnh ca toàn b biu mu. Kích Properties hin th hp thoi Form Properties. Kích nhãn Event và cun cho n khi bn thy thuc tính Key Preview. Thay i thuc tính thành Yes nh trong Hình 8.6d. óng hp thoi Form Properties. Lu li biu mu, bây gi nó cha th tc mi cho phím tt. Th tc này nên c kim tra ngay sau khi hoàn thin. Kích nút View trên thanh công c Form Design tr v khung nhìn Form.

(d) Thit lp thuc tính Key Preview (Bc 4) Hình 8.6 ­ Bài thc hành 2 S dng di thuc tính Tt c nhng i tng trên mt biu mu có di thuc tính ca riêng nó. iu này cho phép bn thay i din mo và hành trng ca mt iu khin bng hai cách bng cách thay i iu khin thông qua ng dng ca mt lnh thc n hoc nút thanh công c, hoc bng cách thay i di thuc tính phía di. Bt k nhng gì bn làm vi iu khin s thay i thuc tính liên kt, và ngc li, bt c thay i vi di thuc tính c ánh x trong din mo và hành trng ca iu khin.

12

Thay i trt t Tab Phím Tab cung cp mt li tt trong biu mu cui cùng di chuyn t mt trng ti trng tip theo; do vy bn n phím Tab di chuyn ti trng tip theo và Shift+Tab và quay li trng phía trc. Trt t nhng trng c chn tng ng vi vi tun t nhng iu khin c nhp vào trong biu mu, và không cn tng ng vi s xut hin vt lý ca biu mu thc. khôi phc li tun t trái qua phi, trên xung di, kéo thc n View, kích Tab Order, sau ó chn AutoOrder.

Bc 5: Kim tra Th tc Kích nút navigation chuyn ti bn ghi u tiên trong bng nh trong Hình 8.6e. n Ctrl+1 Thành ph, Tnh th hin Hà Ni, theo nh li tt bn va to. D liu t ng thay i và bn c t t ng trên trng in thoi trng. B chn bn ghi chuyn thành mt cái bút chì ch ra rng d liu ã c sa, nhng cha c lu li. Nu li tt không làm vic, tr li bc 4 và kim tra xem thuc tính Key Preview ã c t là Yes cha. Nu li tt tip tc không làm vic, tr v mô un ca biu mu và kim tra nhng dòng lnh VBA. n Ctrl+2 i thành ph thành Vinh. D liu s t ng thay i, sau ó bn s c t vào trng S in thoi trng. Kích nút View tr v khung nhìn Design ca biu mu.

(e) Kim tra Th tc (Bc 5) Hình 8.6 ­ Bài thc hành 2 13

Ti sao s dng VBA? Hp combo cho phép bn chn mt tên t mt danh sách abc sau ó cp nht nht biu mu hin th d liu ca bn ghi tng ng. Tt c iu này ã c hoàn thin mà không s dng VBA. Vn là hp combo không cp nht t ng khi nhng bn ghi c chn bng nhng nút navigation. Cách duy nht sa vn này là vit mt th tc VBA.

Bc 6: To Nút lnh Li tt Kích và kéo công c Command Button trên thanh công c Toolbox to mt nút lnh mi nh trong Hình 8.6f. Command Button Wizard t ng khi ng. Tuy nhiên lúc này bn mun t to th tc s kin Click cho nút này. Kích nút Cancel ngay khi bn nhìn thy Wizard. Kích chut phi nút lnh mi c to và hin th di thuc tính ca nó. Kích nhãn All. Thay i thuc tính Name thành NutLoitat. Thay i thuc tính Caption thành &Li tt. Kích nhãn Event. Kích thuc tính On Click, kích nút Build, kích Code Builder, sau ó kích OK hin th ca s Module.

(f) To nút lnh Li tt (Bc 6) Hình 8.6 ­ Bài thc hành 2 14

Phím tng tc và thuc tính Caption Thuc tính Caption cho phép bn to mt phím tt cho mt nút lnh. Kích phi nút lnh trong khung nhìn Form Design hin th hp thoi Properties ca nút lnh. Kích nhãn All, sau ó sa thuc tính Caption nó bao gm mt du và (&) ngay ng trc ch cái s c s dng trong li tt (v.d., &Tr giúp nu bn có mt nút Tr giúp). óng hp thoi sau ó chuyn ti khung nhìn Form. Nút lnh s bao cha mt ch cái gch chân (v.d. Tr giúp) và có th c kích hot cùng vi phím All (v.d. Alt+T) nh mt phím tt hoc phím tng tc.

Bc 7: To th tc s kin OnClick Bn nên c t trên dòng trng trong th tc, nh trong Hình 8.6g. n phím Tab tht vào, sau ó nhp mã VBA chính xác nh trong hình. Ghi nh sau nhng iu sau: · Mt tip (hiu nh "Quick Info") xut hin ngay khi bn gõ du ngoc trái sau hàm MsgBox. Tip hin th cú pháp ca hàm và danh sách các tham s ca nó. · S tht vào không phi là mt yêu cu cú pháp ca VBA, nhng c s dng làm mã VBA d c hn. Hoàn thin dòng lnh chính xác nh trong hình, tr vic thay th tên ca bn cho Your name. Kích nút Save. óng ca s Module. Thay i kích thc và sp xp nút lnh mi. Lu li biu mu. Kích nút View.

(g) To th tc OnClick (Bc 7) Hình 8.6 - Bài tp thc hành 2 15

Hàm Msgbox Hàm Msgbox có ba tham s - vn bn ca thông ip c hin th, s lng nút cùng kiu ca thông ip, và vn bn xut hin trên thanh tiêu . Thông ip t c chia thành nhiu xâu kí t, ni tip t dòng này n dòng khác. Ký hiu và ni kt hai xâu ký t hin th mt thông ip duy nht. Ký t gch di ch ra rng dòng lnh c tip tc dòng tip theo.

Bc 8: Kim tra nút Li tt Kích nút Li tt. Bn cng có th s dng phím tt Alt+L, c ch ra bng ch cái gch chân trong tên nút c thit lp thông qua thuc tính Caption ca nút. Bn s nhìn thy hp thông ip c hin th trong Hình 8.6h. Tên ca bn s xut hin trên thanh tiêu ca hp thoi thay cho Tên bn. Kích OK óng hp thông ip. Th nhng phím tt khác ã c xây dng trong biu mu. n Ctrl+1 và Ctrl+2 chuyn qua chuyn li gia Hà Ni và Vinh, mt cách tng ng. n Alt+D óng biu mu. Không phi tt c mi ngi u thích s dng phím tt hn chut, nhng tuy nhiên bn ã to nhng li tt rt thun tin. Thoát khi Access nu bn không mun tip tc vi bài tp tip theo lúc này.

(h) Kim tra nút Li tt (Bc 8) Hình 8.6 ­ Bài thc hành 2 16

To nhng nút lnh cùng mt dng Mt biu mu c làm lôi cun hn nu tt c nhng nút lnh ca nó có nhng thuc tính tng ng. Chuyn ti khung nhìn Design, sau ó n và gi phím Shift trong khi bn chn mi nút lnh. Kéo xung thc n Format, kích Size, sau ó chn nhng tham s mong mun cho tt c nhng nút chng hn nh rng nht và cao nht. (Bn phi thi hành mt lnh cho mi tham s). Ri khi nhng nút c chn, kéo xung thc n Format, chn lnh Align, sau ó chn tham s mong mun. Kéo xung thc n Format mt ln cui, chn mc Horizontal Spacing, sau ó chn khong cách mong mun (ví d, cùng mt dng) cho nhng nút lnh.

17

Bài tp thc hành 3 By li i tng: To mt th tc s kin thay th nhng thông ip ng dng c thù cho nhng thông ip li Access chun. S dng Hình 8.8 làm minh ha. Bc 1: Ép Thông ip li M c s d liu GioithieuVBA. Nu cn, kích nút Forms, sau ó m Bieu mau Sinhvien hoan thien vi khung nhìn Form. Kích và kéo chn tên trong hp combo TimSinhvien. Gõ XXXX (mt tên hin nhiên sai). n enter. Bn s nhìn thy thông ip li nh trong Hình 8.8a, nó có th gây khó hiu cho mt ngi s dng không có chuyên môn. Kích OK óng hp thoi. n phím Esc xoá XXXX, vì bn không mun tìm sinh viên này. Chuyn ti khung nhìn Design.

(a) Ép thông ip li (Bc 1) Hình 8.8 ­ Bài thc hành 3 Danh sách tp c m gn ây nht Cách d nht m mt c s d liu c s dng gn ây là chn nó t hp thoi Microsoft Access xut hin khi Access c khi ng lúc u. Kim tra xem c s d liu ca bn có xut hin trong danh sách bn c s d liu c m gn ây nht không, nu có, n gin là kích úp c s d liu m nó. Danh sách nhng c s d liu c m gn ây nht cng có th c tìm cui ca thc n File. 18

Bc 2: Xác nh S ca li Kéo xung thc n View và kích Code (hoc kích nút Code trên thanh công c Form Design) hin th ca s Module. Nu cn thit, kích mi tên xung ca hp thoi Object và chn i tng Form. Kích mi tên xung trong hp Procedure và kích Error hin th th tc s kin s c tin hành khi mt li xy ra trong biu mu. Kích nút Procedure View nh trong Hình 8.8b. Chúng tôi ã to th tc này cho bn. Nó bao gm mt dòng lnh có th thi hành riêng l, in mt câu vn, theo sau là s ca li. Nhng li chú thích gii thích cách s dng th tc. Kéo xung thc n View và kích Immediate window (hoc n Ctrl+G) m ca s Immediate. Bn s nhìn thy s 2237. ây là s ca li ca riêng Access ch ra rng giá tr c a vào trong phn vn bn ca hp combo không ging vi bt k li vào nào trong danh sách liên kt. óng ca s Immediate.

(b) Xác nh s ca li (Bc 2) Hình 8.8 ­ Bài thc hành 3 Máy tính tc thì S dng phng thc (hành ng) Print trong ca s Immediate s dng VBA nh mt máy tính. n Ctrl+G bt c lúc nào hin th ca s Immediate. Gõ dòng lnh Debug.Print, theo sau là tính toán ca bn, ví d, Debug.Print 2+2, sau ó n enter. Câu tr li c hin th trên dòng tip theo trên ca s Immediate.

19

Bc 3: By li u tiên Kích vào th tc s kin cui ca dòng lnh Debug, n phím enter hai ln, sau ó nhp mã trong Hình 8.8c. Ghi nh nhng iu sau: · Nhng li chú thích xut hin u th tc. · Dòng lnh Case kim tra giá tr ca mt bin vào (DataErr), sau ó chuyn ti tp dòng lnh thích hp tu thuc vào giá tr ca bin ó. Th tc hin ti ch kim tra mt li duy nht, nhng nó s c m rng sau trong bài tp kim tra thêm nhng li khác. · S tht vào và nhng dòng trng trong th tc không phi là nhng yêu cu cú pháp ca bn thân VBA, nhng c s dng làm cho mã lnh d c hn. · Mt tip "Thông tin nhanh" xut hin ngay khi bn gõ du ngoc n bên trái ca hàm MsgBox. Tip hin th cú pháp ca hàm. Hoàn thin dòng lnh chính xác nh trong Hình 8.8c. Lu li th tc.

(c) By li u tiên (Bc 3) Hình 8.8 ­ Bài thc hành 3 Tip tc mt dòng lnh VBA - Du & và du gch di Mt dòng lnh VBA có th c tip tc t mt dòng ti dòng tip theo bng cách b mt du cách cui ca dòng c tip tc, gõ ký t gch di, sau ó tip tc trên dòng tip theo. Tuy nhiên bn không th ngt mt dòng gia mt on vn (xâu ký t). Do vy bn cn hoàn thin xâu ký t vi mt du óng ngoc kép, thêm mt du và (là toán t gn kt hin th xâu này cùng vi xâu ký t trên dòng tip theo), sau ó b mt du cách theo sau là mt du gch di ch ra s tip tc. 20

Bc 4: Th tc s kin Kim tra li Kích nút thanh tác v tr v Bieu mau Sinhvien hoan thien. Chuyn n khung nhìn Form. Kích và kéo chn tên trong hp combo Timsinhvien. Gõ XXXX (mt tên hin nhiên sai). n enter. Lúc này bn s thy mt thông ip li trong Hình 8.8d tng ng vi vn bn bn nhp vào bc trc. (Ghi nh rng thanh tiêu tên hp thoi ch rng tên bn ây. Chúng tôi s nói cho bn cách sa thanh tiêu sau trong bài tp). Kích OK óng hp thông ip. n phím Esc xoá XXXX. Tr li khung nhìn Design. Kéo xung thc n View và kích Code (hoc kích nút Code trên thanh công c Form Design) hin th ca s Module.

(d) Kim tra Th tc s kin Error (Bc 4) Hình 8.8 ­ Bài thc hành 3 Li k thut u tiên Li k thut là mt li trong mt chng trình máy tính; vic g li ám ch mt tin trình chnh sa nhng li chng trình. Theo ghi chú, li k thut u tiên là mt con bm êm bt hnh b nghin cht trên mt trong nhng r le ca máy tính in t thng mi Mark II, làm cho s vn hành ca máy b ngng. Nguyên nhân ca s tht bi này c khám phá bi Grace Hopper, và cô ã nhanh chóng gn con bm vào s ghi nh ca mình, vi li ghi nh, "Trng hp thc s u tiên ca li k thut c tìm thy". 21

Bc 5: Thay i Tên ng dng. Kích mi tên xung ca hp Object và chn (General) u ca danh sách nhng i tng. Chúng tôi ã nh ngha hng Visual Basic ApplicationName, và khi to nó là "Tên ca bn ây". Vn bn này ã xut hin trong thanh tiêu ca hp thoi trong bc trc. Kích và kéo chn Tên ca bn ây. Nhp V Vn Trung ã làm bài tp v nhà, thay th tên ca bn cho V Vn Trung . Kéo xung thc n Edit, kích lnh Find hin th hp thoi Find. Nhp ApplicationName trong hp vn bn Find What. Ch ra t chn tìm Curent module và ch ra All làm nh hng. Kích nút lnh Find Next nh v nhng s kin ca hng ApplicationName. Bn có th ánh giá ý ngha ca k thut này tu bin ng dng ca bn không ? Lu li th tc.

(e) i tên ng dng (Bc 5) Hình 8.8 ­ Bài thc hành 3 Hàm MsgBox - Hng và câu vn Tham s th ba ca hàm MsgBox có th c nhp vào là mt câu vn chng hn nh "ng dng ca Trn Vn Toàn". Tuy nhiên, tt hn là xác nh tham s là mt hng chng hn nh ApplicationName, sau ó nh ngha hng ó phn Declarations. Bng cách này, bn có th i tên ca ng dng mt v trí, và thay i c t ng ánh x trong mi dòng lnh MsgBox tham kho n hng. 22

Bc 6: Hoàn thin Th tc s kin Error Kích mi tên xung ca hp Object và chn i tng Form. Kích mi tên xung ca hp Procedure và kích th tc Error. Kích ngay ng trc dòng lnh Case Else, sau ó nhp thêm mã lnh nh trong Hình 8.8f. S dng các lnh Copy và Paste nhp dòng lnh Case th hai. Vì vy: · Kích và kéo chn dòng lnh Case u tiên, kích nút Copy, kích bên trên dòng lnh Case Else, và kích nút Paste. · Sa nhng dòng lnh c sao chép khi cn thit, hn là gõ nhng dòng lnh t u. S dng phím Ins bt tt gia chèn và thay th. Mã lnh ca bn ging vi ca chúng tôi. Kích nút Save lu li th tc. Kích nút thanh tác v tr v Bieu mau Sinhvien hoan thien.

(f) Hoàn thin th tc s kin Error (Bc 6) Hình 8.8 ­ Bài thc hành 3 Hp Object và hp Procedure Hp Object góc trên bên trái ca ca s Module hin th nhng i tng hin thi, chng hn nh mt biu mu hoc mt iu khin trên biu mu. Hp Procedure hin th tên ca th tc hin thi ca nhng i tng c chn. to hoc nh v gia nhng s kin ca mt biu mu, kích mi tên xung trên hp Object chn i tng Form, sau ó kích mi tên xung trên hp Procedure hin th danh sách nhng s kin. Nhng s kin ã có th tc ri xut hin bng ch m. Kích mt s kin có ch không m to u th tc và dòng lnh End Sub cho s kin ó. 23

Bc 7: Hoàn thin vic kim tra Bn nên quay tr v khung nhìn Design ca Bieu mau Sinhvien hoan thien. Kéo xung thc n View và chuyn ti khung nhìn Datasheet nh trong Hình 8.8g. (Bn cng có th kích mi tên xung bên cnh nút View trên khung nhìn Form Design và chn Datasheet view). Nhp 222-22-2222 là mt s chng minh th b lp cho bn ghi u tiên. n phím mi tên xung (hoc kích nút navigation tng ng) th di chuyn n bn ghi tip theo. Bn s nhìn nhìn thy thông ip li trong Hình 8.8g. Thanh tiêu hin th giá tr ca tên ng dng c nhp vào gn ây trong bài tp. Kích OK (hoc n Esc) óng hp thoi. n Esc (ln th hai) ly li giá tr ban u ca s chng minh th. óng ca s. Thoát khi Access nu bn không mun tip tc vi bài tp tip theo lúc này.

(g) Hoàn thin vic kim tra (Bc 7) Hình 8.8 - Bài thc hành 3 Lng nghe ngi dùng ca bn Mt nguyên nhân liên tc làm h thng tht bi i vi ngi dùng cui là nhng thông ip li tràn ngp nhng thut ng k thut. Hin nhiên là mt ngi phát trin hoc mt sinh viên thng vt xa so vi ngi dùng cui cha có kinh nghim. Do vy, bt c nhng gì bn có th làm n gin mt h thng s gia tng c hi thành công ca h thng. Tìm ra ch h có khúc mc và iu h không hiu, sau ó hành ng theo. 24

Bài tp thc hành 4 Xác nhn d liu i tng: S dng thuc tính Field và Table thc hin nhng kiu khác ca xác nhn d liu. S dng Hình 8.10 làm minh hon trong bài tp. Bc 1: Thit lp nhng thuc tính trng. M c s d liu GioithieuVBA. Kích nút Tab, sau ó m bng Sinhvien trong khung nhìn Design nh trong Hình 8.10a. Kích ct b chn trng ca Gioitinh. Kích hp Validation Rule. Gõ ="M" Or "F" ch chp nhn nhng giá tr này trên u vào d liu. Kích hp Validation Rule. Gõ Xin hãy nhp M hoc F là gii tính. Kích thuc tính Required và chuyn giá tr ca nó thành Yes.

(a) Thit lp nhng thuc tính Field (Bc 1) Hình 8.10 - Bài thc hành 4 La chn phù hp kiu d liu và kích c trng Thuc tính kiu d liu quyt nh d liu có th c chp nhn vào trong trng và nhng thao tác có th c trình din trên d liu ó. Trng bt k c nh dùng trong mt tính toán nên c quy nh kiu d liu s. Tuy nhiên bn có th tng hiu qu ca mt c s d liu Access bng cách ch ra giá tr thích hp cho thuc tính Field Size ca mt trng s. Các kích c trng Byte, nteger, và Long Integer nm gi các giá tr n 256, 32,767, và 2,147,483,648, mt cách tng ng 25

Bc 2: Thit lp nhng thuc tính ca bng Tr n hp b chn góc trên bên trái, sau ó kích phím phi chut và hin th hp thoi Table Properties nh trong Hình 8.10b. Kích vào hp Validation Rule và nhp [Dienthoaitruong] Is Not Null Or [Dienthoainha] Is Not Null bo m rng ngi s dng nhp mt ít nht mt s in thoi. (Tên trng không c cha bt k du cách nào và c t trong cp du ngoc vuông.) n enter, sau ó gõ, Bn phi nhp mt s in thoi nhà hoc trng (ây là vn bn xác nhn s c hin th trong trng hp li). Kích nút Save lu li bng. Kích No khi bn nhìn thy thông ip hi Nhng d liu có sn có c kim tra li vi nhng lut mi không. óng hp thoi Table Properties. óng bng Sinhvien.

(b) Thit lp nhng thuc tính Table (Bc 2) Hình 8.10 - Bài thc hành 4 in thoi trng hoc in thoi nhà Bn có th thit lp thuc tính Required ca mt trng bt buc ngi s dng nhp d liu cho trng ó. Nhng phi làm gì nu bn mun ngi dùng nhp vào mt trong hai trng mà không phân bit trng nào c chn? Thit lp thuc tính Required ca mi trng hoc c hai trng s không hoàn thành yêu cu ca bn. Do vy bn cn thc hin kiu xác nhn này mc bn ghi (thay vì mc trng) bng cách thit lp nhng thuc tính trong c bng thay vì thit lp nhng trng riêng bit. 26

Bc 3: Kim tra Nhng lut xác nhn M Bieu mau Sinhvien hoan thien trong khung nhìn Form. Nu cn, chuyn n Lê Th Nga, bn ghi u tiên trong bng. Kích và kéo chn trng gii tính, sau ó gõ X thay th gii tính. n enter. Bn s nhìn thy thông ip li liên quan n trng gii tính. n Esc (hoc kích OK) óng hp thoi. n Esc ln th hai ly li giá tr ban u. Kích và kéo chn s in thoi trng có sn, sau ó n phím Del xoá s in thoi. n phím Tab di chuyn ti trng S in thoi nhà. C hai s in thoi s là trng. Kích nút di chuyn ti bn ghi tip theo. Bn s nhìn thy thông ip li trong Hình 8.20c liên quan n nhng thuc tính bng. n Esc (hoc kích OK) óng hp thoi. n Esc ln th hai ly li d liu ban u.

(c) Kim tra nhng lut xác nhn (Bc 3) Hình 8.10 - Bài thc hành 4 Xác nhn mc trng và xác nhn mc bn ghi Xác nhn d liu c thc hin mc trng hoc mc bn ghi. Nu nó c thc hin mc trng (Ví d, bng vic ch ra nhng thuc tính Required và Validation Rule ca mt trng c thù), Access kim tra li vào ngay khi bn thoát khi trng. Tuy nhiên nu nó c thc hin mc bn ghi, (Ví d, bng vic kim tra mt trong hai trng ã c nhp), Access i cho n khi nó ã x lí tt c các trng trong bn ghi. Do vy, th di chuyn n bn ghi tip theo Access ch ra li cho bn. 27

Bc 4: To Th tc s kin BeforeUpdate Chuyn ti khung nhìn Form Design. Kéo xung thc n View và kích Code (hoc kích nút Code) trên thanh công c Form Design. Nu cn, kích nút Procedure View xem mt th tc mt thi im. Kích mi tên xung trên hp lit kê Object và kích Form. Kích mi tên xung trên hp lit kê Procedure hin th danh sách nhng s kin ca biu mu. Kích BeforeUpdate to mt th tc cho s kin này. n phím Tab tht vào, sau ó nhp chính xác nhng dòng lnh nh trong hình 8.10d. Ghi nh rng, ngay sau khi bn nhp "Diachiemail", Access hin th nhng phng thc và thuc tính ca iu khin Diachiemail. Gõ set (ba ch cái u tiên trong phng thc SetFocus), xem màn hình khi bn nhp mi ch cái. Access t ng di chuyn xut danh sách c hin th, cho n khi nó n phng thc SetFocus. n enter. Thêm mt dòng lnh End If hoàn thin dòng lnh If kim tra hàm MsgBox. n enter, sau ó nhp mt dòng lnh End If th hai hoàn thin dòng lnh If kim tra iu kin IsNull. Lu li th tc.

(d) To th tc s kin BeforeUpdate (Bc 4) Hình 8.10 - Bài thc hành 4 Các thành phn Autolist - Tr giúp trong vic vit mã lnh Access hin th nhng phng thc và thuc tính ca mt iu khin ngay khi bn nhp du chm sau tên iu khin. Gõ vài ch cái u tiên chn phng thc hoc thuc tính. n phím cách chp nhn mc c chn và vn trên dòng ó hoc n phím enter chp nhn mc và bt u mt dòng mi. 28

Bc 5: Kim tra th tc s kin BeforeUpdate Kích nút thanh tác v ca biu mu Access. Chuyn ti khung nhìn Form. Kích vào trng memo và nhp vn bn trong Hình 8.10e. Kim tra nhng trng còn li nhng hãy chc chn a ch email trng. Kích nút navigation chuyn n bn ghi tip theo. Bn s nhìn thy thông ip li trong Hình 8.10e. Ghi nh rng li vào trong thanh tiêu tng ng vi giá tr ca hng ApplicationName bn ã nhp vào trc ây. Kích No hy b thao tác, óng hp thoi và t ng t tr chèn vào trong hp vn bn ca a ch email. Nhp mt a ch email chng hn nh [email protected], sau ó chuyn ti bn ghi tip theo. Lúc này Access không hin th thông ip li và lu li bn ghi

(e) Kim tra th tc s kin BeforeUpdate (Bc 5) Hình 8.10 - Bài thc hành 4 Trng Memo và trng vn bn Trng vn bn có th lu tr n 255 kí t. Tuy nhiên mt trng memo có th lu tr n 64,000 kí t và c s dng lu tr d liu mô t chy trong mt vài câu câu, mt vài on hoc thm chí mt vài trang. Mt thanh cun dc xut hin trong khung nhìn Form khi trng memo cha nhiu d liu hn là d liu có th nhìn thy trong mt lúc. Ghi nh rng c hai trng vn bn và memo ch lu tr nhng kí t c nhp vào; tc là, không có khong trng d tha nu d liu không m rng n kích c cc i ca trng . 29

Bc 6: To th tc s kin CloseForm Chuyn ti khung nhìn Form Design, sau ó kích nút Code trên thanh công c Form Design hin th ca s Module. Nu cn thit kích hp Object chn Form, sau ó kích hp Procedure chn s kin Close. Bn s nhìn thy th tc s kin s c hoàn thin mt phn trong Hình 8.10f. n Tab tht dòng lnh, sau ó nhp Call MsgBox theo sau là mt du ngoc n trái. Chc nng Quick Info hin th cú pháp ca hàm này. Hoàn thin thông ip, kt thúc bng du nháy óng và du phy. Chc nng AutoList hin th danh sách nhng tham s tng ng. Gõ vbc, lúc này bn có th chn tham s vbCritical bng cách gõ mt du phy. Gõ du cách theo sau bi mt du gch di tip tc dòng lnh trên dòng tip theo. Nhp ApplicationName làm tham s cui cùng bng mt du óng ngoc n phi. Lu li môun.

(f) To th tc s kin CloseForm (Bc 6) Hình 8.10 - Bài thc hành 4 La chn s kin úng Chúng ta gn kt thông ip nhc ngi dùng sao lu c s d liu vi s kin Close ca biu mu. Nó có th thc hin tt nh th không nu thông ip c gn vi s kin Click ca nút lnh Close Form ? Câu tr li là không, bi vì ngi dùng có th b qua nút lnh và óng biu mu bng vic cách kéo xung thc n File và chn lnh Close, nh vy không bao gi nhìn thy thông ip. Chn i tng và s kin gn kt úng là mt trong nhng vn tinh t trong VBA. 30

Bc 7: óng biu mu Kích nút biu mu Access trên thanh tác v. Tr v khung nhìn Form. Biu mu trông rt ging vi biu mu ban u, nhng nó ã c tng cng nhng cách thc tinh vi sau: · Hp danh sách th xung ã c thêm vào inh v mt sinh viên c thù. · Nhng phím nhanh ã c to cho các nút lnh (Ví d, Alt+T thêm mt bn ghi). · Thuc tính SetForcus c s dng nh v tr chèn trc tip vào hp vn bn S chng minh th thêm mt bn ghi mi. · Nhng phím tt Ctrl+1 và Ctrl +2 ã c to. · Xác nhn d liu ã c tng cng thông qua nhng thông ip li tùy bin. · ng dng ã c tùy bin thông qua u vào trên thanh tiêu . Kích nút óng biu mu hin th hp thoi trong Hình 8.10g. Kích OK óng hp thoi, nó ln lt óng biu mu. óng c s d liu. Thoát khi Access. Công viêc ã c hoàn thành mt cách tt p.

(g) óng biu mu (Bc 7) Hình 8.10 - Bài thc hành 4 Sao lu nhng tp quan trng Vn không c t ra nu không có nhng s c nh cng cht, các tp b mt, hoc virus có th lây nhim mt h thng. Nó ã xy ra vi chúng tôi và nó s xy ra vi bn, nhng bn có th chun b cho iu không th tránh c bng vic to ra mt bn sao lu thích hp trc khi xy ra vn . Quyt nh nhng tp c sao lu, bao lâu thc hin vic sao lu mt ln, và ni lu gi bn sao lu. Hãy làm iu ó! 31

Information

Microsoft Word - TH_Chuong8.doc

31 pages

Report File (DMCA)

Our content is added by our users. We aim to remove reported files within 1 working day. Please use this link to notify us:

Report this file as copyright or inappropriate

97431