Giao Trinh Thuc Hanh Visuabasic 60

Embed Size (px)

Citation preview

Visual Basic

CHNG 1 TNG QUAN V VISUAL BASIC 6.0

Mc tiu: Chng ny gii thiu v mi trng pht trin tch hp (IDE) Microsoft Visual Basic 6.0; cng nh gip sinh vin c ci nhn tng quan v Visual Basic. Hc xong chng ny, sinh vin phi nm bt c cc vn sau: - S dng mi trng pht trin tch hp VB 6.0 pht trin ng dng. - Cch to d n mi (New Project) trong VB 6.0. Kin thc c lin quan: - S dng h iu hnh Windows. Ti liu tham kho: - Visual Basic 6 Certification Exam Guide - Chapter 1, Page 1 - Dan Mezick & Scot Hillier - McGraw-Hill - 1998.

Trang 1

Visual Basic

I. Gii thiu v Visual Basic 6.0Visual Basic 6.0 (VB6) l mt phin bn ca b cng c lp trnh Visual Basic (VB), cho php ngi dng tip cn nhanh cch thc lp trnh trn mi trng Windows. Nhng ai tng quen thuc vi VB th tm thy VB6 nhng tnh nng tr gip mi v cc cng c lp trnh hiu qu. Ngi dng mi lm quen vi VB cng c th lm ch VB6 mt cch d dng. Vi VB6, chng ta c th : Khai thc th mnh ca cc iu khin m rng. Lm vic vi cc iu khin mi (ngy thng vi iu khin MonthView v DataTimePicker, cc thanh cng c c th di chuyn c CoolBar, s dng ha vi ImageCombo, thanh cun FlatScrollBar,). Lm vic vi cc tnh nng ngn ng mi. Lm vic vi DHTML. Lm vic vi c s d liu. Cc b sung v lp trnh hng i tng.

II. Ci t Visual Basic 6.0S dng chng trnh Setup, ngi dng c th ci t VB6 ln my tnh ca mnh. Chng trnh Setup ny cn ci t cc tp tin cn thit xem ti liu trn a CD MSDN (Microsoft Developer Network). Nu cn, ngi dng c th ci t ring phn ti liu v v d mu ca Visual Basic ln my tnh. ci t VB6, ngi dng nn kim tra my tnh ca mnh m bo c cu hnh ti thiu. Cc yu cu h thng ti thiu : - Microsoft Windows 95 tr ln hoc l Microsoft Windows NT Workstation 4.0 tr ln. - Tc CPU 66 MHz tr ln. - Mn hnh VGA hoc mn hnh c phn gii cao c h tr bi Microsoft Windows. - 16 MB RAM cho Microsoft Windows 95 hoc 32MB RAM cho Microsoft Windows NT Workstation.

III. Lm quen vi VB6III.1 Bt u mt d n mi vi VB6T menu Start chn Programs, Microsoft Visual Basic 6.0. Khi bn s thy mn hnh u tin nh hnh I.1 di y.

Trang 2

Visual Basic

Hnh I.1 Ca s khi kch hot VB6 Chn y, ngi dng c th chn to mi mt d n thc thi c bng cch chn Standard EXE ri nhp Open (Hnh I.2). Tip theo l ca s lm vic chnh ca VB6, gi tt l IDE (Integrated Development Environment) s c gii thiu chi tit trong phn sau.

III.2 Tm hiu cc thnh phn ca IDEIDE l tn tt ca mi trng pht trin tch hp (Integrated Development Environment), y l ni to ra cc chng trnh Visual Basic. IDE ca Visual Basic l ni tp trung cc menu, thanh cng c v ca s to ra chng trnh. Mi mt thnh phn ca IDE c cc tnh nng nh hng n cc hot ng lp trnh khc nhau.

Trang 3

Visual Basic

Hnh I.3 Ca s IDE ca VB6

Thanh menu cho php bn tc ng cng nh qun l trc tip trn ton b ng dng. Bn cnh thanh cng c cho php truy cp cc chc nng ca thanh menu thng qua cc nt trn thanh cng c. Cc biu mu (Form) - khi xy dng chng trnh chnh ca VB - xut hin trong ca s Form. Hp cng c thm cc iu khin vo cc biu mu ca n. Ca s Project Explorer hin th cc n khc nhau m ngi dng ang lm cng nh cc phn ca n. Ngi dng duyt v ci t cc thuc tnh ca iu khin, biu mu v module trong ca s Properties. Sau cng, ngi dng s xem xt v b tr mt hoc nhiu biu mu trn mn hnh thng qua ca s Form Layout.

