Tải bản đầy đủ (.pdf) (31 trang)

GIÁO TRÌNH LẬP TRÌNH QUẢN LÝ VỚI MICROSOFT OFFIC ACCESS - BÀI 8 GIỚI THIỆU NGÔN NGỮ VBA (VISUAL BASIC FOR APPLICATIONS) docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (811.42 KB, 31 trang )

189

Baøi 8. 
(VISUAL BASIC FOR
APPLICATIONS)
8.1. 




 
 
 
 
 
 .
 
8.2. 
8.2.1. 
a) MODULE CHUNG
và hàm chung do ngi thit k t lp trình bng
ngôn ng VBA  b sung cho file c s d liu 

b) NG FORM, REPORT
      x lý s kin       
không th

               

8.2.2. 
a) 


Trên thanh Ribbon chn ngn Create sau  chn Module.
190


nh 8.1: Chn muc Module


8
b) RIÊNG 
M Form hay Report  ch  Design 

191

8.3: Nút Code trên thanh phiu Design ca thanh Ribbon


8
8.2.3. 
a) 

b)  (EVENT PROCEDURE)


c) 



8.2.4. EVENT PROCEDURE)
192


a) 




b) 


:
- Form_Open
-              
cmdThem_Click.
c) 
chao nút lnh 
li chà

8.5: Form chao
- Cách 1:


8chao
B2giá tr Event Procedure trong b

193



8.7chao
- Cách 2
 Build Event


8.8
B2

8.9
- Cách 3

Box bên trái
194


8.10


8.11
8.2.5. 
a) 
-             
.
- 
- 

b) 

      

 


c) 


[Public | Private] [Static] Sub  ([])

End Sub

195

- 
.
- 
n bên trong.

 
 ()



8.12: Txy
 ta có th gi th tc con bng mt trong 2 cách sau:
Cách 1: Call <tên th tc con>(<danh sách tham s>)
Ví d: Call USCLN(6,9)
Cách 2: <tên th tc con> <danh sách tham s>
Ví d: USCLN 6,9


d) 

[Public | Private] [Static] Function <Tê> ([<>]) As <
>


<> = <>
End Sub

196

- 

- 

- 


<  > = < > (< >,<
>)
             y    
USCLN

8.13: HUSCLNxy
Sau  ta có th gán bin US nhn ly kt qu ca hàm Uscln nh sau:
US=Uscln(9,6)
Hoc in kt qu ca hàm ra hp thoi Msgbox
Msgbox Uscln(9,6)

- 

- 
<<>.
- 
.
e) 

[Byval | ByRef] <Tên tham s> As <> [=<>]

197

- ByVal:. Nu tham s c truyn theo giá
tr thì giá tr ca i lng truyn vào cho tham s s không thay i theo
tham s trong th tc.
- ByRef:. Nu tham s c
truyn theo a ch thì giá tr ca i lng truyn vào cho tham s s thay
i theo s thay i ca tham s trong th tc.
- 

f) 
 lnh (View Code)

8.14


8.15

Public hay Private Scope
n
g) 
               

198

h) 
- 
-      

 .

8.16hàm uscln

8 tc thutucuscln
199

8.2.6. N TRONG VBA
Trong 

- 
- 

- 
- Dim,
8.2.7. 
a) 
- 

- 
- 

b) 
Dim <> [As <>]
- 

ênngn gn 





Dim strFrmName As String
Dim intN As Integer
- 

c) 
bt buc ngi lp trình phi trc khi s dng
Option Explicit

                
khi phát hin ra các bin có s dng nhng cha khai báo

200

d)  
- 






- 

Private
Public














e) 

Dim
Static.

Dim intX As Integer 
Static intX As Integer
Dim
Static

f) 
      
DimPrivate.

Option Compare Database
Option Explicit
Dim intX As Integer
Private intX As Integer
g) 
    
Public.

201


Option Compare Database
Option Explicit
Public intX As Integer
h) 
- 

- 


- 
            

