Professional Documents
Culture Documents
Trang:1
Baøi giaûng Heä quaûn trò CSDL Access
Nuùt choïn Open an existing file: cho pheùp môû moät taäp tin
CSDL Access ñaõ toàn taïi treân ñóa. Muïc choïn More file cho
pheùp môû tieáp hoäp thoaïi Open File.
Löu yù: coù theå môû tröïc tieáp taäp tin CSDL Microsoft Access trong
cöûa soå My Computer.
3. Caùc thaønh phaàn trong maøn hình Microsoft Access.
Sau khi khôûi ñoäng Microsoft Access cuûa soå Microsoft Access xuaát
hieän vaø bao goàm coù caùc thaønh phaàn chính sau:
Thanh thöïc ñôn(Menu bar) vaø thanh coâng cuï(Tool bar).
Cöûa soå CSDL chöùa caùc ñoái töôïng trong CSDL.
Thanh traïng thaùi vaø höôùng daãn laøm vieäc ôû döôùi cöûa soå
(Status bar).
4. Thoaùt khoûi Microsoft Access .
File/ Exit = Alt+F4
III. TAÄP TIN CSDL ACCESS.
Toaøn boä caùc ñoái töôïng trong CSDL Access ñöôïc löu tröõ trong
moät taäp tin coù phaàn môû roäng mdb. Caùc thao taùc vôùi taäp tin
CSDL trong cöûa soå Microsoft Access:
1. Môû moät taäp tin CSDL môùi: File/ New = Ctrl+N = Click nuùt
New treân thanh coâng cuï.
Coù theå taïo moät Blank database hay moät database wizard.
2. Môû moät taäp tin CSDL ñaõ coù: File/ Open = Ctrl+O = Click
nuùt Open treân thanh coâng cuï. Tieáp theo choïn nôi löu tröõ taäp
tin CSDL(Lookin) vaø choïn taäp tin, sau ñoù click nuùt Open.
Neáu muoán môû taäp tin CSDL ôû cheá ñoä ñoäc quyeàn( chæ moät
ngöôøi söû duïng) thì choïn tuyø choïn Open exclusive.
IV. CAÙC ÑOÁI TÖÔÏNG BEÂN TRONG TAÄP TIN CÔ SÔÛ DÖÕ
LIEÄU:
1. Tables: chöùa caùc ñoái töôïng laø caùc baûng(Table) löu tröõ döõ
lieäu trong CSDL. Table coù theå laø table trong CSDL hay laø table
lieân keát(link) ñeán table cuûa CSDL khaùc nöõa.
2. Queries: chöùa caùc ñoái töôïng laø caùc truy vaán laø(Query)
ñöôïc taïo ra ñeå thöïc hieän truy vaán döõ lieäu trong CSDL.
3. Forms: chöùa caùc maøn hình caäp nhaät döõ lieäu hay giao dieän
hoäi thoaïi laø caùc bieåu maãu(Form) ñöôïc taïo ra ñeå caäp nhaät
döõ lieäu hay ñeå giao tieáp vôùi ngöôøi söû duïng.
4. Reports: chöùa caùc khuoân daïng keát xuaát döõ lieäu ra maøn
hình hoaëc maùy in laø caùc baùo bieåu(Report) ñöôïc taïo ra ñeå
keát xuaát döõ lieäu.
5. Macros: chöùa caùc taäp leänh(Macro) ñöôïc taïo ra ñeå baåy söï
kieän cho caùc ñoái töôïng: menu, nuùt leänh, textbox…
6. Modules: chöùa caùc Module laø caùc haøm vaø thuû tuïc laäp
trình baèng ngoân ngöõ VBA ñeå thöïc hieän caùc chöùc naêng
caäp nhaät döõ lieäu hay caùc chöùc naêng linh ñoäng khaùc.
Caùc thao taùc cô baûn treân caùc ñoái töôïng:
Trang:2
Baøi giaûng Heä quaûn trò CSDL Access
Moät CSDL ñöôïc thieát keá toát cho pheùp baïn truy caäp nhanh
choùng ñeán caùc thoâng tin caàn khai thaùc giuùp baïn tieát kieäm
thôøi gian vaø ruùt ra ñöôïc nhöõng keát quaû nhanh choùng hôn vaø
chính xaùc. Quaù trình xaây döïng moät öùng duïng quaûn lyù CSDL
laø quaù trình xaây döïng caùc chieán löôïc, caùc chöông trình quaûn
lyù caùc baûng döõ lieäu(Table). Ñeå coù ñöôïc caáu truùc caùc baûng
nhö theá naøo cho hôïp lyù vaø ñuùng chuaån CSDL, quan heä giöõa
caùc baûng ra sao. Ñieàu ñoù phuï thuoäc vaøo töøng heä thoáng
thoâng tin vaø phuï thuoäc vaøo vieäc “Phaân tích thieát keá heä
thoáng” thoâng tin quaûn lyù.
I. CAÙC KHAÙI NIEÄM
• Baûng(Table):
Baûng laø duøng ñeå bieåu dieãn moät ñoái töôïng thoâng tin
lieân quan ñeán moät chuû ñeà.
Ví duï: Baûng SINHVIEÂN
Baûng LÔÙP
Trang:3
Baøi giaûng Heä quaûn trò CSDL Access
Moät baûng ñuôïc trình baøy döôùi hình thöùc haøng – coät. Moãi
haøng laø moät maãu tin, moãi coät laø moät tröôøng thoâng tin.
Moät CSDL coù theå coù nhieàu baûng. Khi taïo moät CSDL môùi,
baûng laø ñoái töôïng ñaàu tieân caàn taïo.
• Tröôøng(Filed): laø teân caùc coät cuûa baûng. Moãi tröôøng
coù teân tröôøng (field name), kieåu döõ lieäu cuûa tröôøng
(data type), vaø caùc quy luaät raøng buoäc veà döõ lieäu: ñieàu
kieän hôïp leä, maët naï nhaäp lieäu, coù baét buoäc nhaäp döõ
lieäu hay khoâng, coù ñöôïc pheùp ñeå troáng hay khoâng, coù
ñöôïc pheùp truøng laëp khoâng… Trong moät baûng khoâng
ñöôïc coù 2 tröôøng truøng teân nhau.
Teân tröôøng coù ñoä daøi toái ña 255 kyù töï, coù theå coù
khoaûng traéng (space). Khuyeán khích , neân ñaët teân tröôøng
khoâng coù khoaûng traéng, khoâng coù daáu tieáng Vieät, khoâng
chöùa caùc kyù hieäu ñaëc bieät ñeå deã daøng söû duïng khi tham
chieáu ñeán teân tröôøng.
• Maãu tin(Record): laø caùc doøng thoâng tin, moãi doøng laø
moät maãu tin. Caùc döõ lieäu cuï theå cuûa moãi tröôøng chính
laø thoâng tin veà moät ñoái töôïng thoâng tin cuï theå trong
baûng. Döõ lieäu cuûa moãi tröôøng yeâu caàu phaûi ñuùng vôùi
kieåu döõ lieäu cuûa tröôøng, coù ñoä daøi nhoû hôn hoaëc
baèng kích thöôùc (size) cuûa tröôøng vaø thoaû taát caû caùc
ñieàu kieän raøng buoäc.
Ví duï: moät record trong baûng sinhvieân laø moät sinh vieân,
moät record trong baûng haønghoaù laø moät haøng hoaù cuï
theå…
• Khoaù chính(Primary Key): khoaù chính laø moät hoaëc nhieàu
tröôøng trong baûng maø treân ñoù caùc maãu tin trong baûng
seõ khoâng ñöôïc coù döõ lieäu truøng nhau, döõ lieäu laø khoaù
seõ khoâng ñöôïc pheùp roãng.
• Khoaù ngoaïi(Foreign key): laø moät hoaëc nhieàu tröôøng noù
laø khoaù chính cuûa moät baûng khaùc. Khoaù ngoaïi laø hieåu
ngaàm vaø ñeå taïo quan heä cho 2 baûng, coøn khoaù chính
ñöôïc thieát laäp luùc thieát keá baûng hay luùc thay ñoåi caáu
truùc baûng.
Ví duï: Trong baûng LOP, khoaù chính laø malop, khoaù ngoaïi
laø makhoa. Trong baûng sinhvien, khoaù chính laø masv, khoaù
ngoaïi laø malop.
Trang:4
Baøi giaûng Heä quaûn trò CSDL Access
Vieäc quy ñònh khoaù chính vaø khoaù ngoaïi cho baûng laø
keát quaû cuûa quaù trình phaân tích thieát keá heä thoáng
thoâng tin.
II. CÔ BAÛN VEÀ PHAÂN TÍCH THIEÁT KEÁ HEÄ THOÁNG
1. Thöïc theå, quan heä, vaø baûn soá.
2. Moâ hình thöïc theå quan heä.
3. Moâ hình vaät lyù.
I. TAÏO BAÛNG BAÈNG DESIGN.
1. Caùc böôùc taïo baûng
Choïn lôùp Tables.
Click nuùt leänh New
Datasheet View: Thieát keá baûng theo daïng sheet
(gioáng Excel).
Design View: Töï thieát keá, daïng naøy cho pheùp deã linh
hoaït khi thieát keá.
Table wizard: Thieát keá vôùi söï trôï giuùp cuûa wizard.
Link Table: Lieân keát ñeán table CSDL khaùc.
Import Table: Nhaäp table töø CSDL khaùc.
2. Maøn hình thieát keá baûng
• Field Name: teân tröôøng toái ña laø 255 kyù töï.
• Data Type: Kieåu döõ lieäu cuûa tröôøng. Caùc kieåu Microsoft
Access cung caáp:
Kieåu döõ YÙ nghóa löu tröõ
lieäu
Text Kieåu chuoãi coù ñoä daøi toái ña 255 kyù töï.
Memo Kieåu chuoãi coù ñoä daøi toái ña 65535 kyù
töï.
Number Kieåu soá (soá nguyeân, soá thöïc).
Date/Time Kieåu ngaøy giôø.
Currency Kieåu soá coù ñònh daïng loaïi tieàn teä.
AutoNumber Kieåu soá nguyeân 4 byte töï ñoäng taêng,
Microsoft Access töï ñoäng taêng 1 ñôn vò khi
theâm môùi maãu tin.
Yes/No Kieåu logic Yes/No hoaëc True/False
OLE Object Kieåu ñoái töôïng nhuùng: file Word, Excel,
hình aûnh…
Hyperlink Kieåu chuoãi chæ ñöôøng ñeán moät file hay
moät trang web.
Lookup Taïo moät hoäp keâ thaû ñeå nhaäp döõ lieäu
Wizard choïn töø moät tröôøng cuûa baûng khaùc.
• Description: moâ taû ghi chuù theâm cho teân tröôøng thanh
traïng thaùi seõ hieån thò ghi chuù naøy khi môû baûng ôû
cheá ñoä caäp nhaät döõ lieäu.
• Field Size: ñoä roäng toái ña cuûa tröôøng ñöôïc quy ñònh ñoái
vôùi kieåu soá vaø chuoãi.
Trang:5
Baøi giaûng Heä quaûn trò CSDL Access
Trang:6
Baøi giaûng Heä quaûn trò CSDL Access
baûng seõ coù theâm tröôøng teân ID kieåu Auto Number, neáu
choïn No baûng seõ khoâng coù khoaù chính.
5. Caùc thao taùc khi thieát keá baûng
• Choïn caùc doøng filed: click treân leà traùi teân tröôøng,
neáu choïn nhieàu tröôøng aán giöõ phím Ctrl.
• Sao cheùp doøng filed.
Choïn tröôøng.
Edit\Copy
Edit\Paste
• Xoaù 1 doøng filed: Choïn tröôøng\Right Click\Delete
• Thay ñoåi vò trí doøng filed: duøng chuoät keùo tröôøng ñeán
vò trí mong muoán.
• Cheøn theâm doøng: Insert\Row = Click phaûi choïn Insert row
6. Taïo caùc chæ muïc (index) cho baûng
7. Taïo Lookup cho tröôøng
VI. TAÏO QUAN HEÄ CAÙC BAÛNG.
1. Taïi sao phaûi taïo quan heä
Sau khi taïo caáu truùc caùc baûng, luùc naøy caùc baûng maëc
ñònh chöa coù quan heä gì vôùi nhau caû, böôùc tieáp theo laø
thieát laäp quan heä giöõa baûng. Taïo quan heä cho caùc baûng
laøm cho vieäc nhaäp döõ lieäu vaøo caùc baûng ñöôïc chaët cheõ
vaø thoáng nhaát ñuùng quan heä. Chaúng haïn baûng A coù quan
heä vôùi baûng B thì nhaäp döõ lieäu phaûi ñuùng quan heä ñoù,
hay khi thay ñoåi döõ lieäu baûng A thì döõ lieäu beân caùc baûng
quan heä vôùi noù cuõng ñöôïc Microsoft Access töï ñoäng thay
ñoåi.
2. Caùc loaïi quan heä
• Quan heä 1-1 (One to One)
Moãi maãu tin beân baûng naøy coù quan heä vôùi moät maãu
tin beân baûng kia vaø ngöôïc laïi. Cuï theå laø caû hai tröôøng
ñeàu laø khoaù.
• Quan heä 1-∝ (One to Many)
Moãi maãu tin beân baûng 1 coù quan heä vôùi nhieàu maãu tin
beân baûng ∝ vaø moãi maãu tin beân baûng ∝ coù quan heä
vôùi moät maãu tin beân baûng 1. Cuï theå tröôøng beân baûng
1 laø khoaù chính coøn beân tröôøng beân baûng ∝ laø khoaù
ngoaïi.
3. Caùc böôùc thöïc hieän
Tools/Relationship
Choïn caùc Table ñeå ñöa vaøo (Add) cöûa soå quan heä.
Caùch taïo quan heä giöõa 2 baûng:
Duøng chuoät keùo khoaù chính cuûa baûng naøy thaû vaøo
ngay khoaù ngoaïi cuûa baûng quan heä vôùi noù.
Xaùc ñònh caùc toaøn veïn tham chieáu döõ lieäu quan heä:
Trang:7
Baøi giaûng Heä quaûn trò CSDL Access
Trang:8
Baøi giaûng Heä quaûn trò CSDL Access
Trang:9
Baøi giaûng Heä quaûn trò CSDL Access
5. Xoaù boû, ñoåi teân, import, export truy vaán: gioáng nhö
ñoái töôïng khaùc.
II. CAÙC LOAÏI TRUY VAÁN (SELECT QUERY)
1. Truy vaán löïa choïn:
Laø truy vaán loïc ruùt trích caùc döõ lieäu töø caùc table hay query
khaùc ñeå cho ra keát quaû laø moät baûng döõ lieäu coù caùc coät
(tröôøng) vaø caùc maãu tin mong muoán.
a. Cuù phaùp caâu leänh SQL:
SELECT [tính chaát] field [AS alias] ,field2 [AS
alias] ,field3 [AS alias], field4 [AS alias],bieåu thöùc
[AS alias]…
FROM Table1,Table2, Query [IN MDB khaùc], ….
[WHERE <bieåu thöùc ñieàu kieän>]
[GROUP BY <bieåu thöùc khoaù ñeå nhoùm döõ
lieäu>]
[HAVING <ñieàu kieän ñeå nhoùm>]
[ORDER BY <danh saùch caùc tröôøng laøm index
ñeå saép xeáp>];
b. Giaûi thích caùc thaønh phaàn:
Tính chaát:
All: taát caû caùc maãu tin.
TOP <n>: n maãu tin ñaàu tieân.
Distinct: loaïi boû caùc coät truøng nhau.
DistinctRow: loaïi boû caùc doøng truøng nhau.
Field: caùc tröôøng caàn choïn neáu truøng nhau ôû
caùc baûng thì chæ ra baûng teânbaûng.teântröôøng,
neáu muoán ñaët laïi teân coät thì ghi as alias
Table/Query: laø caùc teân baûng hay query tham gia laøm
nguoàn data cho truy vaán.
WHERE <bieåu thöùc ñieàu kieän>
GROUP BY <bieåu thöùc khoaù ñeå nhoùm döõ lieäu>
HAVING <ñieàu kieän ñeå nhoùm>
ORDER BY <danh saùch caùc tröôøng laøm index ñeå saép
xeáp>
c. Moät soá ví duï
Choïn ra caùc sinh vieân lôùp TH1A saép xeáp theo teân
giaûm daàn.
SELECT sinhvien.masv, sinhvien.holot, sinhvien.ten,
sinhvien.malop
FROM sinhvien
WHERE sinhvien.malop='TH1A'
ORDER BY sinhvien.ten;
Choïn ra caùc sinh vieân nöõ cuûa lôùp TH1A vaø TH1B vaø
saép xeáp taêng theo teân, neáu truøng teân thì saép xeáp
theo hoï.
Trang:10
Baøi giaûng Heä quaûn trò CSDL Access
Trang:11
Baøi giaûng Heä quaûn trò CSDL Access
Khi caàn nhoùm döõ lieäu ta duøng töø khoùa GROUP BY. Khi
ñoù caùc tröôøng khoâng thuoäc khoaù nhoùm seõ aùp duïng
caùc haøm sau ñaây:
Sum(): tính toång trong nhoùm.
Count(): ñeám soá caùc giaù trò trong nhoùm.
Max(): soá lôùn nhaát trong nhoùm.
Min: soá nhoû nhaát trong nhoùm.
Avg(): tính trung bình coäng trong nhoùm.
First(): laáy giaù trò maãu tin ñaàu trong nhoùm.
Last(): laáy giaù trò maãu tin cuoái trong nhoùm.
2. Truy vaán haønh ñoäng (action query):
Caùc truy vaán haønh ñoäng khoâng traû veà taäp caùc maãu tin
maø noù taùc ñoäng aûnh höôûng leân caùc table/query trong CSDL:
taïo baûng môùi, caäp nhaät laïi döõ lieäu, theâm maãu tin, xoaù
caùc maãu tin, xoaù baûng…
a. Truy vaán taïo baûng (Make -Table Query)
Cuù phaùp SQL 1: taïo baûng môùi töø keát quaû cuûa
truy vaán SELECT
SELECT field1, field2,… INTO tablemôùi [IN MDB khaùc]
FROM tablenguoàn……
WHERE….
GROUP BY…. ;
Hay taïo caáu truùc baûng môùi:
CREATE TABLE tblname (fieldname kieåu[(size)],
fieldname kieåu[(size)],fieldname kieåu[(size)],...);
Caùc kieåu:
- Kieåu chuoãi: Text. VD: Text(10), Text(20)...
- Kieåu soá: Byte, Short, Long, Single, Double.
- Kieåu logic: YesNo
- Kieåu ngaøy giôø: DateTime
- Kieåu OLE: LongBinary
b. Truy vaán caäp nhaät (Update Query)
Cuù phaùp SQL:
UPDATE tableNAME
SET field1=bieåu thöùc, field2=bieåu thöùc,…
WHERE ñieàu kieän;
c. Truy vaán theâm maãu tin (Append Query)
Cuù phaùp SQL:
INSERT INTO tablename [(field1, field2, field3,…)]
VALUES (bieåu thöùc1, bieåu thöùc2, bieåu
thöùc3,…);
Hay theâm töø taäp keát quaû
INSERT INTO table ñích [IN MDB khaùc]
SELECT field1, field2,…
FROM tablenguoàn……
Trang:12
Baøi giaûng Heä quaûn trò CSDL Access
WHERE….
GROUP BY…. ;
d. Truy vaán xoaù (Delete Query)
Cuù phaùp SQL:
DELETE FROM tableNAME
WHERE ñieàu kieän xoaù;
e. Truy vaán xoaù baûng(Drop Table): xoaù baûng khoûi
CSDL
Trang:13
Baøi giaûng Heä quaûn trò CSDL Access
IV. CAÙC THAO TAÙC TAÏO TRUY VAÁN VÔÙI QBE (QUERY BY
EXAMBLE).
V. THAM SOÁ TRONG QUERY, TRUY VAÁN CON
1. Parameters
Tham soá trong truy vaán laø moät ñoái töôïng coù giaù trò thay
ñoåi ñöôïc(nhaäp töø baøn phím hay trong cheá ñoä laäp trình)
gioáng nhö bieán trong ngoân ngöõ laäp trình. Moät query coù taäp
caùc tham soá, caùc tham soá naøy thöôøng laøm giaù trò ñeå so
saùnh trong ñieàu kieän. Töø ñoù ta coù moät query coù caùc yeâu
caàu loïc löïa choïn thay ñoåi ñöôïc tuyø theo giaù trò caùc tham
soá.
Cuù phaùp khai baùo tham soá trong SQL:
PARAMETERS teânts1 kieåu, teânts2 kieåu, teânts3
kieåu, … ;
SELECT….
Ví duï:
PARAMETERS ploai Text, psoluong Short, pngay DateTime;
Ví duï loïc ra caùc sinh vieân cuûa moät lôùp, maõ lôùp nhaäp.
PARAMETERS pmalop Text;
SELECT sinhvien.masv, sinhvien.holot, sinhvien.ten,
sinhvien.ngaysinh, sinhvien.malop
FROM sinhvien
where malop=pmalop;
Caùc kieåu cuûa tham soá:
- Kieåu chuoãi: Text
- Kieåu soá: Byte, Short, Long, Single, Double.
- Kieåu ngaøy giôø: DateTime
- Kieåu OLE: LongBinary
2. Sub Query: Hôïp, giao, tröø
a. Query hôïp: 2 query phaûi khaû hôïp
Cuù phaùp SQL:
SELECT …..
FROM ….
WHERE…
UNION
SELECT …..
FROM ….
WHERE… ;
b. Query giao: söû duïng pheùp toaùn IN
Cuù phaùp SQL:
SELECT….
FROM ….
WHERE… AND khoaù IN (SELECT field FROM….)
c. Query tröø: söû duïng pheùp NOT IN
Cuù phaùp SQL:
Trang:14
Baøi giaûng Heä quaûn trò CSDL Access
SELECT….
FROM ….
WHERE… AND khoaù NOT IN (SELECT field
FROM….WHERE … IN(….))
Thöôøng caâu truy vaán Sub Query neáu phöùc taïp ta neân taïo
rieâng ñeå deã daøng kieåm tra tính ñuùng ñaén cuûa noù, sau ñoù
sau cheùp daùn vaøo.
VI. TAÏO QUERY CROSSTAB VÔÙI TRÌNH WIZARD
Trang:15
Baøi giaûng Heä quaûn trò CSDL Access
Form laø ñoái töôïng cho pheùp giao tieáp vôùi ngöôøi söû
duïng, form ñöôïc thieát keá ñeå caäp nhaät döõ lieäu vaøo caùc
table (form döõ lieäu), hay ñeå thöïc hieän giao tieáp vôùi
ngöôøi söû duïng (form hoäp hoäi thoaïi) .
2. Caùc thaønh phaàn cuûa form
Form header: Caùc ñieàu khieån naèm trong phaàn naøy seõ
xuaát hieän ôû ñaàu bieåu maãu.
Detail: theå hieän chi tieát döõ lieäu cuûa bieåu maãu.
Form Footer:Caùc ñieàu khieån naèm trong phaàn naøy seõ
xuaát hieän ôû cuoái bieåu maãu.
3. Caùc loaïi form thoâng duïng
a. Form döõ lieäu: laø caùc form ñöôïc thieát keá ñeå caäp
nhaät döõ lieäu vaøo caùc table/query. Form loaïi naøy coù
döõ lieäu laø table/query laø nguoàn döõ lieäu döôùi neàn
cuûa noù.
b. Form hoäp hoäi thoaïi: laø caùc form ñöôïc thieát keá ñeå
giao tieáp vôùi ngöôøi söû duïng. Form loaïi naøy coù döõ
lieäu nguoàn döõ lieäu döôùi neàn cuûa noù.
4. Caùc khaùi nieäm trong form
- Tieâu ñeà(Caption): Tieâu ñeà cuûa form seõ xuaát hieän ôû
Title bar khi hieån thò form.
- Caùc ñieàu khieån(Controls): laø caùc ñoái töôïng ñieàu
khieån treân form: text box, combo box, list box, command
button, option group....
- Nuùt di chuyeån qua caùc maãu tin(Navigation Buttons): laø
giaøn nuùt coâng cuï di chuyeån qua caùc maãu tin (First,
Previous, Next, Last, New)
- Maãu tin nguoàn(Record Source): laø table/query laøm nguoàn
döõ lieäu döôùi neàn form.
- Choïn maãu tin (Record Selector): choïn caùc maãu tin ñeå
xoaù.
II. CAÙC DAÏNG FORM
1. Bieåu maãu daïng coät (Column Form): moãi moät luùc chæ
hieån thò thoâng tin moät maãu tin.
2. Bieåu maãu daïng danh saùch (Tabular Form): moãi moät luùc
hieån thò thoâng tin nhieàu maãu tin daïng danh saùch.
3. Bieåu maãu daïng haøng (Justified): moãi moät luùc hieån thò
thoâng tin moät maãu tin, daïng danh saùch.
4. Bieåu maãu daïng döõ lieäu baûng sheet (DataSheet): moãi
moät luùc hieån thò thoâng tin moät maãu tin, daïng sheet cuûa
Excel.
5. Bieåu maãu daïng chính phuï (Main – Sub Form): laø goàm 2
bieåu maãu, moät bieåu maãu chính daïng Column, coøn bieåu
maãu phuï daïng datasheet naèm trong noù. Bieåu maãu daïng
naøy theå hieän moái quan heä 1-nhieàu, bieåu maãu chính laø
baûng 1 coøn bieåu maãu phuï laø baûng nhieàu.
Trang:16
Baøi giaûng Heä quaûn trò CSDL Access
Trang:17
Baøi giaûng Heä quaûn trò CSDL Access
Trang:18
Baøi giaûng Heä quaûn trò CSDL Access
2. Coät (Columnar)
Trang:19
Baøi giaûng Heä quaûn trò CSDL Access
Trang:20
Baøi giaûng Heä quaûn trò CSDL Access
trình cho pheùp baåy söï kieän treân form, report..vaø coøn
cho pheùp taïo ra caùc haøm thuû tuïc maø VBA khoâng coù
saün (laäp trình ñôn theå module).
Moät soá chöùc naêng töï ñoäng trong VBA
1. Auto syntax check: töï ñoäng kieåm tra cuù phaùp
leänh.
2. Riquire Variable Declaration: Yeâu caàu bieán phaûi
khai baùo tröôùc khi duøng (khoâng baét buoäc).
Option Explicit
‘ñöôïc theâm tröôùc moãi module.
3. Auto List Member: töï ñoäng hieån thò danh saùch
caùc thuoäc tính, phöông thöùc cuûa ñoái töôïng khi goõ
teân ñoái töôïng.phöông thöùc/thuoäc tính.
4. Auto Data Tip: töï ñoäng hieån thò danh saùch caùc
kieåu döõ lieäu khi khai baùo bieán.
5. Auto Quick Info: töï ñoäng hieån thò danh saùch tham
soá, kieåu tham soá khi söû duïng haøm, keå caû caùc haøm
ngöôøi duøng ñònh nghóa.
II. BIEÁN, HAÈNG, VAØ KIEÅU DÖÕ LIEÄU.
1. Bieán (Variable)
Khai baùo:
Dim <teân bieán> As <Kieåu döõ lieäu>, <teân
bieán> As <Kieåu döõ lieäu>….
Private <teân bieán> As <Kieåu döõ lieäu>,<teân
bieán> As <Kieåu döõ lieäu>…
Static <teân bieán> As <Kieåu döõ lieäu>,<teân
bieán> As <Kieåu döõ lieäu>…
Public <teân bieán> As <Kieåu döõ lieäu>,<teân
bieán> As <Kieåu döõ lieäu>…
Khai baùo vôùi töø khoùa Dim hay Private bieán chæ toàn taïi
trong thuû tuïc hay haøm, khi thoaùt haøm hay thuû tuïc VB
seõ giaûi phoùng bieán.
Khai baùo vôùi töø khoùa Public bieán seõ coù taàm hoaït
ñoäng trong toaøn öùng duïng.
Khai baùo vôùi töø khoùa Static bieán coù taàm hoaït ñoäng
trong thuû tuïc khai baùo, nhöng giaù trò cuûa noù vaãn coøn
löu laïi ñeå tieáp tuïc hoaït ñoäng khi thuû tuïc ñöôïc goïi laàn
sau.
Ñeå khai baùo taát caû caùc bieán cuïc boä trong moät thuû
tuïc ta ñaët töø khoùa Static vaøo tröôùc teân thuû tuïc.
VD: ’Khai baùo bieán
Trang:21
Baøi giaûng Heä quaûn trò CSDL Access
Trang:22
Baøi giaûng Heä quaûn trò CSDL Access
Kieåu Single, Double, vaø Currency laø caùc kieåu soá thöïc
Caùc pheùp toaùn treân kieåu soá:
Soá hoïc: coäng(+), tröø(-), nhaân(*), chia (/), chia
laáy nguyeân(\), chia laáy dö (a mod b ), ^ luûy thöøa
(2^3=8)
So saùnh := < > < <= > >= keát quaû laø kieåu
Boolean
b) Kieåu Byte
Coù giaù trò 0 .. 255.Taát caû caùc thao taùc treân Intger
coù theå thao taùc treân kieåu Byte ngoaïi tröø daáu.
c) Kieåu String
Kieåu String coù chieàu daøi thay ñoåi, coù theå taêng hay
giaûm khi gaùn döõ lieäu
VD: Dim hoten As String
Coù theå khai baùo String coù ñoä daøi coá ñònh:
Dim s As String * 50
S luoân coù ñoä daøi 50, neáu thieáu VB seõ töï ñoäng
theâm vaøo cuoái chuoãi caùc khoaûng traéng (space),
neáu gaùn cho moät chuoãi daøi hôn VB seõ töï ñoäng caét
boû.
Caùc pheùp toaùn treân chuoãi: & gheùp chuoãi, s1=s2,
s1 like s2 so saùnh chuoãi like coù theå duøng kyù töï ñaïi
dieân * vaø ?.
Caùc haøm thoâng duïng treân kieåu String
Haøm Coâng duïng
Len(string ) Laáy chieàu daøi choãi
Left(string, length) Caét length kyù töï beân traùi
chuoãi
Right(string, length) Caét length kyù töï beân phaûi
chuoãi
Replace(expression, find, Thay theá chuoãi f tìm thaáy
replacewith) trong e baèng r.
Lcase(string) Traû veà chuoãi ñoåi chuoãi
sang chöõ thöôøng
Ucase(string) Traû veà chuoãi ñoåi chuoãi
sang chöõ hoa
InStr([start, ]string1, Traû veà vò trí s2 trong s1 baét
string2) ñaàu tìm töø start
Mid(string, start[, length]) Trích chuoãi con trong string
Ltrim(string) Caét boû caùc khoaûng traéng
Rtrim(string) voâ ích beân traùi, phaûi, caû
Trim(string 2 beân vaø beân trong chuoãi
Trang:23
Baøi giaûng Heä quaûn trò CSDL Access
d) Kieåu Boolean
Chæ coù 2 giaù trò True/False. Caùc pheùp toaùn treân
kieåu naøy And, Or, Not, Xor
A b A And a Or b A Xor b Not a
b
Fals Fals False False False True
e e
Fals True False True True True
e
True Fals False True True False
e
True True True True False False
e) Kieåu Date
Löu tröõ ngaøy thaùng naêm, haèng ngaøy ñöôïc ghi
#01/01/1900# , coù theå coäng tröø ngaøy cho soá ñeå
taêng giaûm ngaøy hay tröø 2 ngaøy ñeå ñöôïc soá.
Caùc haøm thoâng duïng treân kieåu ngaøy
Haøm Coâng duïng
Date() Traû veà ngaøy hieän taïi
DateSerial(year, month, Traû veà ngaøy theo caùc giaù
day) trò cung caáp
DateValue(string date) Traû veà giaù trò ngaøy theo
chuoãi bieåu dieãn
Day(date) Laáy thöù ngaøy cuûa ngaøy
MonthName(month) Traû veà teân thaùng cuûa
thaùng
Month(date) Laáy thaùng cuûa ngaøy
Year(date) Laáy naêm cuûa ngaøy
Weekday(date) Traû veà thöù töï Thöù trong
tuaàn:1..7
WeekdayName(weekday) Traû veà teân thöù cuûa thöù
töï Thöù trong tuaàn
Now() Traû veà ngaøy giôø hieän taïi
f) Kieåu Object
Kieåu ñoái töôïng duøng 4 Byte troû ñeán ñoái töôïng trong
öùng duïng hieän haønh hoaëc caùc öùng duïng khaùc,
duøng leänh Set ñeå chæ ra ñoái töôïng thöïc söï.
VD:
Dim objDb As Object
Set objDb = OpenDatabase(“C:\…….
\sinhvien.mdb”)
Trang:24
Baøi giaûng Heä quaûn trò CSDL Access
Khi khai baùo ñoái töôïng neân chæ ra teân lôùp moät
caùch töôøng minh, nhö Textbox, Database thay vì
Object.
g) Kieåu Variant
Coù theå chöùa moïi kieåu döõ lieäu nhö: chuoãi, soá
thaäm chí maûng. Ta khoâng caàn chuyeån ñoåi kieåu döõ
lieäu, VB seõ laøm chuyeän ñoù. Variant thuaän tieän khi
ta khoâng bieát tröôùc kieåu döõ lieäu.
Haøm VarType(bieán) traû veà haèng kieåu döõ lieäu cuûa
bieán.
Giaù trò haøm Giaûi thích
VarType
0 hay vbEmpty Khoâng chöùa gì caû
1 hay vbNull Khoâng coù döõ lieäu hôïp leä
2 hay vbInteger Kieåu töông öùng
3 hay vbLong Kieåu töông öùng
4 hay vbSingle Kieåu töông öùng
5 hay vbDouble Kieåu töông öùng
6 hay vbCurrency Kieåu töông öùng
7 hay vbDate Kieåu töông öùng
8 hay vbString Kieåu töông öùng
9 hay vbObject Kieåu töông öùng
10 hay vbError Coù moät ñoái töôïng loãi
11 hay vbBoolean Kieåu töông öùng
12 hay vbVarriant Kieåu töông öùng
13 hay vbDataObject Kieåu DAO chuaån
14 hay vbDecimal Kieåu töông öùng
17 hay vbByte Kieåu töông öùng
36 hay Kieåu töï ñònh nghóa
UserDefinedType
8192 hay vbArray Kieåu maûng
Giaù trò Empty: khi bieán chöa ñöôïc gaùn giaù trò noù seõ
coù giaù trò ñaëc bieät laø Empty.
Haøm IsEmpty(bieán) seõ kieåm tra ñieàu ñoù.
Giaù trò Null: Bieán Variant chöùa giaù trò Null duøng trong
caùc öùng duïng CSDL theå hieän khoâng coù döõ lieäu
hay döõ lieäu khoâng xaùc ñònh. Haøm IsNull(Variant
name) seõ kieåm tra ñieàu ñoù, khoâng ñöôïc gaùn Null
cho caùc bieán coù kieåu khaùc Variant.
Trang:25
Baøi giaûng Heä quaûn trò CSDL Access
Trang:26
Baøi giaûng Heä quaûn trò CSDL Access
Trang:27
Baøi giaûng Heä quaûn trò CSDL Access
Trang:28
Baøi giaûng Heä quaûn trò CSDL Access
Trang:29
Baøi giaûng Heä quaûn trò CSDL Access
Next
Neáu böôùc nhaùy döông thì ñieåm ñaàu phaûi nhoû hôn
ñieåm cuoái neáu khoâng khoái leänh seõ khoâng ñöôïc thi
haønh, neáu böôùc nhaùy aâm thì ñieåm ñaàu lôùn hôn ñieåm
cuoái neáu khoâng khoái leänh cuõng seõ khoâng ñöôïc thi
haønh. Böôùc nhaûy coù theå khoâng coù, maëc ñònh laø 1.
c. For Each…. Next
For Each <phaàn töû> In <taäp hôïp/nhoùm>
Khoái leänh
Next
Laëp khoái leänh theo soá phaàn töû coù trong taäp
hôïp hoaëc nhoùm. Phaàn töû trong taäp hôïp chæ coù theå laø
bieán Variant, bieán Object.
d. While….Wend
e. While <ñieàu kieän>
Khoái leänh
Wend
Töông töï nhö Do While….Loop nhöng khoâng theå
thoaùt khoûi voøng laëp baèng Exit Do maø chæ thoaùt
voøng laëp khi ñieàu kieän sai.
Löu yù: Caùc caáu truùc ñieàu khieån coù theå loàng nhau.
Leänh Exit … cho pheùp thoaùt laäp töùc khoûi voøng laëp
For, Do Loop. Exit For thoaùt voøng laëp For , Exit Do
thoaùt voøng laëp Do ….Loop
f. Leänh Go to
Go to <nhaõn>
Nhaûy tôùi nhaõn chæ ra. Khi ñoù VB seõ chuyeån
ñieàu khieån ñeán leänh phía sau nhaõn khai baùo.
Cuù phaùp khai baùo nhaõn:
<Teân nhaõn:>
Thöôøng leänh Go to duøng ñeå baåy loãi, khi coù loãi
xaûy ra nhaûy ñeán nhoùm leänh xöû lyù phía sau
nhaõn.
Cuù phaùp baåy loãi:
On Error Go to <nhaõn>
IV. HAØM VAØ THUÛ TUÏC
Haøm vaø thuû tuïc giuùp chia nhoû chöông trình thaønh
töøng module, deã daøng gôõ roái, söû duïng nhieàu laàn.
1. Haøm (Function)
Haøm nhaän vaøo caùc tham soá vaø traû veà 1 giaù
trò
Trang:30
Baøi giaûng Heä quaûn trò CSDL Access
Private| Static | Public < Function > <Teân haøm> (danh saùch tham
soá) As <Kieåu traû veà>
Khai baùo bieán beân trong haøm
Caùc leänh xöû lyù tham soá vaø tính toaùn keát quaû.
……..
<Teân haøm>=<Keát quaû> ‘Traû veà keát quaû
End Function
Trang:31
Baøi giaûng Heä quaûn trò CSDL Access
i = Len(ht)
Do While i > 1 And Mid(ht, i, 1) = Space(1)
i=i-1
Loop
vt2 = i ' vt2 la vi tri cuoi ten
'di tu cuoi ten ve dau ten
Do While i > 1 And Mid(ht, i, 1) <> Space(1)
i=i-1
Loop
vt1 = i + 1 ' vt1 la vi tri dau ten
If i > 1 Then
catten = Mid(ht, vt1, vt2 - vt1 + 1)
Else
catten = ht
End If
End Function
Trang:32
Baøi giaûng Heä quaûn trò CSDL Access
Trang:33
Baøi giaûng Heä quaûn trò CSDL Access
bieåu thöùc cuøng kieåu ñeå traû veà moät giaù trò cho
bieåu thöùc.
Thoaùt khoûi haøm vaø thuû tuïc ñoät ngoät sau moät
leänh baát kyø:
Exit Function ‘Thoaùt haøm
Exit Sub ‘Thoaùt thuû tuïc
Truyeàn tham soá:
Truyeàn tham chieáu (ByRef) laø maëc ñònh
cuûa VB, tham soá kieåu variant. Neáu muoán truyeàn giaù
trò theâm töø khoùa Byval tröôùc teân tham soá hình thöùc.
Duøng tham soá tuøy choïn coù theå coù hay khoâng
khi goïi:
Theâm töø khoùa Optional tröôùc teân tham soá hình
thöùc (tham soá phaûi coù kieåu variant). Coù theå keát
hôïp haøm IsMissing (thamso) trong haøm hay thuû tuïc
ñeå kieåm tra xem tham soá coù maët hay khoâng (true laø
khoâng coù maët, False laø coù maët)
Duøng soá voâ haïn caùc tham soá
Töø khoùa ParamArray cho pheùp haøm hay thuû tuïc
nhaän maûng hay daõy voâ haïn caùc tham soá.
Ví duï:
Function Sum(ParamArray A()) As Single
Dim s As Single, x As Variant
s=0
For Each x In A
s=s+x
Next
Sum = s
End Function
?Sum (1,2,3,4,5,6,7,8,9,10)
V. MOÄT SOÁQUY CAÙCH ÑEÀ NGHÒ KHI LAÄP TRÌNH
1. Ñaët teân: thuû tuïc, bieán, haèng....
Baét ñaàu laø kyù töï, khoâng chöùa daáu chaám, khoâng
daøi quaù 255 kyù töï, khoâng truøng caùc töø khoaù VB.
2. Ñaët teân cho ñoái töôïng: Form, Textbox, Command...
Ba kyù töï ngaén goïn ( taét ) ñeå chæ roõ loaïi ñoái
töôïng vaø sau ñoù laø teân ñaët cho ñoái töôïng. Lôïi
ñieåm laø nhìn teân ñoái töôïng ta coù theå bieát ñoù laø
ñoái töôïng naøo.
3. Chuù thích khi vieát chöông trình
Trang:34
Baøi giaûng Heä quaûn trò CSDL Access
Ñaàu moãi haøm hay thuû tuïc, hay caùc leänh phöùc
taïp neân coù chuù thích ñeå khi ta ñoïc laïi ta naém
ñöôïc yù ñoà, coâng duïng.
Cuù phaùp chuù thích
‘ Daáu nhaùy ñôn sau ñoù laø doøng chuù thích
Caùc doøng chuù thích seõ ñoåi maøu xanh lôït.
4. Canh leà caùc caáu truùc ñieàu khieån loàng nhau:
caùc caáu truùc ñieàu khieån loàng beân trong neân thuït
vaøo trong, leänh keát thuùc ñieàu khieån phaûi thaúng
leà.
Ví duï:
If ..... then
Select Case
Case .....
Case.....
End Select
Else
Do While .....
.......
Loop
End If
5. Vieát nhieàu leänh treân moät doøng
Duøng daáu hai chaám (:) ñeå ngaên caùch.
Leänh 1: Leänh 2: Leänh 3
6. Vieát moät leänh treân nhieàu doøng
Duøng daáu gaïch ngang döôùi (_) ñeå baùo cho VB bieát
leänh coøn tieáp ôû doøng döôùi.
Leänh 1 _
Tieáp leänh 1
7. Cöûa soå DEBUG gôû roái vaø thöû chöông trình
View/ Debug Windows =Ctrl +G
Taïi CS naøy coù theå chaïy thöû caùc haøm vaø thuû tuïc VBA
hay haøm/thuû tuïc töï xaây döïng trong caùc module
VI. CAÙC HOÄP HOÄI THOAÏI MESSAGE BOX & INPUT BOX:
1. Thoâng baùo thoâng ñieäp (Message box)
bieán = MsgBox(prompt[, buttons] [, title] [, helpfile,
context])
Hieån thò hoäp thoâng baùo vaø traû veà nuùt ñöôïc click
Prompt: chuoãi thoâng baùo.
Caùc Kieåu button:
vbOKOnly 0 Display OK button only.
vbOKCancel 1 Display OK and Cancel buttons.
Trang:35
Baøi giaûng Heä quaûn trò CSDL Access
Trang:36
Baøi giaûng Heä quaûn trò CSDL Access
II. ÑOÁI TÖÔÏNG TRUY CAÄP DÖÕ LIEÄU DAO (Data Access
Object)
1. DAO, ñoái töôïng truy caäp döõ lieäu, laø moâ hình ñeå
thao taùc truy xuaát caùc CSDL thoâng qua VB. Vôùi DAO,
ta coù theå thi haønh caùc caâu truy vaán, caäp nhaät giaù
trò trong caùc baûng. DAO coøn coù theå taïo môùi moät
CDSL, phaân tích caáu truùc cuûa moät CSDL, thay ñoåi
noäi dung truy vaán, duyeät caùc boä maãu tin, caäp nhaät
caùc boä maãu tin… Ñöôïc VBA xaây döïng trong goùi
MicroSoft DAO 3.1
2. Moâ hình ñoái töôïng DAO
Trang:37
Baøi giaûng Heä quaûn trò CSDL Access
DBEgine
Workspace
Database
Inde Paramet
x err
Field
User
Group
Group
User
a. WorkSpase
b. Users
Error
c. Groups
d. Databases
Khai baùo:
Dim db AS Database
‘Lieân keát ñeán moät database, ODBC name.
Set db=Opendatabase(“...\...\*.mdb”)
‘ Hay lieân keát ñeán CSDL hieän haønh trong Access
Set db=Currentdb()
..........
Set db=nothing ‘ Xoùa keát noái cuûa bieán
db.
Caùc phöông thöùc:
• OpenRecordset(“ Data”, “Kieåu recordset”)
Trang:38
Baøi giaûng Heä quaûn trò CSDL Access
e. Tabledefs
f. Indexs
g. Querydefs
h. Fields
i. Parameters
j. Recordsets
k. Relations
l. Containers
m.Documents
n. Properties
3. Caùc loaïi recorset
Kieåu recordset: Chæ ñònh kieåu môû baûng döõ lieäu,
caùc kieåu recordset
Trang:39
Baøi giaûng Heä quaûn trò CSDL Access
caäp nhaät
ñöôïc vôùi
Microsoft Jet.
Trang:40
Baøi giaûng Heä quaûn trò CSDL Access
Ví duï Move:
Sub MoveFirstX()
With rstEmployees
' Populate Recordset.
.MoveLast
.MoveFirst
Do While True
' Show current record information and get user's
' method choice.
strMessage = "Name: " & !FirstName & " " & _
!LastName & vbCr & "Record " & _
(.AbsolutePosition + 1) & " of " & _
.RecordCount & vbCr & vbCr & _
"[1 - MoveFirst, 2 - MoveLast, " & vbCr & _
"3 - MoveNext, 4 - MovePrevious]"
intCommand = Val(Left(InputBox(strMessage), 1))
If intCommand < 1 Or intCommand > 4 Then Exit Do
Trang:41
Baøi giaûng Heä quaûn trò CSDL Access
dbsNorthwind.Close
End Sub
End Sub
Ví duï Find:
Sub FindFirstX()
Do While True
' Get user input and build search string.
strCountry = _
Trim(InputBox("Enter country for search."))
If strCountry = "" Then Exit Do
strCountry = "Country = '" & strCountry & "'"
With rstCustomers
Trang:42
Baøi giaûng Heä quaûn trò CSDL Access
Do While True
' Store bookmark of current record.
varBookmark = .Bookmark
' Get user choice of which method to use.
strMessage = "Company: " & !CompanyName & _
vbCr & "Location: " & !City & ", " & _
!Country & vbCr & vbCr & _
strCountry & vbCr & vbCr & _
"[1 - FindFirst, 2 - FindLast, " & _
vbCr & "3 - FindNext, " & _
"4 - FindPrevious]"
intCommand = Val(Left(InputBox(strMessage), 1))
If intCommand < 1 Or intCommand > 4 Then Exit Do
Loop
End With
Exit Do
Loop
rstCustomers.Close
dbsNorthwind.Close
End Sub
Trang:43
Baøi giaûng Heä quaûn trò CSDL Access
rstTemp.FindNext strFind
Case 4
rstTemp.FindPrevious strFind
End Select
Command
Parameter
Recordset
Field
Error
a. Ñoái töôïng Connection
Trang:44
Baøi giaûng Heä quaûn trò CSDL Access
Ñaây laø ñoái töôïng ñeå chæ ñeán moät CSDL noái keát
Khai baùo vaø taïo ñoái töôïng:
Dim objcon As New ADODB.Connection
Phöông thöùc Open cho pheùp lieân keát noái ñeán
moät CSDL theo moät Provider.
Objcon.Open (“..\..\..\*.mdb”)
Caùc daïng chuoãi keát noái cô baûn:
- Ñeán MS Access
“Provider=Microsoft.Jet.OLEDB.4.0;Data Source =
D:\qlsinhvien.mdb”
- Ñeán MS Access thoâng qua ODBC
“Driver=Microsoft Access Driver
(*.mdb);DBQ=D:\qlsinhvien.mdb”
- Ñeán SQL Server
“Provider=SQLOLEDB;Data Source=teân_server; Initial
catalog=teân_database;user
ID=teânuser;PWD=maätkhaåu_user ”
Phöông thöùc Execute “SQL String “
Thi haønh caâu SQL
Phöông thöùc BeginTrans
Phöông thöùc CommitTrans
Phöông thöùc RollbackTrans
Phöông thöùc Close
b. Ñoái töôïng Recorset
Laø ñoái töôïng chæ boä maãu tin.
Khai baùo vaø taïo ñoái töôïng
Dim objrst As New ADODB.Recordset
Phöông thöùc Open
objrst.Open "select * from sinhvien", objcon,
adOpenDynamic, adLockOptimistic
Caùc phöông thöùc khaùc:
Find “ñieàu kieän”, , caùch tìm
Caùch tìm: adSearchForward, adSearchBackward
MoveFirst
MoveNext
MovePrevious
MoveLast
AddNew
Edit
Update
Delete
Trang:45
Baøi giaûng Heä quaûn trò CSDL Access
CancelUpdate
Close
Caùc thuoäc tính:
EOF, BOF, Nomatch, BookMark,
AbsolutePosition,RecordCount, !Filedname, Filter,Sort,
AbsolutePage…
Ví duï:
Sub vd()
Dim objcon As New ADODB.Connection
Dim objcmd As New ADODB.Command
Dim objrst As New ADODB.Recordset
Dim objprm As New ADODB.Parameter
Dim constr As String
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=e:\bao\qlsinhvien.mdb"
objcon.Open (constr)
objrst.Open "select * from sinhvien", objcon,
adOpenDynamic, adLockOptimistic
While Not objrst.EOF
Debug.Print objrst!masv, objrst!holot, objrst!ten,
objrst!malop
objrst.MoveNext
Wend
objrst.MoveFirst
objrst.Find "ten='bao'", , adSearchBackward
Debug.Print objrst!masv, objrst!holot, objrst!ten,
objrst!malop
End Sub
c. Ñoái töôïng Command
Laø ñoái töôïng ñeå ra caùc leänh thuoäc caùc kieåu leänh
khaùc nhau: veà table, veà Procedure… Ñaây laø moät ñoái
töôïng toång quaùt cuûa ñoái töôïng docmd
Caùc thuoäc tính:
CommmandType: kieåu leänh.
CommmandText: chuoãi caâu leänh.
Parameters: taäp tham soá.
Name: teân
Caùc phöông thöùc:
Execute: thi haønh caâu leänh
Cancel: huyû leänh
Ví duï
Trang:46
Baøi giaûng Heä quaûn trò CSDL Access
Sub vd2()
Dim objcon As New ADODB.Connection
Dim objcmd As New ADODB.Command
Dim objrst As New ADODB.Recordset
Dim constr As String
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=e:\bao\qlsinhvien.mdb"
objcon.Open (constr)
objcmd.CommandText = "Qsinhvien"
objcmd.ActiveConnection = objcon
objcmd.CommandType = adCmdTable
Set objrst = objcmd.Execute
While Not objrst.EOF
Debug.Print objrst!masv, objrst!holot, objrst!ten,
objrst!malop
objrst.MoveNext
Wend
End Sub
Sub xoasv()
Dim objcon As New ADODB.Connection
Dim objcmd As New ADODB.Command
Dim objrst As New ADODB.Recordset
Dim constr As String
Set objcon = CurrentProject.Connection
objcmd.ActiveConnection = objcon
objcmd.CommandText = "delete * from sv where
malop='25k10A'"
objcmd.CommandType = adCmdText
objcmd.Execute
End Sub
d. Ñoái töôïng Error
Laø ñoái töôïng löu tröõ caùc loãi khi coù loãi xaûy ra.
Trang:47
Baøi giaûng Heä quaûn trò CSDL Access
Trang:48