III.3 S dng thanh cng c trong IDE ca VBThanh cng c l tp hp cc nt bm mang biu tng thng t di thanh menu. Cc nt ny m nhn cc chc nng thng dng ca thanh menu (New, Open, Save ...).

Hnh I.4 Thanh cng c dng standardTrang 4

Visual Basic

Hnh I.5 Popup menu thm, xa cng c

Hn na, ngi dng c th ko r thanh cng c trn IDE n v tr bt k no thun tin cho vic s dng. Ngi dng c th thm hay xa thanh cng c trn IDE: * Chn Toolbars t menu View hoc n chut phi vo im bt k no trn thanh menu, mt popup menu bt ra. * Chn loi thanh cng c m ta mun thm vo hoc xa i. Nu c nh du check bn tri th loi cng c ang c chn. S dng thanh cng c g ri (debug) Vi thanh cng c g ri, ngi dng c th thc thi, tm ngng hoc dng mt n. Vi thanh cng c Debug, ngi dng c th kim tra chng trnh v gii quyt cc li c th xy ra. Khi g ri chng trnh, ngi dng c th chy tng dng lnh, kim tra gi tr cc bin, dng chng trnh ti mt im no hoc vi mt iu kin no .

Hnh I.6 Thanh cng c g ri

S dng thanh cng c Edit Thanh cng c Edit c dng vit chng trnh trong ca s Code, thanh cng c Edit c y cc tnh nng ca menu Edit. Ngoi ra ngi s dng c th s dng chc nng vit chng trnh t ng nh l Hnh I.7 Thanh cng c Edit Quick Info. Thanh cng c Edit ca VB6 c tnh nng l th l t hon tt cc t kha. Tnh nng ny rt hu dng gip cho ngi dng trnh cc li mc phi do g sai t kha. S dng thanh cng c Form Editor

Hnh I.8 Thanh cng c thit k biu muThanh cng c Form Editor c chc nng ging nh menu Format dng di chuyn v sp xp cc iu khin trn biu mu.

Trang 5

Visual Basic

Trong qu trnh thit k biu mu, i khi chng ta phi s dng thuc tnh ZOrder cho php mt iu khin c th thay th mt iu khin khc hay khng hoc l xut hin bn trn mt iu khin khc hay khng. S dng hp cng c (Toolbox) Hp cng c l ni cha cc iu khin c dng trong qu trnh thit k biu mu. Cc iu khin c chia lm hai loi: iu khin c sn trong VB v cc iu khin c cha trong tp tin vi phn m rng l .OCX. i vi cc iu khin c sn trong VB th ta khng th g b khi hp cng c, trong khi i vi iu khin nm ngoi ta c thm hoc xa b khi hp cng c. Mt iu khin c th c a vo biu mu bng cch chn iu khin v a vo biu mu. Chng ta s tr li phn ny trong chng tip theo khi thit k cc biu mu. Hnh I.9 Hp cng c ca Visual Basic

III.4 Qun l ng dng vi Project ExplorerProject Explorer trong VB6 gip qun l v nh hng nhiu n.VB cho php nhm nhiu n trong cng mt nhm. Ngi dng c th lu tp hp cc n trong VB thnh mt tp tin nhm n vi phn m rng .vbp. Project Explorer c cu trc cy phn cp nh cy th mc trong ca s Explorer ca h iu hnh. Cc n c th c coi l gc ca cy, cc thnh phn ca n nh biu mu, module ... l cc nt ca cy. Khi mun lm vic vi thnh phn no th ta c th nhn p ln thnh phn trn ca s Project Explorer vo ca s vit code cho thnh phn . Hnh I.10 Ca s Project Explorer Khi lm vic vi mt d n ln, chng ta s thy Project Explorer cc k hu ch cho vic t chc v qun l mt d n ln.

III.5 Ca s PropertiesMi mt thnh phn, iu khin iu c nhiu thuc tnh. Mi mt thuc tnh li c mt hoc nhiu gi tr. Ca s Properties cho php ngi dng xem, sa i gi tr cc thuc tnh ca iu khin nhm gip iu khin hot ng theo ng ca ngi s dng.

Trang 6

Visual Basic

III.6 Ca s Form Layouty chnh l ca s trnh by biu mu cho php nh v tr ca mt hoc nhiu biu mu trn mn hnh khi chng trnh ng dng c thi hnh. Ta nh v mot bieu mau tren man hnh bang cach dung chuot di chuyen bieu mau trong ca so Form Layout. S dng ca s Form Layout khng n gin nh cc ca s khc v n khng c kch hot sn, ngi dng cn phi chy ng dng sau mi c th b tr c cc biu mu thng qua Form Layout. Nu ta khng nh v cc biu mu th v tr ca biu mu trn mn hnh lc thit k cng l v tr khi ng ca biu mu khi thc thi.

