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

CHƯƠNG IX: NGÔN NGỮ VISUAL BASIC

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 (118.7 KB, 10 trang )

Microsoft Access 2000

CH

Ch

NG IX: NGÔN NG

ng 9: Ng

n ng

Visual Basic

VISUAL BASIC

Ch ng này gi i thi u n các b n nh ng khái ni m c b n c a ngôn ng l p
trình Visual Basic, cách s d ng ngôn ng Visual Basic
u khi n các bi n c
trên các bi u m u/báo cáo và cách t o ra m t hàm riêng.
9.1. Visual Basic (VB) là gì ?
VISUAL BASIC là ngôn ng l p trình cho MISCROSOFT ACCESS. B n s
ng nó y nh cách s d ng t p l nh (macro)
có th liên k t các i t ng trong
ng d ng c a b n l i v i nhau nh m t o thành m t h th ng ch ng trình m ch l c.
m khác bi t là visual basic cung c p nhi u s c m nh và m m d o h n là t p
nh. T ng t nh t p l nh, visual basic
c g n v i các i t ng trong CSDL.
Trong MICROSOFT ACCESS, b n có th th c hi n nhi u công vi c khác nhau
ng t p l nh ho c VB. Do ó v n
t ra là ch n công c nào


s d ng? S
ch n l a này tùy thu c vào công vi c c a chúng ta là s mu n làm cái gì.
Visual basic là m t ngôn ng th o ch ng hoàn thi n và theo ki u
u khi n
i s ki n (event driven programming language) nh ng l i r t gi ng ngôn ng th o
ch ng có c u trúc thông th ng. N u b n ã t ng vi t ch ng trình b ng ngôn
ng Pascal ho c C. b n s th y l i trong VB t t c nh ng c u trúc
u khi n mà
n ã t ng s d ng ch ng h n nh :
C u trúc l p (Loops).
C u trúc r nhánh IF … THEN … ELSE.
C u trúc ch n l a SELECT CASE.
Hàm (function) và th t c (procedure).
9.2.

u

m c a VB

1.

cho ng d ng c a b n d dàng b o trì h n: b i vì t p l nh là m t
i
ng hoàn toàn tách riêng l v i các bi u m u và các báo cáo s d ng nó, m t
ng d ng ch a m t s l n các t p l nh trong các bi n c c a các bi u m u và
các báo cáo s gây cho b n khó kh n khi b o trì. Ng c l i khi s d ng VB
lý các bi n c ó, n u ph i di chuy n các bi u m u ho c báo cáo sang m t
CSDL khác thì các
n l nh này c ng s mang i theo cùng.
2. T o ra các hàm c a riêng mình: S d ng Visual Basic ta c ng có th t o ra

các hàm riêng c a mình dùng
th c hi n các phép tính v t quá kh n ng c a
t bi u th c ho c thay th m t bi u th c quá ph c t p mà b n vi t trong bên
trong ng d ng c a mình. Ví d hàm chuy n i c con s chuy n thành ch ,…
3. Che i các thông báo l i: Khi có m t s c ngoài ý mu n xãy ra trong khi ng
ng c a b n ang v n hành và Microsoft Access hi n th thông báo l i, thông
báo này s làm cho ng i s d ng khó hi u c bi t khi h ch a quen s d ng
Microsoft Access. S d ng Visual basic, b n có th phát hi n các l i này khi nó
y ra và s hi n th thông báo l i c a riêng mình tu thu c vào ng d ng.
4. T o ho c s a i các i t ng: Nh chúng ta ã bi t ph n thi t k table,
query, form, report, … mu n thay i các c tính, b n ph i m
i t ng ch
thi t k , còn VB cho phép ta thay i ngay khi ch ng trình ang ch y b ng
cách vi t l nh.
5. Th c hi n các hành ng nâng c p h th ng: Dùng l nh RunApp
th c hi n
các l nh c a ng d ng khác.
6. Truy c p vào các b ng ghi (record): Th c hi n các thao tác trên Record nh
thêm, s a, xoá các record.
Trung t

m Tin h

c-

HAG

Trang 104



Microsoft Access 2000

Ch

ng 9: Ng

n ng

Visual Basic