Static.
8.2.8. 
a) 
- 



- 

- 
- 

b) 
[Public | Private] Const  [As ] = 
- 

- 
- 
c) 
Const Pi = 3.14159  
Const DoublePi = Pi * 2  
Public Const Max = 10  
Const Ngay = #1/7/2006#  
202

8.2.9. 
a) 




b) 




Byte

0  255
1
Boolean
Logic
0: false ; -1: true
2
Integer


-32768  32767
2
Long

-2147483648  2147483647
4
Currency

- 922337203685774.5808 
922337203685774.5808
8
Single

-3.402823E38  -1.401298E-45 (âm)
1.401298E-45  
4
Double

-1.79769313486232E308 
-4.94065645841247E-324 (âm)
4.94065645841247E-324 

8
Date
y
1/1/100  32/12/9999
8
String




Variant


16
Object



4
c) 
- 
- 
- 
d) 
- 
- 

- 

Dim Ten As String *8
203

- 
     

- RTRIM, LTRIM, TRIM

e) 
- Yes/No True/False.

- False.
f) 
- 

- 


- Cdate
: Cdate(2) = #1/1/1900#
g) 
- 
- 
Null.
- 

- :
Dim X  
  
X = X  2  
  
- IsNumeric
True
- 
True

- 



Empty


204

- 

  

IsNull
Null.
:
- 
- 

- 
X = Null.
- 
h) 
- 

- 
-             

Dim Rs As Recordset

8.2.10. CHÚ Ý
a) MT S QUY C KHI SON THO LNH TRONG VB
 Ngôn ng lp trình VB không phân bit ch thng hay ch in khi son tho
lnh.
Ví d:
Dim A As Byte

ta cng có th vit
DIM A AS BYTE hoc dim a as byte
 Mi lnh phi t nm trn vn trên cùng mt dòng màn hình.
o Nu lnh ngn thì ta có th t nhiu lnh trên cùng mt dòng màn hình
nhng gia các lnh phi cách nhau bng du hai ch
Ví d:
A=2
B=3
C=A+B
ba lnh trên có th c vit trên cùng mt dòng màn hình là:
A=2 : B=3 : C=A+B
205

o Nu lnh quá dài thì ta có th xung dòng nhng trc khi xung dòng
phi t du gch ni vào cui dòng phía trên.
Ví d:
A=2+3*9-3
lnh trên có th c vit trên hai dòng màn hình là:
A=2 +3 _
*9-3
 Ta có th a li chú thích (comment) vào trong chng trình  gii thích
lnh nhng phi t du nháy n trc li ghi chú . Khi biên dch trình
biên dch s b qu tt c nhng ni dung t sau du nháy n.
Ví d:
c tính din tích hình tròn.

b) 





 

  nút lnh có tên Cmdchao


8.18


206

 sau  nhn phím Tab  chn thuc tính hoc phng
thc 
 Xem thông tin nhanh:



8.19
 

.

.20khi  b sai.
 



 
 .
c) 

207

- 

- 

- Private Sub Chao_click()
ChaoClick.


8.21.
d)  
- 


-     
Edit / Bookmark / Toggle BookMark. Mt
                
BookMark.

8.22
- 


-          Edit / BookMark / Clear All
BookMark.
BookMark
208

8.3. 

8.3.1. NH GÁN
- Cú pháp: <tên bin>=<biu thc>
Trong : <biu thc> có th là hng, bin, hàm hoc biu thc thc s
- : lnh thc hin ly giá tr ca biu thc làm ni dung cho bin có tên
c ch nh trong cú pháp.
- Ví d:
u thc trong lnh này là mt hng s nguyên.
u thc trong lnh này là mt tên bin khác.
u thc trong lnh này là hàm cn bc 2.
u thc trong lnh này là mt biu thc s hc.
8.3.2. 
a) CU TRÚC IF KHUYT DNG MT LNH
- :
If Then <
- : Nu kin> là úng thì thc hin <lc li không làm
gì c.