Hnh I.12 Ca s Form III.7 Bin dch n thnh tp tin thc thi L Sau khi n hon thnh, ngi dng c th bin dch thnh tp tin thc thi tc. Cch tin hnh nh sau: - Trc tin ta cn ch cho VB6 bit phn chng trnh no s c thc thi trc bng cch chn Project Properties t menu Project. Chn tab General, ch phn Startup Object, y l ni quy nh im khi u ca chng trnh sau khi bin dch kt thc. - T menu File, chn Make ... EXE... Mt hp thoi xut hin cho php bn nhp vo tn ca tp tin thc thi. Bn ch cn g tn tp tin, VB s t ng thm phn m rng .EXE. - Nhn vo nt Options m hp thoi Project Properties v in tn ca ng dng vo Title, ta c th ghi ch thng tin cho tng phin bn trong phn Version Information. Ta c th chn Auto Increment VB t ng tng s Revision mi ln ta to li tp tin EXE cho d n. - Cui cng, nhn OK tr v hp thoi Make Project.

Trang 7

Visual Basic

CHNG 2 BIU MU V MT S IU KHIN THNG DNGMc tiu: Chng ny gii thiu v mt s iu khin c bn to nn giao din cho cc ng dng cng nh mt s khi nim trong lp trnh vi VB; nhng yu cu ti thiu cn c trong vic lp trnh s kin vi VB. Hc xong chng ny, sinh vin phi nm bt c cc vn sau: - Khi nim v iu khin, thuc tnh, phng thc, s kin. - Quy tc t tn danh biu trong VB. - S dng biu mu trong thit k giao din. - S dng iu khin nhp liu, nt nhn, nhn, khung. Kin thc c lin quan: - Cch thc s dng mi trng pht trin VB. Ti liu tham kho:- Microsoft Visual Basic 6.0 v Lp trnh C s d liu - Chng 2, trang 26; Chng 3, trang 29 - Nguyn Th Ngc Mai (ch bin), Nh xut bn Gio dc - 2000.

Trang 8

Visual Basic

I. Cc khi nimiu khin: Cc thnh phn c sn ngi lp trnh to giao din tng tc vi ngi dng. Mi iu khin thc cht l mt i tng, do vy n s c mt s im c trng cho i tng, chng hn nh cc thuc tnh, cc phng thc & cc s kin. Thuc tnh: Cc c trng ca mt iu khin to nn dng v ca iu khin . Phng thc: Cc iu khin c th thc thi mt s tc v no , cc tc v ny c nh ngha sn bn trong cc phng thc (cn gi l chng trnh con: hm & th tc), ngi lp trnh c th gi thc thi cc phng thc ny nu cn. S kin: l hnh ng ca ngi dng tc ng ln ng dng ang thc thi. Th d: - Nhn phm bt k trn bn phm. - Nhp chut. Cc thnh phn giao din c kh nng p ng li s kin. Chng hn khi chng ta nhp chut vo button, lc button nhn bit c s kin ny; hay nh textbox nhn bit c s kin bn phm tc ng ln n. Mt ng dng trn Windows thng c thc hin nh vo vic p ng li cc s kin ca ngi dng. Lp trnh s kin: Cc thnh phn giao din c kh nng nhn bit c cc s kin t pha ngi dng. Tuy nhin kh nng p ng li cc s kin c thc hin bi ngi lp trnh. Khi mt thnh phn giao din c s dng, ngi lp trnh phi xc nh chnh xc hnh ng ca thnh phn giao din p ng li mt s kin c th. Lc ngi lp trnh phi vit on m lnh m on m lnh ny s c thc thi khi s kin xy ra. Chng hn, trong ng dng Paint ca Windows; khi ngi s dng nhp chut vo nt v hnh elip sau dng chut v n trn ca s v, mt hnh elip c v ra. Trong lp trnh s kin, mt ng dng c xy dng l mt chui cc p ng li s kin. Tt c cc hnh ng ca ng dng l p ng li cc s kin. Do vy ngi lp trnh cn phi xc nh cc hnh ng cn thit ca ng dng; phn loi chng; sau vit cc on m lnh tng ng. Th d v p ng li s kin: M lnh- M lnh cho s kin Click ca Ghi a. --------------------------------------------------------------------------------------------------- M lnh cho s kin Click ca In giy ---------------------------------------------------------------------------------------------------

Hnh II.1: Th d v p ng s kin Trang 9