9.3. Các thành ph n ch y u c a Acces basic
Access basic là ngôn ng th o ch ng hoàn ch nh, nó h tr ph ng pháp
th o ch ng có c u trúc mà b n ã th y trong ngôn ng Microsoft Visual Basic và
nh ng th o ch ng có c u trúc khác. Nh ng thành ph n ch y u c a Access basic:
Bi n (variables).
Th t c hàm (function procedure).
Các c u trúc ch n l a.
Các c u trúc l p c a Access basic.
u khi n s thi hành ch ng trình.
9.3.1. Bi n
Bi n dùng
l u tr nh ng giá tr t m th i khi th c hi n các phép tính trong
ch ng trình, có th b n mu n tính nhi u giá tr khác nhau, so sánh chúng r i th c
hi n.
1. Khai báo bi n: Dim tên_bi n [As ki u_d _li u]
Ví d : Dim nguyen, n As Integer.
2. Ph m vi và th i gian s ng c a bi n
Ph m vi s d ng c a bi n: tùy thu c vào vi c b n khai báo bi n
âu mà
ph m vi s d ng bi n ó s theo m t trong ba tình tr ng sau ây:

- Bi n c c b (local variable): ch
c nh n di n trong ph m vi th t c khai
báo bi n ó.
Ví d : Các bi n P1, P2, P3
- Bi n thu c n th (Module variable): thì
c dùng chung cho t t c nh ng
th t c thu c
n th
ó. Nh ng th t c thu c các
n th khác không th tham
chi u n bi n này
c.
Ví d : Các bi n Md1, Md2
- Bi n toàn c c (Global variable): Là bi n có ph m vi s d ng r ng nh t. Giá tr
a m t bi n toàn c c có th tham chi u t b t k m t th t c nào thu c h th ng
ng d ng.
Ví d : Các bi n A, B.
Module1

Procedure 1 có th truy xu t
các bi n A, B, Md1 và P1

Global A
Dim Md1

Không truy xu t
Md2, P3 và P2

Procedure 1
Dim P1


c các bi n

Module2
Global B
Dim Md2
Procedure 3
Dim P3

Procedure 3 có th truy xu t
các bi n A, B, Md2 và P3
Không truy xu t
c các bi n
Md1, P1 và P2

Procedure 2
Dim P2

Procedure 2 có th truy xu t
các bi n A, B, Md1 và P2
Không truy xu t
c các bi n
Md2, P1 và P3
Trung t

m Tin h

c-

HAG


Trang 105


Microsoft Access 2000

Ch

ng 9: Ng

n ng

Visual Basic

9.3.2. T o th t c bi n c
Cách vi t l nh bên trong th t c bi n c : Khi vi t l nh cho th t c bi n c thì
Access m ch ng trình Basic cho chúng ta vi t l nh
Th t c là các
n l nh mà b n ã vi t b ng ngôn ng Visual Basic. Bên trong
t th t c s ch a
ng m t dãy các câu l nh c a Visual Basic
th c hi n m t
hành ng ho c tính toán m t giá tr nào ó. M t th t c bi n c là m t th t c s
c ch y
áp l i cho m t bi n c .
Ch ng h n ta có nút l nh trong form khi ng i s d ng click vào nút l nh thì
form s óng form, ta nói click mouse là bi n c (event) hay s ki n. Ta vi t l nh
óng Form t c ta t o th t c x lý bi n c .
Th t c bi n c là m t ph n trong công vi c Form ho c Report. Do ó b c
u tiên là chúng ta ph i t o ra form và các ô

u khi n trên form này.
9.3.3. Th t c và
n th Visual basic
Th t c hàm (function procedure): T ng t v i nh ngh a c a hàm trong các
ngôn ng th o ch ng khác, th t c hàm c a Visual basic ch hoàn tr m t giá tr
duy nh t t i
m tham chi u n hàm ó.
1. Cú pháp c a th t c:
[Public|Private] [Static] Sub Tên_Th _t c([tham s ])
Các l nh th c hi n
End Sub
Trong ó:
Tham s : Các tham s g i vào
cho th t c dùng tính toán bên trong.
L nh th c hi n: Dãy các câu l nh Visual Basic mà ta mu n thi hành khi th
c ho c hàm
c g i.
Giá tr tr v : Giá tr d li u tr v sau khi m t dãy các câu l nh bên trong c a
hàm ã
c tính toán xong.
2. Khai báo các tham s trong th t c/hàm:
[ByVal I ByRef] <tên_bi n> As <ki u_DL> [=giá tr m c nh]
3. Cú pháp g i m t th t c:
Tên_Th _t c(Danh sách tham s )
ho c Call Tên_Th _t c(Danh sách tham s )
4. Cú pháp khai báo hàm
[Public|Private] [Static] Function Tên_hàm([tham s ]) As <ki u_DL>
<l nh th c hi n>
Tên_hàm= giá tr tr v
End Function

