Professional Documents
Culture Documents
Visual Basic
Trang 1
I. S DNG MT S IU KHIN
I.1 Bi tp c hng dn
Bi tp 1I-1
90
Hnh 1.1: Thao tc vi List Box
Bc 3: Chy ng dng bng cch chn Run/Start. List1 hin th 3 phn t va thm
vo bc 2. Chm dt chng trnh bng cch chn Run/End trn menu tr v
mi trng son tho.
Bc 4: Nhp p ln Button Command1 hin th s kin Click ca Command1.
Bc 5: Mc ch ca Command1 l chuyn nhng phn t c chn t List1 sang
List2. Thm on m sau vo th tc s kin Click ca Command1:
' Kiem tra neu mot phan tu duoc chon
If Form1.List1.ListIndex = -1 Then Exit Sub
' Chep cac phan tu duoc chon tu List1 sang List2
Form1.List2.AddItem Form1.List1.List(Form1.List1.ListIndex)
Bc 6: Chy ng dng. Nhp phn t th nht ca List1, sau nhp Command1.
iu g xy ra? Phn t c chn ca List1 phi c hin th bn List2. Chm dt
ng dng v tr v mi trng son tho.
Bc 7: Tm trong phn tr gip cc thuc tnh sau ca ListBox:
o ListCount
o List
Trang 2
Bi tp 1I-2
THAO TC VI SPINCONTROL
Trang 3
Item1: TextBox
Name: Text1
Text: <blank>
Item2: Horizontal Scroll Bar
Name: Hscroll1
LargeChange: 10
Max: 100
Bc 3: Nhp p ln scrollbar nhp m lnh, y l s kin Change ca Scroll
Bar gi l hm HScroll1_Change. Thm on m sau hin th gi tr hin thi ca
scroll bar trong TextBox.
Text1.Text = HScroll1.Value
Bc 4: Chy ng dng bng cch chn Run/Start trn menu. By gi nhp cc mi
tn tri v phi ca scroll bar. Gi tr trong TextBox phi thay i.
Bc 5: By gi thm m thay i gi tr bng cch nhp trc tip gi tr trong
TextBox. Nhp p vo TextBox v thm on m sau thit lp gi tr cho scroll
bar khi TextBox thay i:
HScroll1.Value = Text1.Text
Bc 6: Chy chng trnh v nhp 50 vo TextBox. Vch ca scroll bar thay i
theo. Thay i vch ca scroll bar, gi tr trong TextBox cng thay i.
Bc 7: Trong khi chy chng trnh, nhp k t A vo TextBox. iu g xy ra?
Nguyn nhn v scroll bar ch nhn cc gi tr l s ch khng phi k t.
Bc 8: ngn chn nhng k t khng mong mun c nhp vo TextBox, ta s
dng s kin KeyPress. S kin ny xy ra khi c mt phm trn bn phm c nhn,
nhng trc khi gi tr thc s c hin th trn TextBox. S kin ny nhn mt gi
tr s nguyn ca phm c nhn, gi l ASCII. Mi k t trn bn phm c i
din bng mt m ASCII duy nht. Do ta c th kim tra phm no c nhn v b
qua n nu ta thy khng cn thit.
Bc 9: Thm on m sau vo s kin Text1_KeyPress ngn chn cc gi tr
khng phi l s.
' Loai bo ky tu khong can thiet
Trang 4
Bi tp 1I-3
DriveListBox
Name: drvSource
DirListBox
Name: dirSource
FileListBox
Name: filSource
Pattern: *.bmp;*.wmf;*.ico;*.jpg
ImageBox
Name: ImgSource
Stretch: TRUE
Trang 5
Bi tp 1I-4
IU KHIN OLE
Bc 1: To d n mi, trong ta c s dng OLE.
Hp thoi Insert Object hin ra ta la chn, y chn kch hot Create
New, Object Type l Bitmap Image; nh du chn Display as Icon.
Trang 6
I.2 Bi tp t lm
1) Thit k chng trnh nh sau:
Hnh I.8: Ta cc
im
3) Vit chng trnh cho php nhp vo bn knh r ca mt hnh trn. Tnh chu vi v
din tch ca hnh trn theo cng thc :
Chu vi
CV = 2*Pi*r
Din tch
Dt = Pi*r*r
Hin th cc kt qu ln mn hnh.
4) Thit k chng trnh c giao din nh hnh di v thc hin cc chc nng sau:
Trang 8
Case 18 To 30
Label2.Caption = "Ban da truong thanh, lap gia dinh
thoi!"
Case 31 To 60
Label2.Caption = "Lua tuoi trung nien roi!"
Case Else
Label2.Caption = "Ban co con chau day dan roi
nhe!"
End Select
Bi tp 1II-2
BIN V CU TRC
Bc 1: To th mc Basic\Bt1II-2. To d n mi (VB Standard EXE) trong th
mc trn; thm mt modul vo d n, trong modul nay thm vo on m sau:
Public Const tieude As String = "Quan ly hanh chinh"
Public Const sohieu As String = "1.0"
Thm on m sau vo hm x l s kin Form_Load ca Form1:
Form1.Caption = tieude & " phien ban " & sohieu
Chy ng dng, ta thy tiu ca Form: Quan ly hanh chinh phien ban 1.0.
By gi, m Modul1 v thay Public bng Private. Chy chng trnh. iu g
xy ra?
Bc 2: i cc khai bo trn thnh Public, thm dng sau y vo u th tc
Form_Load:
tieude = Loi xuat hien & Hang so khong the thay doi duoc.
Chy chng trnh, iu g xy ra?
Bc 3: Thm dng sau trong hm x l s kin Form_Resize:
MsgBox FORM RESIZE
Bc 4: Chy chng trnh, khi Form bt u c hin th (s kin Form_Load), s
kin Resize ca Form c thc hin. Ch c hm x l s kin Resize mi cho bit
chc rng hm Form_Load c thc thi. kim chng ta to mt bin trn form v
trong hm Form_Load ta thit lp gi tr ca n. Sau , hm Form_Resize c th
kim tra bin v x l trn bin ny.
Bc 5: Khai bo mt bin Private trong Form1 tn sukienLoad:
Private sukienLoad As Boolean
Trong hm Form_Load, t gi tr True cho bin trn:
sukienLoad = True
By gi ta kim tra gi tr ca bin trong hm Form_Resize. Thm vo on m
sau trong hm Form_Resize:
If sukienLoad = True Then
SukienLoad =False
Exit Sub
End If
MsgBox Form Resize
Trang 10
Bi tp 1II-3
LA CHN VI LISTBOX
Bc 1: To th mc Basic\Bt1II-3. To d n mi VB Standard EXE trong th mc
trn, sau to Form c dng sau:
Trang 11
Bi tp 1I -4
Trang 13
2
3
Bi tp 1II-5
THAM S TY CHN
Bc 1: To th mc tn Basic\Bt1II-5. To d n mi trong th mc ny.
Bc 2: To Form nh sau:
Trong :
Label: Name: lblTg
Button 1: Name: cmdGioPhut
Button 2: Name: cmdGioPhutGiay
Bc 3: Thm modul mi vo d n tn Modul1. Chn Tool\ Add Procedure to th
tc:
Name: Laythoigian
Type: Sub
Scope: Public
Bc 3: Thm on m sau vo th tc trn:
Public Sub Laythoigian(gio As String, phut As String, Optional giay As String)
' Tham so thu 3 co tu khoa Optional, nghia la ta
' co the goi thu tuc co the co tham so nay hay khong co deu duoc
Trang 15
PARAM ARRAY
Bc 1: To th mc Basic\Bt1II-6. To d n mi trong th mc ny.
Bc 2: To Form nh hnh sau:
Trang 16
Trang 17
X L CHUI
Bc 1: To d n mi trong th mc Basic\Bt2-7 vi giao din nh sau:
1
2
3
4
Hnh I.16: X l
chui
Bi tp 1II-8
X L LI
Bc 1: To mt d n mi. Dng Tools\Add Procedure thm mt th tc mi tn
GoiThuTuc vo Form1 vi ni dung nh sau:
Public Sub GoiThuTuc()
Dim bien As Integer
MsgBox "Truoc khi gan tri cho bien"
bien = "Bien nguyen khong nhan gia tri la chuoi"
MsgBox "Sau khi gan tri cho bien: " & "Bien = " & Format(bien)
End Sub
Bc 2: Th tc x l s kin Form_Load c ni dung nh sau:
Private Sub Form_Load()
MsgBox "Truoc khi goi thu tuc"
Call GoiThuTuc
MsgBox "Sau khi goi thu tuc"
End Sub
Lu d n vo th mc Basic\Bt1II-8:
Form: tn l form1
Project: Debug
Bc 3: Chy chng trnh. VB a ra hp thoi bt li (debug) chng trnh. Ta
chn End tr v ca s son tho.
To tp tin thc thi tn Debug.exe bng cch chn File\Make Debug.exe. Chy
tp tin Debug.exe t Windows Explorer ta nhn c hp thoi bo li v chng
trnh t ng chm dt.
Nhn xt kt qu khi thc hin chng trnh.
Bc 4: By gi ta thm vo on m x l li trong th tc ca s kin Form_Load:
Private Sub Form_Load()
On Error GoTo Xulyloi
MsgBox "Truoc khi goi thu tuc"
Call GoiThuTuc
MsgBox "Sau khi goi thu tuc"
Thoat:
Exit Sub
Xulyloi:
Trang 19
II.2 Bi tp t lm
1) Thit k chng trnh cho php nhp vo cc h s a, b ca phng trnh bc 1
dng: ax+b=0; sau gii phng trnh ny. Giao din chng trnh c th nh sau:
Trang 20
2
3
k
+
+ ... +
N.
1* 3 2 * 4
(k 1) * (k + 1)
10) Thit k chng trnh cho php nhp vo 2 s nguyn A, B; sau tm UCLN v
BCNN ca hai s a v b theo thut ton sau ( K hiu UCLN ca a, b l (a,b)
cn BCNN l [a,b])
- Nu a chia ht cho b th (a,b) = b
- Nu a = b*q + r th (a,b) = (b,r)
- [a,b] = a*b/(b,r)
Trang 22
N!
.
K !*( N K )!
13) Thit k chng trnh cho php nhp vo s thc X v s nguyn N; sau vit
cc hm tnh cc tng sau ri hin th kt qu:
- S= 1 + x +x2 + x3 + ... + xn
- S= 1 - x +x2 - x3 + ... (-1)n xn
- S= 1 + x/1! +x2/2! + x3/3! + ... + xn/n!
14) S dng vng lp Do While Loop thit k chng trnh cho php nhp vo mt
s nguyn, sau thng bo kt qu xem s c phi l s nguyn t hay khng?
on chng trnh kim tra s nguyn N c nguyn t hay khng:
i=2
Do While (i < N) And (N Mod i <> 0)
i=i+1
Loop
If i = N Then N l s nguyn t
Else N khng l nguyn t
15) Lm li bi tp 11 (tnh N!) nhng s dng vng lp Do While Loop.
16) Lm li bi tp 15 (kim tra s nguyn t) nhng bng cch s dng Do Until
Loop.
17) Lm li bi tp 11 (tnh N!) nhng s dng vng lp Do Until Loop.
18) Thit k chng trnh cho php nhp vo mt s nguyn N; sau phn tch s
nguyn ny ra tha s nguyn t. Giao din chng trnh c th nh sau:
Hnh I.25: Bo ht gi
20) Thit k chng trnh tng t nh ng dng Canculator ca Windows.
Trang 24
Trang 25
I. HNG DN
Bi tp 2-1
XY DNG MENU V HP THOI C BN
Bc 1: To d n mi tn Bt2-1 trong th mc Basic\Bt2-1. Ch thng xuyn lu
d n li.
Bc 2: Bt u vi Menu Editor. Nhp chut phi ln Form1. Chn Menu Editor.
Lc ny ca s Menu Editor s hin ra.
Bi tp 2-2
HA VI BASIC
Bc 1: To mt d n mi trong th mc Basic\Bt2-2.
Bc 2: Trong Form1 ta to Menu c dng:
Trang 29
Caption
Ve hinh
&Pixel
&Tam giac
&Den
D&o
&Hinh vuong
Hinh khac
Name
MnuVe
MnuPixel
MnuTg
MnuTgDen
mnuTgDo
MnuGach1
mnuHV
MnuKhac
TT
9
10
11
12
13
14
15
16
Caption
Duong Tron
&Cung tron
&Bau duc
Bieu &do
&Xoa man hinh
&Thoat
Name
MnuTron
MnuCung
MnuBauduc
MnuBieudo
MnuGach2
MnuXoa
MnuGach3
MnuThoat
HM PAINTPICTURE
Bc 3: Hm PaintPicture cho php ta copy rt nhanh mt khi d liu ha, ni
nm na l mt khu vc trong mt hnh ha trn form, PictureBox n mt ni khc.
Th d ta copy mt hnh t ch ny n ch khc trong form, hay t form/PictureBox
ra i tng Printer sau ta in n ra.
Ta nhp p ln PictureBox Icon trong ToolBox t mt PictureBox ln
form vi cc thuc tnh sau:
Name: picDohoa.
Visible: False ( ta khng thy n lc chy chng trnh).
Bc 4: By gi ta load mt hnh vo thuc tnh Picture ca picDohoa bng cch chn
mt tp tin hnh nh t ca s Properties. y ta chn INTL_NO.BMP t folder
\Program Files\Microsoft Visual Studio\Common\Graphics\Bitmaps\Assorted
Trang 30
Trang 35
II. BI TP T LM
Bi 1: Thit k chng trnh c giao din nh sau:
o Mi khi ngi dng chn mc Font, mt hp thoi chn Font m ra cho php
chn la cc Font, sau khi h chn c Font, Font ch tng ng ca TextBox cng
thay i theo. (Hng dn: S dng thuc tnh Font ca i tng TextBox).
o Khi ngi dng chn Color, hp thoi chn mu hin th cho php ngi dng
thay i mu ch ca TextBox theo mu chn (Hng dn: S dng thuc tnh
ForeColor ca i tng TextBox).
Bi 2: TR CHI PUZZLE (SP S)
M T
Khng gian chi gm 16 s, c xp trn 4 hng, mi hng gm 4 ct. Trong
c 15 c gi tr t 1 n 15 c phn b theo th t ngu nhin v 1 trng
(Hnh II.5)
Hnh II 5
Trang 37
Hnh II 6
Ngi chi c th thc hin chi li bng cch chn File\New. Chng trnh s t
ng xo li cc cha s & trng theo th t ngu nhin.
Vic sp xp li cc s c thc hin bng cch s dng trng. Ngi dng
c th chuyn mt s t cc ln cn n trng bng cch nhp chut ln s .
Chng hn trn hnh 1 ngi dng c th nhp cha s 2 chuyn n n trng
bn di & khi cha s 2 c s thnh trng mi.
Ch rng ngi dng ch c th di chuyn cc s thuc nhng ln cn trng.
Chng hn cc ln cn trng trong hnh 1 l nhng 2, 4, 11, 15.
Hnh II.7 l mt v d khc v cc ln cn trng. Trong trng hp ny l cc
cha s 9, 2 & 12. rng hai cha s 3 & 1 khng c xem l ln cn.
Hnh II.7
CC THUT TON X L
Xc nh mt c phi l ln cn ca trng hin hnh hay khng?
nh s th t cc t 0 n 15 theo th t t phi qua tri & t trn xung
di.
Xc nh cc ln cn cho tng .
rng cc c th t 0 (hng 1 ct 1), 3 (hng 1 ct 4), 12 (hng 4
ct 1) & 15 (hng 4 ct 4) c s ln cn l 2.
8 c th t 1 (hng 1 ct 2), 2 (hng 1 ct 3), 4 (hng 2 ct 1), 7 (hng
2 ct 4), 8 (hng 3 ct 1), 11 (hng 3 ct 4), 13 (hng 4 ct 1), 14 (hng 4
ct 3) c s ln cn l 3.
4 cn li c th t 5, 6, 9, 10 c s ln cn l 4.
Trang 38
Trang 39
Chng 3 TP TIN
Mc tiu:
Chng ny nhm mc ch rn luyn sinh vin cc k nng thao tc
vi h thng tp tin ca Windows trong VB. Bn cnh , vic h thng li cc
kin thc ca cc chng trc cng l mt mc tiu quan trng ca chng.
Hc xong chng ny, sinh vin phi nm c cc vn sau:
- S dng m hnh h thng tp tin.
- Cch thc truy cp tp tin tun t.
- Cch thc truy cp tp tin truy xut ngu nhin.
Kin thc c lin quan:
Gio trnh Visual Basic, Chng 7.
Ti liu tham kho:
- Visual Basic 6 Certification Exam Guide - Chapter 7, Page 191;
Chapter 13, Page 377 - Dan Mezick & Scot Hillier - McGraw-Hill - 1998.
Trang 40
I. BI TP HNG DN
Bi tp 3-1:
XUT NHP TP TIN VN BN
Bc 1: To Project mi tn Bt3-1 trong th mc Basic\Bt3-1. To giao din c dng
sau:
Bi tp 3-2
THAO TC VI RESOURCE FILE
Mc tiu: Gip lm quen vi tp tin resource ca VB, nht l cng c cc thao
tc trn tp tin.
Bc 1: To th mc Basic\Bt3-2. To mt d n mi trong th mc ny.
Bc 2: To giao din nh hnh sau:
Trang 43
1
2
7
8
10
Trong :
Item 1: Caption: Thong tin nguoi su dung
BorderStyle: 3-Fixed Dialog
StartUpPosition: 2-Center Screen
Item 2: Label
Name: lblHelp
Index: 0
Item 3: Label
Name: lblHelp
Index: 1
Item 4: Label
Name: lblHelp
Index: 2
Item 5: TextBox
Name: txtHelp
Index: 0
Item 6: TextBox
Name: txtHelp
Index: 1
Item 7: TextBox
Name: txtHelp
Index: 2
Item 8: CommandButton
Name: cmdHelp
Index: 0
Item 9: CommandButton
Name: cmdHelp
Index: 1
Item 10: CommandButton
Name: cmdHelp
Index: 2
Trang 44
Bi tp 3-3
CHNG TRNH X L VN BN N GIN
GIAO DIN A TI LIU
Bc 1: To mt d n lu trong th mc Basic\Bt3-3.
Giao din a ti liu (MDI Form) gm mt ca s cha cha nhiu ca s con
(chng hn nh cc chng trnh Microsoft Word, Excel c t chc theo dng ny).
thm vo d n, ta chn mc Project\Add MDI Form t menu ca VB.
Bc 2: Ta cho Form1 tr thnh mt ca s con ca MDI Form bng cch chn thuc
tnh MDIChild = True.
HM MAIN (SUB MAIN)
Bc 3: Trong chng trnh ta cn iu khin mi th k t khi cc ca s con ca
MDI Form xut hin, do ta cn phi bt u thc thi chng trnh ca ta t hm
Main (Sub Main). Ta chn mc Project\ Add Module thm mt Modul vo d n
ca mnh, sau ta chn Tools\Add Procedure thm hm Main vo (Public Sub
Main); hm ny ta dng bt u gi thc thi chng trnh ca mnh. chn thc
thi chng trnh t hm Main, chn Project\Properties; chn Start up Object l Sub
Main.
Bc 4: Thm dng lnh sau vo hm Main:
MDIForm1.Show
Bc 5: Chng trnh cn c mt h thng menu gi thc thi. Do , chn MDI
Form, sau chn Tools\Menu Editor to menu sau:
Menu Name
Menu Caption
mnuFile
&File
mnuFileNew
&New
mnuFileOpen
&Open
muFileSave
&Save
mnuFileBar
mnuFileExit
E&xit
Bc 6: Ta x l s kin mnuFileExit_Click nh on m sau:
Private Sub mnuFileExit_Click()
Dim f As Form
' Thoat cac cua so con
For Each f In Forms
If TypeOf f Is Form1 Then
Unload f
Set f = Nothing
End If
Trang 48
Bi tp 3-4
THAO TC VI I TNG WORD
Mc ch: Windows c sn mt s i tng khi ta ci t Windows hay khi ci mt
s phn mm. Bi tp ny gip ta tm hiu cch thc truy xut cc i tng c sn
ny t Visual Basic.
THAM CHIU I TNG
Bc 1: To th mc Basic\Bt3-4. Khi ng mt d n mi trong th mc ny.
Bc 2: Trong bi tp ny ta c tham chiu n i tng Word ca Microsoft Word;
do ta phi c thao tc tham chiu n i tng ny trong mn hnh son tho VB
bng cch: Chn Project\References trn menu. Trong ca s References, thit lp
tham chiu n: Microsoft Word 9.0 Object Library v Microsoft Office 9.0
Library. Sau ng ca s References li.
Bc 3: Ta c th kim tra cc i tng trn c c a vo hay cha nh thao tc:
Chn View\Object Browser.
XY DNG NG DNG
Bc 4: To giao din chng trnh c dng sau:
Trang 50
3
Hnh III.3: Thao tc
vi i tng Word
4
5
6
Trong :
1: TextBox
Name: txtWord
Multiline: True
ScrollBar: 2-Vertical
2: CommandButton
Name: cmdLuu
Caption: Lu
3: CommandButton
Name: cmdTruoc
Caption: Trc khi in
4: CommandButton
Name: cmdCTa
Caption: Kim li.
5: CommandButton
Name: cmdThoat
Caption: Thot
6: CommandButton
Name: cmdGiup
Caption: Tr gip
Bc 5: s dng c m hnh, ta phi khai bo mt s bin i tng ca Word.
Trong phn [General]\ [Declarations], khai bo nhng bin sau:
Public ungdung As Word.Application
Public tailieu As Word.Document
Public trogiup As Office.Assistant
Bc 6: Khi chng trnh thc hin, iu ta mun l mt ti liu mi ca Word c
to ra ta c th thao tc trn chng mt cch gin tip thng qua chng trnh VB
ca mnh. To mt ti liu Word mi tng ng vi vic to ra mt th hin ca i
tng Document. V th, chn on m sau vo th tc Form_Load to ra mt ti
liu Word mi t chng trnh VB.
Set ungdung = CreateObject("Word.Application")
Set tailieu = ungdung.Documents.Add
Set trogiup = ungdung.Assistant
Trang 51
II. BI TP T LM
1) Thit k chng trnh nh ng dng Notepad ca Windows.
o Thit k giao din
Trang 52
o X l cc s kin
9 Mi khi Form thay i kch thc, TextBox cng thay i theo cho ph hp
vi Form
9 New
9 Open, Save, Save As: m hp thoi Common Dialog cho php chn tp tin
m hay lu. S dng i tng FileSystemObject thao tc vi tp tin vn bn.
9 Exit
9 Font Setting: M ra hp thoi chn Font, thit lp Font ca TextBox chnh l
Font c chn trong hp thoi.
o X l m rng:
9 Khi ngi dng lu tp tin ri, ln th hai bm vo Save th khng m hp
thoi Common Dialog na m s lu vi tn tp tin chn trong ln Save u tin.
9 Mi khi ngi dng thay i ni dung ca mt tp tin, sau h chn Exit
ng ng dng li; mt hp thng ip (Message Box) s m ra hi c lu tp tin hay
khng?
2) i l Minh Thnh ca cng ty Unilever Vit Nam ti Cn Th cn qun l thng
tin v cc mt hng m i l nhn t cng ty. Cc thng tin cn qun l gm: M mt
hng, tn mt hng, n v tnh, gi ca mt hng . Cc thng tin ny c m t
nh sau:
Trang 53
Trang 55
Trang 56
Mc tiu:
Chng ny gm cc bi tp nhm rn luyn sinh vin cch thc lp
trnh c s d liu s dng th vin i tng Data Access Objects (DAO).
y l cch thc lp trnh ph bin i vi cc ng dng chy trn my n.
Hc xong chng ny, sinh vin phi nm bt c cc vn sau:
- S dng iu khin d liu truy xut c s d liu.
- S dng th vin i tng DAO lp trnh c s d liu.
Kin thc c lin quan:
- Gio trnh Visual Basic, chng 9.
Ti liu tham kho:
Visual Basic 6 Certification Exam Guide - Chapter 5, Page 139 - Dan
Mezick & Scot Hillier - McGraw-Hill - 1998.
http://www.vovisoft.com/VisualBasic/VB6Chapter14.htm
http://www.vovisoft.com/VisualBasic/VB6Chapter15.htm
Trang 57
I. HNG DN
Bi tp 4-1
Hnh IV.1: Xc
lp thuc tnh cho
Data Control
Trang 58
Trang 59
Nhn xt:
9 Ta c th bm cc nt di chuyn Navigator Buttons i n cc record u
(first), trc (previous), k (next) v cui (last). Mi ln ta di chuyn n mt record
mi l chi tit ca record y s hin th. Nu khng dng cc Navigator Buttons, ta
cng c th vit on m lm cng tc tng ng bng cch gi cc hm trn
Recordset l MoveFirst, MovePrevious, MoveNext v MoveLast.
9 Khi record cui ca Recordset ang hin th, nu ta gi hm MoveLast th
thuc tnh EOF (End-Of-File) ca Recordset tr thnh True. Tng t nh vy, khi
record th nht ca Recordset ang hin th, nu ta gi hm MovePrevious th thuc
tnh BOF (Begin-Of-File) ca Recordset tr thnh True. Nu mt Recordset khng c
cha mt record no c th c hai thuc tnh EOF v BOF u l True.
9 Khi record u tin ang hin th, nu ta sa Year Published i t 1985
thnh 1983 ri nhp Navigator button Next hin th record th nh, k click
Navigator button Previous hin th li record u tin th ta s thy l trng Year
Published ca record u tin tht s c thay i (updated) thnh 1983.
iu ny c ngha rng khi di chuyn t record ny n record khc th nu
record ny c s thay i do ngi s dng, n lu tr s thay i trc khi di
chuyn. Cha chc l ta mun iu ny, do , nu ta khng mun ngi s dng tnh
c sa i mt record th ta c th t thuc tnh Locked ca cc textboxes y thnh
True ngi s dng khng th sa i cc textboxes nh trong hnh di y:
Trang 60
Trang 61
Trang 63
Bi tp 4-2
CC I TNG C BN CA DAO
Bc 1: To th mc Basic\Bt4-2. To giao din cho chng trnh nh sau:
Trang 64
Trang 65
Trang 67
Trang 68
Bi tp 4-3
M HNH DAO
Trang 74
Bi tp 4-4
TH D V S DNG DAO
Bi tp ny nhm mc ch gii thiu v cch thc s dng iu khin d liu
v th vin DAO trong vic thit k mt Form nhp liu hon chnh cho bng
THangHoa trong CSDL HangHoa.mdb. Giao din cng vi m lnh ch mang tnh
cht gi ; sinh vin c th thc hin theo ring ca mnh.
Bc 1: Thit k form nh sau:
Hnh IV.13: S
dng Data
Control
*
Vi *: DataControl: iu khin d liu
DatabaseName: HangHoa.MDB
RecordSource: THangHoa
Name: datHH
Bc 2: Thit lp cc thuc tnh cho cc TextBox & ComboBox.
DataSource: DatHH
DataField:
Bc 3: t iu khin li ln Form (+) sau khi tham chiu n n
(Project\Components\Microsoft Data Bound Grid Control 5.0 SP3).
DataSource: datHH
Chy chng trnh, ta c kt qu nh trn.
Trang 75
II. BI TP T LM
S dng CSDL HangHoa.mdb, anh (ch) hy:
1) Ci tin Form nhp bi 4-4, sao cho trng MaLoai phi c ly t cc MaLoai
ca bng TLoaiHang. Hn na thay v hin th MaLoai, ta hin th TenLoai cho d
theo di; nhng khi thm vo bng THangHoa, ta li thm vo MaLoai ca TenLoai
.
2) Bng cch s dng DAO (tng t 4-3), anh (ch) hy:
a. Thit k Form nhp liu cho bng THANGHOA.
b. Thit k Form nhp liu cho bng TNHANVIEN.
Trang 77
Trang 78
I. HNG DN
Bi tp 5-1
I TNG USER CONNECTION
THIT LP NGUN D LIU ODBC
Bc 1: Trong bi tp ny, ta s thao tc vi CSDL Access BIBLIO.MDB thng qua
VB.
Trc tin ta phi thit lp ngun d liu nh tin ch ODBC Administrator ca
Windows. Chn ODBC Administrator trong Control Panel (icon tn l ODBC). Nhp
p vo icon ny khi ng ODBC Administrator.
Bc 2: Mt hp thoi hin ra hin th tt c cc ngun d liu ODBC hin thi trn
my tnh. to mt ngun d liu mi, ta chn mc System DSN. Nhp vo nt
Add. Hp thoi cho php to ngun d liu mi vi tt c cc iu khin (drivers)
ODBC c sn trn my. y, ta chn Microsoft Access ODBC driver trong danh
sch v chn Finish.
Bc 3: Hp thoi ci t ODBC xut hin. Trong hp thoi ny, nh ngha mt
ngun d liu mi. Nhng trc tin ta phi xc nh tn ca ngun d liu. Ta c th
t vi bt c mt tn no, chng hn BIBLIO.
Sau , nhp nt Select tm n CSDL BIBLIO.MDB trong my tnh, chn
tp tin ny; nhp OK. Lc ny ngun d liu c nh ngha xong.
TO GIAO DIN CHNG TRNH
Bc 4: To mt d n mi trong th mc Basic\Bt5-1. To giao din chng trnh
nh hnh di:
1
2
3
4
5
6
1: TextBox
Name: txtTitle
2: TextBox
Name: txtAuthor
3: TextBox
Trang 79
Trang 81
Trang 82
Bi 5-2
S DNG REMOTE DATA CONTROL
Bc 1: To d n mi trong th mc Basic\Bt5-2. ng k mt DSN vi tn l
DBHH.
Bc 2: Trong bi tp ny ta s dng Remote Data Control v li hin th d liu, do
ta tham chiu n cc thnh phn ny bng cch chn Project\Components, thit
lp tham chiu n Microsoft Remote Data Control v Microsoft Data Bound Grid
Control. Nhp OK.
Bc 3: Thit k Form c dng sau:
1
Hnh V.2: S dng RDC
1: RemoteDataControl. Name: rdcHangHoa
2: DBGrid. Name: dbgHangHoa.
Bc 4: t thuc tnh DataSourceName ca iu khin rdcHangHoa l DBHH (DSN
to trc y).
Bc 5: nh thuc tnh SQL ca iu khin rdcHangHoa l:
Select * From THANGHOA
Bc 6: Ch nh thuc tnh DataSource ca iu khin dbgHangHoa l rdcHangHoa.
Bc 7: Thc thi chng trnh.
Trang 83
Bi 5-3
ODBC DIRECT
Bc 1: To d n mi lu trong Basic\Bt5-3.
Bc 2: Tham chiu n iu khin li Microsoft Data Bound Grid Control trong
mc Project\Components.
Bc 3: To Form c dng sau:
2
Hnh V.3: S dng ODBC Direct
1: DBGrid. Name: DbGrid1.
2: Data Control. Name: Data1.
Bc 4: i thuc tnh DefaultType ca DataControl l 1 - Use ODBC.
Bc 5: Thuc tnh Connect ca Data1 l: ODBC;DSN=DBHH.
Bc 6: t thuc tnh Record Source ca Data Control:
Select * From THANGHOA.
Bc 7: t thuc tnh Data Source ca DBGrid1 l: Data1.
Bc 8: Lu d n v thc thi chng trnh.
II. BI TP T LM
S dng CSDL HangHoa.mdb v th vin i tng RDO, anh (ch) hy:
1) Thit k Form nhp liu cho bng THANGHOA.
2) Thit k Form nhp liu cho bng TNHANVIEN.
Trang 84
Trang 85
I. HNG DN
Bi tp 6-1
S DNG ADO DATA CONTROL
Bc 1: Khi ng mt d n VB6 mi, thm iu khin Data ADO vo hp
ToolBox nh chn Menu Command Project | Components..., ri Microsoft ADO
Data Control 6.0 (OLEDB) nh di y:
Trang 89
Bi tp 6-2
TO TP TIN LIN KT D LIU (DATALINK FILE)
Tp tin lin kt d liu l tp tin Windows dng cha cc thng tin v chui kt ni
n mt CSDL no . Chng ta s s dng tp tin ny trong vic thit lp i tng
kt ni (Connection) n CSDL.
Bc 1: DataLink File c to trong ca s Windows Explorer. Do khi ng
Windows Explorer, vo th mc \Program Files\Common Files\System\Ole DB\Data
Links. y l ni thng cha cc tp tin DataLink.
Bc 2: Chn New\Microsoft Data Link t Windows Explorer.
Bc 3: i tn tp tin ny thnh Biblio.UDL.
Bc 4: Nhp chut phi ln tp tin mi ny v chn PROPERTIES t menu.
Bc 5: Nhp chut chn mc PROVIDER & chn Microsoft JET 3.51 OLEDB
Provider. Nhp Next.
Bc 6: Chn ng dn n tp tin BIBLIO.MDB (C:\Program Files\Microsoft
Visual Studic\VB98\Biblio.mdb) trong mc Select or Enter Database Name.
Bc 7: Nhp mc Test Connection kim tra kt ni c thnh cng hay khng?
Bc 8: Chn OK lu li kt ni d liu ny.
Bi tp 6-3
I TNG ADO RECORDSET
Bc 1: Trc khi bt u, cn kim tra tp tin DataLink ca bi 6-2 c c to ra
hay l khng?
Bc 2: To mt d n mi trong VB th mc Basic\Bt6-3.
Trang 90
Bi tp 6-4
LU RECORSET RA TP TIN
Bc 1: Trc khi bt u, cn kim tra tp tin DataLink ca bi 6-2 c c to ra
hay l khng?
Bc 2: To mt d n mi trong VB th mc Basic\Bt6-4.
Bc 3: Tham chiu n th vin ADO bng cch chn Project\References\ActiveX
Data Object 2.0 Library. Chn OK.
Bc 4: Thm mt iu khin m rng vo hp cng c Toolbox nh chn
Project\Components. Chn Microsoft Common Dialog Control 6.0 v Microsoft
DataGrid Control 6.0. Chn OK.
Bc 5: To giao din nh sau:
Trang 91
1
Hnh VI.8: Lu
Recordset ra tp tin
2
3
5
4
1: TextBox:
Name: txtSQL; MultiLine: True.
2: CommandButton:
Name: cmdTT; Caption: Thc thi.
3: CommandButton:
Name: cmdLuu; Caption: Lu tp tin
4: CommandButton:
Name: cmdMo; Caption: M tp tin
5: DataGrid: Name: grdResult
Ngoi ra, chng trnh cn c s dng hp thoi m & lu tp tin; do , ta
thm vo mt Common Dialog vo ng dng vi thuc tnh Name: dlgFile.
Bc 6: Khi chng trnh thc thi, mi khi ngi dng nhp vo mt cu lnh SQL
vo TextBox ri nhp chn Thc thi, cu SQL ny s thc thi v hin th kt qu
li bn phi. Do s kin cmdTT_Click dc x l nh sau:
Private Sub cmdTT_Click()
Dim m_RecordSet As ADODB.Recordset
Set m_RecordSet = New ADODB.Recordset
m_RecordSet.CursorLocation = adUseClient
m_RecordSet.CursorType = adOpenStatic
m_RecordSet.Open txtSQL.Text, _
"File Name=C:\Program Files\Common Files\System\OLE DB\Biblio.udl"
Set grdResult.DataSource = m_RecordSet
End Sub
Bc 7: Lu RecordSet vo tp tin s c thc hin nh hm Save. y, ta s
dng hp thoi CommonDialog m v lu tp tin. S kin cmdLuu_Click c x
l:
Private Sub cmdLuu_Click()
On Error GoTo xuly
Dim m_RecordSet As ADODB.Recordset
Set m_RecordSet = grdResult.DataSource
Trang 92
II. BI TP T LM
1) S dng ADO, thit k Form nhp liu cho bng THangHoa (hnh di). y
thay v hin th MaLoai, ta li hin th TenLoai:
Trang 93
Trang 94
Chng 7
MI TRNG D LIU
Mc tiu:
Chng ny gm cc bi tp nhm rn luyn cho sinh vin cch thc
s dng mi trng d liu (Data Environment) ca VB lp trnh CSDL.
Hc xong chng ny, sinh vin phi nm bt c cc vn sau:
S dng thnh tho mi trng d liu gm:
- To i tng Connection.
- To i tng Command.
- Vit m lnh thao tc vi mi trng d liu.
Kin thc c lin quan:
- Gio trnh Visual Basic, Chng 12.
Ti liu tham kho:
- Visual Basic 6 Certification Exam Guide Chapter 10, Page 277 Dan Mezick & Scot Hillier - McGraw-Hill - 1998.
- T hc Lp trnh c s d liu vi Visual Basic 6.0 trong 21 ngy
(T1) - Chng 9, trang 395 - Nguyn nh T (ch bin) Nh xut bn
Gio dc - 2001.
Trang 95
I. HNG DN
Bi 7-1
DATA ENVIRONMENT
Data Environment cho php chng ta to ng dng c s d liu vi OLEDB
mt cch nhanh chng v hiu qu. Trong bi tp ny, ta s tm hiu v Data
Environment v Report Designer ca VB.
Bc 1: To th mc Basic\Bt7-1. To mt d n kiu Stardard EXE lu vo trong
th mc .
Bc 2: Nu mc Data Environment khng c sn trong Project Explorer, ta chn
Project\Components, nh du vo mc Data Environment trong ty chn
Designers, nhp OK. Chn Project\More ActiveX Designers thm Data
Environment vo mi trng son tho.
Bc 3: Trong Data Environment, nhp chut phi vo i tng Connection1, chn
Properties, chn Microsoft Jet 3.51 OLE DB Provider.
Bc 4: Trong mc chn Connection, chn c s d liu mnh mun thao tc trong
mc Select or Enter a Database Name Box; y ta chn CSDL BIBLIO.MDB
(thng
ng
dn
C:\Program
Files\Microsoft
Visual
Studio\VB98\BIBLIO.MDB). Nhp nt Test Connection kim tra ni kt vi
CSDL c b li hay khng? Ta s nhp OK nu ni kt ny thnh cng (nu khng ta
phi kim tra li).
Bc 5: Trong Data Environment, nhp chut phi vo i tng Connection1 v
chn RENAME i tn thnh BIBLIO.
Bc 6: Nhp chut phi vo BIBLIO v chn ADD COMMAND trn menu, mt i
tng command c to ra vi tn l Command1 trong Data Environment. Nhp
chut phi vo i tng mi to ny, chn RENAME i tn thnh Publishers.
Bc 7: Nhp chut phi vo Publishers v chn mc Properties, mt hp thoi quy
nh cc thuc tnh cho i tng Publishers c m ra. Trong mc chn General,
chn Source Data l SQL Statement v ta nhp cu SQL sau vo khung nhp:
SELECT PubID, Name FROM Publishers WHERE Name LIKE ?
Cu SQL trn phi nhn vo mt tham s t chng trnh gi n (du chm
hi). Ngha l cu SQL ny thc thi c, ta cn cung cp mt tham s u vo cho
n.
Bc 8: nh ngha tham s, ta chuyn sang mc chn Parameters, ta thy c mt
tham s c nh ngha tn l Param1. Mc nhin ca tham s ny l kiu s, tuy
nhin ta s i chng thnh kiu chui vi cc thuc tnh nh sau:
Data Type
adVarChar
Host Data Type
String
Size
255
Bc 9: To mt recordset con cho i tng Publishers command bng cch nhp
chut phi vo vo i tng ny v chn ADD CHILD COMMAND trn menu. Cc
Trang 96
Trang 97
Trang 98
Trang 100
Bi 7-2
BIU MU NHP LIU VI DATA ENVIRONMENT
o To mt d n mi; b sung Data Enviroment vo d n ca ta nh chn
Project/Add Data Environment. Khi la chn mc ny, mi trng DED s hin th;
s dng ca s Properties thit lp thuc tnh Name l: datHH. y, ta s s dng
DED kt ni vi CSDL HANGHOA.MDB.
o Sa li thuc tnh Name ca Connection1 l conHH; sau chut phi ln
conHH, chn Properties.
hp thoi u tin, ta phi chn mt trnh cung cp d liu, y chn
Microsoft Jet 4.0 OLE DB Provider, nhn Next tip tc.
Tip theo ta cn nhp chnh xc ng dn n tp tin CSDL, chng hn
y l: H:\Visual Basic\HangHoa.Mdb.
Cui cng, nhn nt Test Connection kim tra vic ni kt d liu
chnh xc hay khng?
Hnh VII.5: i
tng Command
II. BI TP T LM
1) S dng DataEnviroment, thit k Form nhp liu cho bng THangHoa (hnh di).
y thay v hin th MaLoai, ta li hin th TenLoai:
Trang 104
Chng 8
THIT LP BO CO V XUT
THNG TIN
Mc tiu:
Chng ny nhm gii thiu cho sinh vin cch thc to bo biu,
thnh phn khng th thiu trong cc ng dng c s d liu.
Hc xong chng ny, sinh vin phi nm bt c cc vn sau:
S dng Data Report to cc loi bo biu sau:
- Bo co dng bnh thng.
- Bo co c phn nhm d liu.
- Bo co dng phn cp.
Kin thc c lin quan:
- Gio trnh Visual Basic, chng 13.
Ti liu tham kho:
- Visual Basic 6.0 v Lp trnh c s d liu - Chng 21, trang 636
- Nguyn Ngc Mai (ch bin) Nh xut bn Gio dc - 2000.
- T hc Lp trnh c s d liu vi Visual Basic 6.0 trong 21 ngy
(T1) - Chng 5, trang 183 - Nguyn nh T (ch bin) - Nh xut bn Gio
dc - 2001.
Trang 105
I. HNG DN
TO KT NI VI C S D LIU
Bc 1: To mt d n trong th mc Basic\Bt8-1.
Bc 2: to mt report, ta phi xc nh d liu no s s dng trong report, l
nhim v ca Data Environment.
Ta chn mt Data Environment vo d n nh vic chn Project\More ActiveX
Designer\Data Environment.
Ta s dng Data Environment lu tr cc tp d liu s dng trong report.
Bc 3: Nhp p vo trnh thit k Data Environmenr trong ca s Project Explorer
m trnh thit k. Sau nhp vo Connection1 v thay i thuc tnh Name ca n
thnh cnHangHoa; nhp chut phi vo cnHangHoa v chn mc Properties, hp thoi
Properties hin ra:
Trang 107
Trang 108
Bc 15: Khi chn Chi tit hng ha, report va thc hin s c hin th; do ta
x l s kin ny nh sau:
Private Sub mnuChiTiet_Click()
drHangHoa.Show
End Sub
Bc 16: Lu d n v chy chng trnh.
TO REPORT BNG CU LNH SQL
Bc 17: Data Report cho php ta to cc report bng cch s dng cc cu lnh SQL
nh l nn tng ca i tng Command. Trong phn ny ta s s dng cu lnh
SELECT ly d liu t cc bng TPHATSINH, THANGHOA, TLOAIHANG v
chn nhng trng sau: PhatSinh.SOTT, TPhatSinh.NGAY, TPhatSinh.LOAI,
TPhatSinh.FIEU,
TPhatSinh.HTEN,
TPhatSinh.SOLG,
TPhatSinh.DGIA,
THangHoa.TENHANG, TLoaiHang.TENLOAI.
Bc 18: Chn mc Data Enviroment1 trong Project Explorer, sau nhp chut phi
vo i tng cnHangHoa, chn Add Command. Ta in vo cc thuc tnh nh hnh
di:
Trang 109
Trang 112
II. BI TP T LM
1)
2)
To bo co (Report) cho php in ra giy thng tin chi tit v cc pht sinh theo
tng ngy, cc thng tin ny bao gm: Ngy lp, loi, Fieu, h tn khch hng, l
do, s lng, n gi, thnh tin (vi Thnh tin = S lng * n gi), tn hng
ha v h tn nhn vin tng ng. (Hnh VIII.10)
To bo co (Report) cho php in ra giy thng tin chi tit v cc pht sinh theo
tng nhn vin, cc thng tin ny bao gm: Ngy lp, loi, Fieu, h tn khch
hng, l do, thnh tin (vi Thnh tin = S lng * n gi), tn hng ha v
loi hng tng ng. (Hnh di)
Trang 113
LI KT
Chng Thit lp bo co cng l chng kt thc ca gio
trnh TT. 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 114