Visual Basic

- Khi ngi dng khng tc ng vo ng dng, ng dng khng lm g c. - Khi ngi dng nhp d liu vo cc nhp H v tn, a ch; s kin bn phm xy ra trn cc nhp. Tuy nhin, ng dng vn khng lm g c v khng c on m lnh no p ng cc s kin ny. - Khi ngi dng nhp nt chn Ghi a, ng dng tm kim trong m lnh ca mnh thy c on m lnh p ng li s kin ny; lc on m lnh c thc thi. - Tng t nh vy i vi nt chn In giy. Cch xc lp cc thuc tnh & cc phng thc trong chng trnh . .[()] Tn iu khin (thuc tnh Name) y l thuc tnh xc nh tn ca iu khin trong ng dng. Tn ny c t theo quy tc: o Tn c th di t 1 - 40 k t. o Tn phi bt u vi k t ch, c th ch hoa hay thng. o Sau k t u tin, tn c th cha k t, s hay du gch di. V d: Num, StudentCode, Class12A2 l nhng tn hp l. 345, 7yu l nhg tn khng hp l.

II. Biu mu (Form)II.1. Khi nim:Chng trnh ng dng giao tip vi ngi dng thng qua cc biu mu (hay cn gi l ca s, xut pht t ch Form hay Windows); cc iu khin (Control) c t ln bn trn gip cho biu mu thc hin c cng vic . Biu mu l cc ca s c lp trnh nhm hin th d liu v nhn thng tin t pha ngi dng.

II.2. Thuc tnho Name: thuc tnh ny nh l mt nh danh nhm xc nh tn ca biu mu l g? Ta s s dng thuc tnh ny truy xut n cc thuc tnh khc cng vi phng thc c th thao tc c trn biu mu. o Caption: chui hin th trn thanh tiu ca biu mu.

o Icon: hnh icon c dng trong thanh tiu ca biu mu, nht l khi biu mu thu nh li.

o WindowState: xc nh biu mu s c kch thc bnh thng (Normal=0), hay Minimized (=1), Maximized =(2).

Trang 10

Visual Basic

nm trn n tha k. Tc l khi ta t mt iu khin ln biu mu, thuc tnh Font ca iu khin y s t ng tr nn ging y ca biu mu.

o Font: xc lp Font cho biu mu. Thuc tnh ny s c cc iu khin

o BorderStyle: xc nh dng ca biu mu.II.3. Phng thco Move: di chuyn biu mu n ta X,Y: Move X, Y.

II.4. S kinto ra th hin u tin ca biu mu. Ta dng s kin Form_Initialize thc hin nhng g cn phi lm chung cho tt c cc th hin ca biu mu ny. Nu ta ch dng mt th hin duy nht ca mt biu mu trong chng trnh th Form_Load coi nh tng ng vi Form_Initialize.

o Form_Initialize: S kin ny xy ra trc nht v ch mt ln thi khi ta

o Form_Load: S kin ny xy ra mi ln ta gi th hin mt biu mu.

Ta dng s kin Form_Load khi to cc bin, iu khin cho cc th hin ca biu mu ny. kin Activate pht sinh. Ta thng dng s kin ny cp nht li gi tr cc iu khin trn biu mu. Form_QueryUnload: Khi ngi s dng chng trnh nhp chut vo nt X pha trn bn phi ng biu mu th mt s kin QueryUnload c sinh ra. on chng trnh con di y m t th tc x l s kin QueryUnload.Private Sub Form_QueryUnload(Cancel As Integer, _ UnloadMode As Integer) End Sub

o Form_Activate: Mi ln mt biu mu c kch hot (active) th mt s

o

S kin ny cho ta kh nng hy b hnh ng ng biu mu bng cch t li Cancel l 1.

o

Form_Resize: S kin ny xy ra mi khi biu mu thay i kch thc.

III. Nhn (Label)III.1. Khi nim:Nhn l iu khin dng ha cho php ngi s dng hin th chui k t trn biu mu nhng h khng th thay i chui k t mt cch trc tip. Biu tng (shortcut) trn hp cng c:

III.2. Thuc tnh:o Name: y l mt tn xc nh mt nh danh, ngi lp trnh c th thay i tn ny theo cch ca mnh tin s dng.

Trang 11

Visual Basic