Sau khi th c hi n các câu l nh hàm cho ta k t qu là giá tr tr v .
Ví d : Hàm chuy n ký t s thành chu i
c nh ngh a nh sau:
Function SoThanhChuoi(i As Integer) As String
Dim str As String
Select Case i
Case 1
str = "Mot"
Case 2
Trung t

m Tin h

c-

HAG

Trang 106


Microsoft Access 2000

Ch

ng 9: Ng

n ng

Visual Basic


str = "Hai"
Case 3
str = "Ba"
Case 4
str = "Bon"
Case 5
str = "Nam"
Case 6
str = "Sau"
Case 7
str = "Bay"
Case 8
str = "Tam"
Case 9
str = "Chin"
End Select
sothanhchui = str
End Function
5. S d ng các tham s bi n
i
Khi g i n hàm chúng ta ph i truy n y
các tham s cho hàm n u không
thì h th ng s báo l i. Tuy nhiên Visual Basic cung c p cho chúng ta 2 cách
s
ng các tham s thay i.
Tham s có th b qua
Dùng t khóa Optional tr c m i tham s n u ta mu n cho tham s ó có th
qua. Khi g i hàm trong ó có khai báo Optional thì ta có th truy n ho c không
truy n tham s . N u không truy n thì hàm s l y giá tr nh s n trong nh ngh a
hàm i v i tham s có th b qua.

l ng tham s tùy ý
s d ng s l ng tham s tùy ý có ki u là Variant (ki u bi n) chúng ta ph i
d ng t khóa ParamArray. M c ích khi s d ng cách này là chúng ta ch a xác
nh
c s g i vào bao nhiêu tham s cho th t c khi ch y.
6. M ng (Array)
Dùng m t m ng
ch
n m t dãy các bi n cùng tên nhau và s d ng ch s
ch ra m t ph n t c a m ng. T t c các ph n t trong m t m ng ph i có cùng
t ki u d li u. D nhiên khi mãng có ki u d li u thay i thì các ph n t trong m t
ng có th ch a nhi u lo i d li u khác nhau.
Khai báo m ng có kích th c c
nh:
- Dim mangnguyen(10) As integer
- Dim mangsothuc(15) As Double
Ch s
u tiên c a m ng là 0. Nh ng ta có th ch nh ch s
u tiên.
- Dim mangnguyen(10) As integer
- Dim mangsothuc(15) As Double
Khai báo m ng nhi u chi u:
- Static mangmatran(9,9) As Double
- Ho c Static mangmatran(0 to 9,0 to 9) As Double
Tham chi u các ph n t trên m ng:
ch nh m t ph n t nào ó trên
ng ta s d ng ch s c a m ng.
Trung t

m Tin h


c-

HAG

Trang 107


Microsoft Access 2000

Ch

ng 9: Ng

n ng

Visual Basic

Ví d : Gán giá tr cho t ng ph n t c a m ng nguyên là 10.
Dim nguyen(1 to 5) As Integer
Dim I As Integer
For I=1 to 5
nguyen(I) = 10
Next I
9.4. Các c u trúc

u khi n c a ngôn ng

Basic


9.4.1. C u trúc quy t nh (Decision structures)
1. C u trúc IF … THEN:
B n s d ng c u trúc If … Then
th c hi n m t hay nhi u l nh có
n có th dùng m t trong hai ph ng pháp sau
di n t c u trúc này:
- L nh trên m t dòng: IF
u_ki n THEN th c_hi n_l nh
Ví d : If 6>=5 then Msgbox“sáu l n h n ho c b ng n m”
- L nh trên nhi u dòng:
IF
u_ki n THEN
th c_hi n_l nh_1
th c_hi n_l nh_2

