Cấu trúc lệnh điều khiển
Trang 1Bµi gi¶ng
CÊu tróc lÖnh ®iÒu khiÓn
Trang 3VÝ dô: nhập vào một số, kiểm tra xem số đó
có phải là chẵn không? In thông báo
Trang 4[khèi lÖnh n]
End If
Trang 5VÝ d 1 ụ
VÝ d 1 ụ
If tuoi <18 Then
Msgbox Ban chua den tuoi lao dong Ban chua den tuoi lao dong““ ””
ElseIf tuoi <60 Then
Msgbox ““ Ban van trong do tuoi lao dong Ban van trong do tuoi lao dong””
Else
Msgbox ““Ban da het tuoi lao dong Ban da het tuoi lao dong””
End If
Trang 6Digits = 2 Else
Digits = 3
End If
If Digits = 1 Then MyString = "One" Else MyString = "More than one"
Trang 73 Select Case
Nhằm giải quyết trường hợp quá nhiều ElseIf lồng
nhau, giúp cho chương trỡnh sáng sủa dễ đọc Biểu thức logic được so sánh một lần vào đầu cấu trúc Sau đó VB
so sánh với từng Case, nếu bằng nó thực hiện khối lệnh trong Case đó.
Mỗi danh sách biểu thức có thể chứa một hoặc nhiều giá trị Các giá trị cách nhau nhờ dấu phảy Mỗi khối lệnh có thể không chứa hoặc chứa một hay nhiều dòng lệnh Nếu có hơn một Case thoả mãn điều kiện thỡ khối lệnh của Case đầu tiên thoả mãn sẽ được thi hành Case Else không nhất thiết ph ải có, nó dùng trong trường hợp còn lại của các Case trước đó
Trang 8Có ph¸p:
Select Case <biÓu thøc kiÓm tra>
[Case <danh s¸ch biÓu thøc 1>
[khèi lÖnh 1] ]
[ Case < danh s¸ch biÓu thøc 2> [khèi lÖnh 2] ]
[Case Else
[khèi lÖnh n] ]
End Select
Trang 9Select Case State
Trang 10II Vũng lặp xỏc định
1 For Next
Dùng kiểu vòng lặp này khi ta biết trước số lần lặp
Trang 11Trong đó:
cuối Nếu không, khối lệnh sẽ không được thi
Nếu Step không được chỉ ra, mặc định bước
Trang 12Msgbox “Tong cac so le trong khoang 1-100 la:” & str(S)
Trang 15Ví dụ:
Sub ListTableDefs()
Dim objDb As Database
Dim MyTableDef As TableDef
Set objDb=OpenDatabase(“c:\vb\biblio.mdb”,
True, False)
For Each MyTableDef In objjDb.TableDefs()
List1.AdddItem MyTableDef Name
Next MyTableDef
End Sub
Trang 16Cã thÓ tho¸t khái vßng lÆp nhê c©u lÖnh Exit Do.
KiÓu 1: LÆp trong khi ®iÒu kiÖn lµ True
Do While <®iÒu kiÖn>
<khèi lÖnh>
[Exit Do]
Loop
Trang 17Vi d : ụ
Again = True
DoubleIt = 1
Do While Again = True
If MsgBox ("Current total is " & DoubleIt &
" Double it again ?", vbYesNo) = vbYes
Trang 18• KiÓu 2: Vßng lÆp lu«n cã Ýt nhÊt mét lÇn thi hµnh khèi lÖnh
Do
<khèi lÖnh>
Loop While <®iÒu kiÖn>
• KiÓu 3: LÆp trong khi ®iÒu kiÖn lµ False
Do Until <®iÒu kiÖn>
<khèi lÖnh>
[Exit Do ]
Loop
Trang 19Ý dô: Trong vÝ dô trªn nÕu ta dïng vßng lÆp Do
Until Loop thì ta cã m· nh sau:
Again = True
DoubleIt = 1
Do Until Again = False
If MsgBox("Current total is " & DoubleIt & "
Double it again ?", vbYesNo) = vbYes Then
Else
Again = False
End If
Trang 20KiÓu 4: LÆp trong khi ®iÒu kiÖn lµ False vµ cã
Ýt nhÊt mét lÇn ®îc thi hµnh khèi lÖnh
Trang 212 Vßng lÆp While Wend
kh«ng thÓ tho¸t khái vßng lÆp b»ng lÖnh Exit
Vì vËy vßng lÆp nµy chØ tho¸t khái khi biÓu thøc ®iÒu kiÖn lµ sai
While sPassword <> “vitti”
sPassword=InputBox$ (“Enter Password”)