o Caption: Thuc tnh quy nh chui k t hin th khi ta to mt iu khin nhn. Khi ta to mi mt iu khin th thuc tnh Caption c gi tr mc nhin l Label. V d: Ta mun to mt nhn l Cho mng bn n vi Visual Basic, ta thay i gi tr ca thuc tnh Caption thnh Cho mng bn n vi Visual Basic. Ta c th thay i gi tr ca thuc tnh Caption ti thi im ng dng ang chy nh vo on m lnh n gin nh sau: L1.Caption = " i gi tr Caption" vi L1 l tn ca iu khin nhn m ta mun i. o Font, Fore Color: Quy nh kiu ch, kch thc, mu hin th. o BackStyle, BackColor: BackStyle quy nh l nhn trong sut hay khng. BackColor quy nh mu nn ca nhn trong trng hp khng trong sut.

III.3. Phng thc:o Move: di chuyn nhn n ta X,Y: Move X, Y.

III.4. S kin:o Change: Xy ra mi khi nhn thay i gi tr. o Click: Mi khi nhn c chut nhp ln, s kin ny xy ra. o DblClick: Xy ra khi ngi s dng nhp p chut ln iu khin nhn.

IV. Khung (Frame)IV.1. Khi nim:Khung l mt iu khin dng trong vic b tr giao din ca biu mu mt cch trong sng v r nt. Thng thng cc iu khin cng phc v cho mt cng vic no s c t trong mt khung nhm lm ni bt vai tr ca chng. Biu tng (shortcut) trn hp cng c: Khi chng ta to mi mt khung cha cc iu khin khc, ta c hai cch thc hin: - To khung cha trc, sau a cc iu khin vo trong khung cha. y l cch n gin nht. - To khung cha sau khi to mi cc iu khin, khi khung cha s che mt cc iu khin, v vy ta cn phi a khung cha ra sau cc iu khin bng cch nhp chut phi v chn Send to Back. Nhng i vi cch ny, cc iu khin khc khng nm trn khung cha. Do vy ta c th gii quyt bng cch ct (Cut) cc iu khin ny i, sau dn (Paste) vo trong khung cha.

Trang 12

Visual Basic

Hnh II.2 V d v khung cha (Frame)

IV.2. Thuc tnh:Khung cng c cc thuc tnh thng dng nh ca iu khin nhn chng hn nh: Name, Caption,...

IV.3. Phng thc:o Move: di chuyn khung n ta X,Y: Move X, Y.

IV.4. S kin:o Click, DblClick: xy ra khi khung nhn c mt thao tc nhp (nhp p) chut.

V. Nt lnh (Command Button)V.1. Khi nim:Nt lnh l mt iu khin dng bt u, ngt hoc kt thc mt qu trnh. Khi nt lnh c chn th n trng nh c nhn xung, do nt lnh cn c gi l nt nhn (Push Button). Ngi s dng lun c th chn mt nt lnh no bng cch nhn chut trn nt lnh . Biu tng (shortcut) trn hp cng c:

V.2. Thuc tnh:o Name: s dng nh mt nh danh nhm xc nh tn ca nt lnh. o Caption: Dng hin th mt chui no trn nt lnh. o Default: Nu gi tr ca thuc tnh ny l True th ta c th chn nt lnh bng cch nhn phm Enter. o Cancel: Nu gi tr ca thuc tnh ny l True th ta c th chn nt lnh no bng cch nhn phm ESC. o Enabled: Trong mt biu mu, c th c nhiu nt lnh thc hin nhiu cng vic khc nhau v ti mt thi im no ta ch c php thc hin mt s cng vic. Nu gi tr thuc tnh Enabled l False th nt lnh khng c tc dng. Gi tr mc nh ca thuc tnh ny l True. Ta c th thay i gi tr ca thuc tnh ti thi im chy ng dng. Trang 13

Visual Basic

o ToolTipText: cho php hin th mt on vn bn ch thch cng dng ca nt lnh khi ngi s dng dng chut r trn nt nhn. o Font, Fore Color: Quy nh kiu ch, kch thc, mu hin th.

V.3. Phng thco Move: di chuyn nt lnh n ta X,Y: Move X, Y.

V.4. Phng thco Click: y l s kin thng xy ra vi nt lnh. Mi khi mt nt lnh c chn, s kin ny c kch hot. Do , ngi s dng s vit m cc lnh p ng li s kin ny. V d: To mt biu mu c mt nhp liu vi nhn l h tn v mt nt lnh cho php a ra cu cho ngi dng .Private Sub Command1_Click() MsgBox "Chao mung ban " & Text1.Text & _ " lam quen voi Visual Basic" End Sub

Click here Hnh II.3 S dng nt lnh