- :Hàm TimMax có ch ln nht ca 2 giá tr cha trong
tham s A, B.

8.23
b) CU TRÚC IF KHUYT DNG NHIU LNH
- :
If Then

End If
209

Trong : 
-  a: N u kin> là úng thì thc hin <Khi l c li

không làm gì c.
- V: on lnh sau y có ch ln nht và nh nht ca 2
giá tr cha trong hai bin A, B.
Max=A : Min =B
If Max < Min then
Max=B
Min=A
End If
c) CU TRÚC IF  DNG MT LNH
- :
If Then < Else <
-  N u ki  c hin <l c li, nu
u kin> là Sai thì thc hin <lnh 2>.
- : on chng trình có chc nng A
B.
If A>B then Max=A Else Max=B
d) CU TRÚC IF  DNG MT LNH
- :
If Then

Else

End If
Trong  <Khi lnh 1>, <Khi lnh 2> có th là mt lnh hoc nhiu
lnh.
-  Nu kin> là úng thì thc hin <Khi lc li,
nu kin> là Sai thì thc hin <Khi lnh 2>
- :on chng trình có chc nnggiá tr và giá tr nh
nht AB.
If A>B then

Max=A
Min=B
Else
210

Max=B
Min=A
End If

e) CU TRÚC IF DNG PHC TP NHIU TRNG HP
- :
If Then

ElseIf Then



ElseIf Then

[Else
]
End If
-  Nu u kin 1> là úng thì thc hin <Khi lnh 1>, nu u
kin 2> là  thì thc hin <Khi lnh 2>u u kin n> là 
thì thc hin <Khi lnh n>, nu kin nào là  c thì thc
hin <Khi lnh n+1> nu có.
- :  bin lun  nghim phng trình bc  dng
tng quát ax
2
+bx+c=0, (a<>0)

Delta=b^2-4*a*c
If Delta<0 then
ng trình vô nghi
ElseIf Delta=0 then
ng trình có nghim ké-c/(2*a)
Else
x1=(-b+Sqr(delta))/(2*a)
x2=(-b-Sqr(delta))/(2*a)
ng trình có 2 nghim phân bi
x2
End If
8.3.3. 
211

a) 
Select Case 
Case 

Case 


Case 
h n>
[Case Else
]
End Select
b) 
Nu <Biu thc kim tra> có giá tr là <Giá tr 1> thì thc hin <Nhóm lnh
1>, nu <Biu thc kim tra> có giá tr là <Giá tr 2> thì thc hin <Nhóm lnh
2u <Biu thc kim tra> có giá tr là <Giá tr n> thì thc hin <Nhóm

lnh n> , còn nu <Biu thc kim tra> có giá tr khác vi các giá tr t kê thì
thc hin <Nhóm lnh n+1> nu có.
c) 
 ca mt ngày bt k
Public Sub InThuCuaNgay()
Dim Thu As String
Ngay = InputBox("Nhap mot ngay bat ky", "Nhap lieu")
Select Case Weekday(Ngay)
Case 1
Thu = "Chu Nhat"
Case 2
Thu = "Thu Hai"
Case 3
Thu = "Thu Ba"
Case 4
Thu = "Thu Tu"
Case 5
Thu = "Thu Nam"
212

Case 6
Thu = "Thu Sau"
Case 7
Thu = "Thu Bay"
End Select
MsgBox Ngay & " la ngay " & Thu, vbInformation, "Ket qua"
Debug.Print Ngay & " la ngay " & Thu
End Sub



8.24


8.25:
8.3.4. 
a) 

:
- :
Do While  

Loop
-   là thì
 Sai

213

:
- :
Do

Loop While 
- .
 là  .
Khi nào  là Sai 
:
- 
While 
>
Wend

- 
Sai


- :
Do Until 

Loop
- Ý    là Sai thì
. Khi nào  là  

- :
Do

Loop Until 
-  m tra .
 là Sai .
Khi nào là  
: 
 

×