ENDIF
Ví d :
IF 6>=5 THEN
Msgbox “sáu l n h n ho c b ng n m”
ENDIF
M c
u_ki n trong c u trúc IF là m t bi u th c mà giá tr là:
- Không ( u ki n sai-False) khi ó l nh không th c hi n.
- Khác không ( u ki n úng-True) khi ó l nh
c th c hi n.
2. C u trúc IF … THEN … ELSE
Cú pháp:
IF
u_ki n THEN
[statements]

[ELSEIF condition-n Then
[elseifstatements] ...
[ELSE
[elsestatements]]
END IF
3. C u trúc SELECT CASE
Cú pháp:
SELECT CASE bi u_th c_ki m_ nh
[CASE danh_sách_giá_tr _1:
[nhóm_l nh_1]]
[CASE danh_sách_giá_tr _2:
[nhóm_l nh_2]]

[CASE ELSE
[nhóm_l nh_n]]

Trung t

m Tin h

c-

HAG

u ki n.

Trang 108


Microsoft Access 2000


Ch

ng 9: Ng

n ng

Visual Basic

i danh_sách_giá_tr là m t danh sách g m m t hay nhi u giá tr kh h u c a
bi u th c ki m nh và
c phân cách nhau b i d u ch m ph y ”;” trong tr ng
p m t dãy giá tr liên ti p, b n có th dùng t khoá TO.
Ví d : CASE 1 TO 5
i nhóm_l nh có th ch a m t hay nhi u l nh (ho c không có) mà Access
basic ph i thi hành khi bi u th c ki m nh có giá tr n m trong danh sách giá tr
ng ng. Trong tr ng h p có nhi u câu CASE tho
u ki n ki m nh thì ch có
nhóm l nh ng v i câu CASE u tiên th a
u ki n ki m nh
c thi hành mà
thôi. Trong tr ng h p không m t câu CASE nào tho
u_ki n_ki m_ nh thì
access basic s thi hành nhóm l nh qui nh câu CASE ELSE.
9.4.2. C u trúc l p
p l i m t nhóm l nh trong khi m t
u ki n úng (While) ho c cho
u ki n sai (Until).
Do [{While | Until}
u_ki n_ki m_ nh]

[Nhóm l nh]
[Exit Do]
[Nhóm l nh]
Loop
Ho c:
Do
[Nhóm l nh]
[Exit Do]
[Nhóm l nh]
Loop [{While | Until}
u_ki n_ki m_ nh\
2. C u trúc For … Next
Cú pháp:
FOR bi n=giá_tr
u TO giá_tr _cu i [STEP gia_s ]
Nhóm l nh
NEXT

n khi

t

Gia s có th là s d ng ho c s âm.
Ví d : Tính t ng các s nguyên t 1 n 10:
Sub tong10()
Dim tong, I As Integer
Tong=0
For I=1 to 10
Tong = tong + i
Next

Msgbox ”T ng 10 s nguyên là: ”&tong
End sub
Ho c:
Sub tong10()
Dim tong, I As Integer
Tong=0
For I=10 to 1 step -1
Tong = tong + i
Next
Msgbox ”T ng 10 s nguyên là: ”&tong
End sub
Trung t

m Tin h

c-

HAG

Trang 109


Microsoft Access 2000
9.4.3.

Ch

u khi n s thi hành ch

ng 9: Ng


n ng

Visual Basic

ng trình

C u trúc
u khi n l ng nhau: B n có th vi t m t c u trúc
u khi n l ng trong
u trúc
u khi n khác.
Thoát kh i c u trúc
u khi n: B n có th thoát kh i m t vòng l p ho c thoát
kh i m t th t c Sub, Function b ng cách dùng l nh Exit.
Ví d :
- Thoát kh i vòng l p ForExit For.
- Thoát kh i m t th t c sub ho c function: Exit Sub
9.4.4. S d ng các hàm
Khi ta ã xây d ng xong hoàn ch nh m t hàm thì ta có th g i s d ng nó
c
i các v trí sau:
Trong các th t c ho c các hàm khác.
M t bi u th c nh ngh a tính toán trong m t truy v n, m t
u khi n trên
Form (bi u m u) ho c Report.
Làm
u ki n cho truy v n ho c t p l nh.
9.5. Bi n bi u th cho CSDL (Database variables):
t c các hàm mà b n s d ng trong vi c m b ng d ki n (table), b ng truy

n (query) trong Access Basic u òi h i qui nh m t i t ng c a CSDL. B n
khai báo bi n i t ng thu c ki u Database theo cùng m t cách gi ng nh khai báo
t c nh ng i t ng khác nh ng tr c khi khai báo m t bi n CSDL b n ph i khai
báo c vùng làm vi c dành cho CSDL ó.
Ví d : bi n tham chi u n CSDL ang làm vi c hi n hành có th
nh ngh a
nh sau:
Dim Ws as WorkSpace
‘bi n i t ng WorkSpace
Dim DB as Database
‘bi n i t ng Database
Set ws = DBEngine.Workspaces(0)
‘vùng làm vi c hi n hành
Set DB = Ws.Databases(0)
‘CSDL hi n hành
Ho c n gi n h n:
Dim DB As Database
Set DB= DBEngine.Workspaces(0).Databases(0)
‘CSDL hi n hành
Ho c:
Dim DB as Database
Set DB=CurrentDB()
9.6.

it

ng và bi n bi u th các

it


ng:

Nh ta ã bi t ph n c b n các thao tác t o, s a, xóa các i t ng table,
query, form, report ch b ng thao tác click mouse và còn l thu c vào cách x trí c a
ng i thao tác. Trong ph n này chúng ta bàn v cách vi t l nh tùy theo tình hu ng
mà ch ng trình s x lý.
Ch nh các
i t ng thu c tính và ph ng th c:
Các i t ng access
c phân lo i ra thành các t p h p, và các t p h p này
c nhóm l i theo t ng i t ng cùng m t lo i. T p h p các form là m t nhóm
các form ang m trong c s d li u. M i m t form l i có t p h p các
u khi n là
các
u khi n có trên form. M i m t
u khi n trên form l i là m t i t ng, và ta
có th ch
n b t k m t i t ng xuyên su t qua t p h p mà i t ng ó thu c
vào.
Trung t

m Tin h

c-

HAG

Trang 110



Microsoft Access 2000

Ch

ng 9: Ng

n ng

Visual Basic

Ví d :
ch nh n m t form trong t p h p các form. Visual basic
a ra 3
cách
ch nh n m t i t ng:
Form!<tên_form> ho c Form(“<tên_form>”) ho c Form(0)
Trong ó cách dùng
ch nh form theo th t mà nó
cm :0
ch form
ã m ra u tiên, 1 ch nh form m ra th hai,…
Cách tham chi u n các i t ng c a CSDL:
it

ng tham chi u

Qui

nh tham chi u


Form

Forms![tên_form]

Thu c tính c a Form

Forms![tên_ form].[thu c_tính]

u khi n trong
Tính ch t ô

u khi n thu c Form

Forms![tên_ form].[Tên_

u_khi n]

Forms![tên_ form].[Tên_

u_khi n].[thu c_tính]

Gán giá tr cho bi n
i t ng: Dùng l nh SET
liên k t i t
i t ng ã có c a CSDL.
9.7. Bi n bi u th
i t ng là m t t p h p m u tin (Recordset)
9.7.1. Phân lo i: Có 3 lo i recordset:
Ki u


it

ng

S m u tin c a

it

ng

ki n c a

it

Table

Có th thay

i

Có th thay

i

Dynaset

Có th thay

i


Có th thay

i

không thay

i

SnapShot

nh/ không thay

i

ng v i m t

ng

Bi n Recordset thu c lo i Table: bi n lo i này h tr h u h t các thao tác thêm
(add), s a (update), xoá (delete) và cho bi t tình tr ng m i nh t c a b ng d li u
(table). Ch th c hi n trên CSDL hi n hành.
Cách m :
SET bi n=CSDL.OpenRecordset(tên Table, DB_OPEN_TABLE)
Bi n Recordset thu c lo i Dynaset: bi n lo i này linh ho t h n lo i table.
Cách m :
SET bi n=CSDL.OpenRecordset(tên Table, DB_OPEN_DYNASET)
Bi n Recordset thu c lo i Snapshot:
Cách m :
SET bi n=CSDL.OpenRecordset(tên Table, DB_OPEN_SNAPSHOT)
9.7.2. X lý d ki n v i các bi n Recordset

1. Di chuy n t Record này n record khác
Ph

ng th c

Ý ngh a

MoveFirst

Di chuy n v record

MoveNext

Di chuy n v record k ti p. N u thu c tính EOF là True thì
MoveNext c th c hi n s xãy ra l i.

MovePrevious

Di chuy n v record tr c ó. N u thu c tính BOF là True thì
MovePrevious c th c hi n s xãy ra l i.

MoveLast

u tiên

Di chuy n v record cu i cùng

u trúc c a m t t p h p m u tin (recordset):
BOF
RECORD 1

Trung t

m Tin h

c-

HAG

Trang 111


Microsoft Access 2000

Ch

ng 9: Ng

n ng

Visual Basic

RECORD 2
RECORD 3


RECORD n
EOF
t bi n Recordset (lo i Table, Dynaset, ho c Snapshot) th
hi n hành c a nó, ngh a là ch
n record hi n hành.

2.
m nh ng m u tin c a bi n Recordset: RecordCount.
3. Tìm ki m m t m u tin c bi t
- Dùng ph ng th c Find:
Ph

ng th c

ng có m t v trí

Ý ngh a

FindFirst

Tìm n Record
tiêu chu n ã qui

u tiên trong nhóm nh ng record tho
nh.

FindNext

Tìm
n Record k ti p record hi n hành trong nhóm
nh ng record tho tiêu chu n ã qui nh.

FindPrevious

Tìm
n Record ngay tr c record hi n hành trong

nhóm nh ng record tho tiêu chu n ã qui nh.

FindLast

Tìm
n Record cu i cùng trong nhóm nh ng record
tho tiêu chu n ã qui nh.

- Dùng ph ng th c Seek: Tìm theo tiêu chu n so sánh. Các phép so sánh
m: =, >=, >, <, <=.
4.
u ch nh nh ng m u tin (record) c a m t Recordset.
u ch nh m u tin hi n hành c a Recordset:
+ B1: Di chuy n n record mu n s a.
+ B2: Dùng hành vi Edit (cho phép ch nh s a m u tin hi n hành).
+ B3: Th c hi n vi c ch nh s a.
+ B4: Dùng hành vi Update (l u l i nh ng thay i).
Ví d : Trong CSDL qu n lý hóa
n
u ch nh d li u c a các record có s
hóa
n 015 thành 025.
Sub chinhhd()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb() 'gán bi n DB là m t csdl HI N HÀNH
Set rs = db.OpenRecordset("HOADON")
If Not rs.BOF Then
rs.MoveFirst
End If

Do Until rs.EOF
If rs!SOHD = "015" Then
rs.EditMode
rs!SOHD = "025"
Trung t

m Tin h

c-

HAG

Trang 112


Microsoft Access 2000

Ch

ng 9: Ng

n ng

Visual Basic

rs.Update
End If
rs.MoveNext
Loop
rs.Close

End Sub
- Thêm m t m u tin vào Recordset.
+ B1: Dùng hành vi Addnew.
+ B2: Gán nh ng giá tr cho các field c a Recordset.
+ B3: Dùng hành vi Update (l u l i nh ng thay i).
VD:Thêm m t record vào b ng (table) HOADON:
Sub themRecord()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb() 'gán bi n DB là m t csdl HI N HÀNH
Set rs = db.OpenRecordset("HOADON")
rs.Addnew
rs!SOHD = "035”
rs!LOAIHD=”NHAP”
rs!NGAYHD=#30/12/99#
rs!MAKH=”CTB00011”
rs!MAKHO=”KH1”
rs!TRIGIA=100000
rs!THUE=5
rs.Update
rs.Close
End Sub
m s record trong m t b ng: Dùng thu c tính RecordCount.
mb o
tính chính xác tr c khi s d ng ta cho con tr v cu i b ng b ng cách s d ng
ph ng th c MoveLast.
p x p d li u trong b ng: Dùng thu c tính Sort.
c d li u: Dùng thu c tính Filter.
- S p x p: Dùng thu c tính Index.
- o bi n Recordset trên c s m t Form: Dùng l nh SET theo cú pháp sau:

SET Tên_bi n_Recordset = Forms![Tên_Form].RecordsetClone

Trung t

m Tin h

c-

HAG

Trang 113



×