VI. nhp liu (TextBox)VI.1. Khi nim: nhp liu l mt iu khin cho php nhn thng tin do ngi dng nhp vo. i vi nhp liu ta cng c th dng hin th thng tin, thng tin ny c a vo ti thi im thit k hay thm ch thi im thc thi ng dng. Cn thao tc nhn thng tin do ngi dng nhp vo d nhin l c thc hin ti thi im chy ng dng. Biu tng (shortcut) trn hp cng c

VI.2. Thuc tnh:o Name: y l tn ca nhp liu, c s dng nh mt nh danh. o MaxLength: Thuc tnh quy nh s k t ti a c th nhp vo nhp liu. Nu s k t nhp vo vt qu s k t ti a th ch c ng s k t ti a c ghi nhn vo trong thuc tnh Text. Trang 14

Visual Basic

o Text: Dng nhp vo thng tin cn hin th trong Textbox ti thi im thit k hoc nhn gi tr do ngi dng nhp vo ti thi im chy ng dng. V d:MsgBox Text1.Text

on m ny vit trong s kin Click ca nt lnh OK. Cho php hp thng bo hin th ni dung do ngi dng nhp vo nhp liu.

Hnh II.3 V d v iu khin nhp liu

o Locked: Thuc tnh cho php ngi dng thay i ni dung ca nhp liu c hay khng? Thuc tnh ny c th nhn 2 gi tr True hoc False. Nu False th ngi dng c th thay i ni dung ca nhp liu & mc nh th thuc tnh ny c gi tr l False. o PasswordChar: Thuc tnh ny quy nh cch hin th thng tin do ngi dng nhp vo. Chng hn, nu ta nhp vo gi tr thuc tnh ny l * th cc k t nhp vo iu hin th bi du * . Thuc tnh ny thng c dng trong trng hp thng tin nhp vo cn c che giu (V d mt khu ng nhp mt chng trnh ng dng no m trong cc ngi dng khc nhau th c cc quyn khc nhau). o Multiline: Thuc tnh quy nh nhp liu c c hin th thng tin di dng nhiu hng hay khng, nu l TRUE th nhp liu cho php nhiu hng. o Font, Fore Color: Quy nh kiu ch, kch thc, mu hin th. o SelLength:Cho php tr v hoc t trc s lng k t c chn trong nhp liu. o SelStart: Tr v hoc xc nh im bt u ca chui c chn. y l v tr bt u chn mt chui mi trong trng hp khng c nh du chn chui. o SelText: Tr v hoc xc nh chui k t c nh du chn, chi tr v s l rng nu nh khng nh du chn chui no. Ba thuc tnh SelLength, SelStart, SelText ch c tc dng ti thi im chy ng dng.

VI.3. Phng thco Move: Di chuyn nhp liu n ta X, Y: Move X, Y.

Trang 15

Visual Basic

o SetFocus: Phng thc ny nhm mc ch thit lp cho iu khin nhp liu nhn c Focus, ngha l n sn sng c tng tc bi ngi s dng.

VI.4. S kin:o KeyPress: xy ra khi ngi s dng chng trnh nhn mt phm. i vi iu khin TextBox, ta thng dng n lc (filter out) cc phm khng chp nhn. S kin KeyPress cho ta mt m Ascii, mt s c gi tr t 0 n 255, ca phm va nhn. Trong v d di y, TextBox Text1 s ch nhn bit cc phm l s (0 - 9), khng nhn bit cc phm khc:Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then M Ascii ca 0 l 48, ca 9 l 57 KeyAscii = 0 End If End Sub

o KeyDown, KeyUp: mi s kin KeyPress li cho ta mt cp s kin KeyDown/KeyUp. S kin KeyDown/KeyUp c 2 tham s l KeyCode v Shift. S kin ny cho php ta nhn bit c cc phm c bit trn bn phm. Trong v d di y, ta hin th tn cc phm chc nng m ngi s dng chng trnh nhn vo:Private Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer) If (KeyCode >= 112) And (KeyCode So snh ln hn < So snh nh hn >= So snh ln hn hoc bng Microsoft Access 9.0 Object Library. - Sau ta to mt i tng nh l i tng ng dng ca Access nh sau: Dim MSAccess As Access.Application - Sau ta cn to mi i tng ny cng nh to mt tham chiu n c s d liu cha bo co: Set MSAccess = New Access.Application MSAccess.OpenCurrentDatabase(Database Name) - S dng thuc tnh DoCmd thi hnh bo co: MSAccess.DoCmd.OpenReport "Report Name",acViewNormal - ng c s d liu: MSAccess.CloseCurrentDatabase Lu : Trnh dng rng buc tr vi Automation Phin bn c ca Automation l OLE Automation, dng trong VB 3.0 v Microsoft Access 2.0. Trong VB 3.0, ta c th vit chng trnh nh sau: Dim MSAccess As Object Set MSAccess = CreateObject(Access.Application) on chng trnh trn hot ng tt i vi VB 3.0 nhng c mt cch khc tt hn. Thay v dng kiu Object, ta nn ch r kiu d liu i tng m Automation Server cung cp (chng hn Access.Aplication nu l Access). Bi v khi , VB khng cn thi hnh cu truy vn trn Automation Server mi Trang 150

Visual Basic

khi ta truy cp n xc nh kiu i tng cn to. K thut ny gi l rng buc tr, gi y ch ph hp vi 2 tnh hung: - Ta khng bit trc kiu i tng Automation Server. - Ta ang s dng mt mi trng pht trin ng dng khng h tr rng buc sm, nh VBScript hay ASP.

II. S DNG THIT K DATA REPORTThit k bo co dng DataReport l im mi trong VB6, y l mt cng c c h tr bi VB6, cung cp mt cch trc quan v thit k bo co v c u dim l rt d dng.

II.1 Thit k vi DataReport- Chn Project -> Components. - Chn Tab Designers, nh du chn Data Report.

Hnh 13.1 a thit k bo co v n Cc thnh phn ca mt bo co nh sau: -

Report Header: Hin th mt ln u bo co.- Report Footer: Hin th mt ln cui bo co. - Page Header: Hin th ti u mi trang. - Page Footer: Hin th ti cui mi trang.

- Detail Section: Hin th cc dng d liu.- Mt hoc nhiu nhm u cui hin th ti u v cui mi phn nhm. Cc iu khin ca thit k Data Report nh sau: - iu khin nhn (Rpt Label). - iu khin hp vn bn (Rpt Textbox). - iu khin nh (Rpt Image). - iu khin hnh dng (Rpt Shape).

Trang 151

Visual Basic

- iu khin cc hm tnh ton (Report Function: rptFuncSum, rptFuncAve, rptFuncMin, rptFuncMax).

Hnh 13.2 Ca s Data Report Cc iu khin ca Data Report cng ging nh l cc iu khin chun trn biu mu, chng c th rng buc vi ngun d liu. Tuy nhin, ta c mt cch thc khc d dng hn l s dng mi trng d liu (c gii thiu chng trc). S dng DataEnvironment trong vic to DataReport: Qu trnh thc hin tri qua cc bc sau: - To i tng Command. - Ko th cc trng ca i tng Command ny vo thit k ca Report. - Thm cc tiu u trang & cui trang. V d: To bo co v cc sinh vin trong bng STUDENT thuc c s d liu Student. - Bc 1: To mt CSDL Student trong Environment, thm mt Command cho php ly d Student. ni kt n trnh Data i tng liu t bng

- Bc 2: Ko th cc trng cn hin th vo bo co ti mc Detail, ch gi li trng lin quan n thng tin d liu (t trong phn Detail Section). Thit Hnh 13.3 Thit lp Data Environment Trang 152

Visual Basic

lp tn trng di dng ting Vit ti phn Page Header. - Bc 3: Cung cp cc thng tin cho php DataReport nhn d liu t u bng cch xc lp: DataSource: DataEnvironment1, DataMember: Student.

Hnh 13.4: Report khi ko th cc trng Thit k bo biu c phn nhm d liu - Chn i tng Command ca trnh DataEnvironment cn nhm c s d liu. - Hin th trang thuc tnh, chn Tab Grouping. - Chn ty chn Group Command Object. - t tn cho nhm cng nh chn cc trng tham gia vo nhm d liu. - t li gi tr cho thuc tnh Data Member ch n ni kt mi nhm d liu. - Chn bo co thit k, n chut phi, chn Insert Group Header/Footer. - Chn tn trng nhm d liu a Hnh 13.4: Nhm d liu vo on Group Header. Khi bo co c thit k nh sau:

Trang 153

Visual Basic

II.2 Xem v xut Data ReportTa c th xem thng tin v in bo co trn mt ca s ring bit s dng ch Print Preview bng cch thi hnh phng thc Show. Khi bo co s c hin th nh sau:

Hnh 13.6: Thi hnh bo co trong VB

Khi ngi s dng c th duyt qua cc trang nu nh bo co c nhiu trang, cng nh chn mt trang bo co no in. Ngoi ra ngi dng c th chn Export bo co ca mnh ra tp tin c nh dng khc, cc loi nh dng y c th l tp tin vn bn, tp tin HTML. Ta c th chn la xut mt s trang c th no hoc ton b bo co.

Hnh 13.7: Hp thoi xut bo co

Trang 154

Visual Basic

III. S DNG CRYSTAL REPORT LP BO COCrystal Report cho php to bo co c s d liu trong ng dng vit bng VB. N gm 2 phn ch yu: - Trnh thit k bo co xc nh d liu s a vo bo co v cch th hin ca bo co. - Mt iu khin ActiveX cho php thi hnh, hin th, iu khin v in bo co khi thi hnh ng dng. Crystal Report khng c sn khi ci VB6, ta cn ci t thm. Chng trnh ci t Crystal Report ch c trn bn Professional. Chy tp tin Crystl32.exe trong th mc \COMMON\TOOLS\VB\CRYSREPT. III.1 Thit k bo co Mt im khc bit khi dng Crystal Report l ta khng thit lp bo co i i vi ng dng c th. Ta s xy dng bo co trc v sau s gi thi hnh bo co t pha ng dng, bo co khng phi l mt b phn thuc ng dng. Ca s thit k Crystal Report nh hnh bn di:

Hnh 13.8 Ca s Crystal Report Khi ta chn to mt bo co mi, Crystal Report trnh by mt hp thoi cho php la chn mt trong nhiu nhng khun mu bo co nh sn.

Hnh 13.9 Hp thoi chn cc mu Trang 155

Visual Basic

Kiu bo co Standard Listing Cross-Tab Mail label Summary Graph Top N Drill Down Another

M t Bo co sp xp thng tin theo dng v ct, cho php nhm d liu. Bo co l danh sch d liu lin tc khng c tng kt hay trng tng cng.. Sp xp d liu theo hai chiu. Bo co c thit k in d liu theo ct cho nhn th. Bo co ch hin th thng tin tng qut, khng cha d liu chi tit. Bo co th hin d liu mt cch trc quan bng biu Bo co cho php ch hin th mt s mu tin c chn Bo co cho php nhn p chut ln d liu tng qut hin th d liu chi tit. Cc bo co c khun mu do ngi dng nh ngha trc .

Chng ta xt qua mt v d s dng Crystal Report lp bo co - Khi ng Crystal Report v chn New, chn kiu bo co l Standard. - Tip theo chn Data File. - Trong hp thoi chn tp tin c s d liu, ta ch n mt tp tin c s d liu, sau n nt Done. Ta s thy cc bng cng nh cc quan h gia cc bng c hin th.

Hnh 13.10 Hp thoi quan h gia cc bng

Quan h gia cc bng c xc nh mc thit k c s d liu nn ta khng cn phi thay i nhng mi lin kt ny. - Nhn nt Next qua bc tip theo, ta s chn nhng trng tham gia vo bo co. - Bc k tip ta chn qua Tab Sort thc hin vic sp xp d liu. - Tab Style cho php chn cc dng khc nhau ca bo co. - Sau khi thit k xong, ta n Save lu li bo co. Trang 156

Visual Basic

Khi m li bo co thit k, ta thy Crystal Report hin th bo co hai mc, thit k v duyt trc.

Hnh 13.11: Ca s xem trc bo co v thit k bo co III.2. Thi hnh bo co trong ng dng thng qua iu khin ActiveX ca Crystal Report Bc u tin c th thi hnh bo co Crystal Report, ta cn tham kho n iu khin ActiveX ca Crystal Report bng cch thm cng c Crystal Report vo n ca chng ta. Chn cng c Crystal Report v a vo ng dng, biu tng trn hp cng c nh sau. Trong s kin Click ca mt nt lnh, ta vit on m sau: Private Sub Command1_Click() CrystalReport1.ReportFileName = "d:\VB\bc.rpt" CrystalReport1.PrintReport End Sub Thuc tnh ReportFileName xc nh ng dn cng nh tn tp tin bo co. Vic thi hnh bo co c thc hin nh vo thuc tnh PrintReport. Ngoi ra, bo co c th thi hnh bng cch hin th trn mt ca s khc hoc l xut ra thng trn my in, Ta thit t thuc tnh qua hp thoi thuc tnh.

Hnh 13.11 Hp thoi xc lp thuc tnh Trang 157

Visual Basic

Bo co thi hnh trn mt ca s ring bit, ta c th la chn nhiu cng vic nh xem qua cc trang, in n bo co, phng to thu nh

Hnh 13.12: Bo co Crystal Report

LI KTChng Thit lp bo co cng l chng kt thc ca gio trnh Visual Basic. Tuy nhin lp trnh s kin v lp trnh c s d liu vi VB ch l mt phn trong nhng kh nng m VB mang li. Hy vng chng ti s gp li bn c trong nhng chuyn khc ca VB.

Trang 158