B o m t c s d li u trong Access ơ
Sau đây là 10 th thu t b o m t c s d li u Access ơ
C s d li u là kho ch a d li u quan tr ng c n đ c b o v . B n có th sơ ư
d ng nh ng ph n m m b o m t chuyên nghi p đ c s d li u, nh ng đ ơ ư
ph n m m đó ch c h n b n s ph i tr m t kho n phí không nh . Ng c l i, ượ
b n có th s d ng m t s tính năng b o m t c a Access đ b o m t c s d ơ
li u m t m c đ nh t đ nh.
Nh ng th thu t d i đây s giúp b n khai thác đ c m t s tính năng b o ướ ượ
m t s n có c a Microsoft Access.
1. S d ng macro AutoExec đ ki m tra và thi t l p l i cài đ t ế
S d ng macro AutoExec đ ki m tra và thi t l p l i các tùy ch n b o m t có th b ế
thay đ i trong các phiên làm vi c tr c đó. AutoExec là m t macro đ c bi t có th ướ
th c hi n m c s d li u. Đ t o m t macro AutoExec, ch c n đ t tên cho m t ơ
macro AutoExec m i. Ví d , macro Startup() (trong hình) có ch c năng xác đ nh ng i ườ
dùng, th c hi n ki m tra và cài đ t các thu c tính b o m t tr c khi ng i dùng truy ướ ườ
c p.
2. n c a s Database
Nh ng tùy ch n kh i đ ng trong hình B cho phép b n xác đ nh các thu c tính c a c ơ
s d li u khi m . Hai trong s nh ng thu c tính này giúp c s b o d li u b o m t ơ
h n:ơ
* Display Database Window: H y ch n tùy ch n này đ n c a s Database khi ai đó
m c s d li u. Do đó ng i dùng s không th truy c p tr c ti p vào b t c đ i ơ ườ ế
t ng nào.ượ
* Use Access Special Keys: B tùy ch n này đ ng i dùng không th s d ng phím ườ
F11 làm hi n c a s Database.
Hai cài đ t này h tr cho nhau, vì n u không b ch n tùy ch n ế Use Access Special
Keys ng i dùng có th n phím ườ F11 đ làm hi n c a s Database.
Đ truy c p vào nh ng tùy ch n Startup, vào menu Tools\ Startup. Trong Access
2007, click vào nút Office\ Access Options\ Current Database trong c a s trái và b n
s th y nh ng tùy ch n này trong Application Options. Access 2007 không có c a s
Database, nh ng b n có th làm n ư Navigation Pane theo cách t ng t . Tùy ch n đóươ
n m trong Navigation, ngay bên d i ướ Application Options.
Vi c b ch n tùy ch n Display Database s h y l nh Startup. Ng i dùng có thườ
lo i nh ng tùy ch n này b ng cách gi phím Shift trong khi m s s d li u. Đây là ơ
th thu t nh c nh cho b n nh ng s r t nguy hi m n u ng i khác bi t đ c. Ngoài ư ế ườ ế ượ
ra ng i dùng có th đ a nhi u đ i t ng vào m t c s d li u tr ng đ tránhườ ư ư ơ
nh ng cài đ t kh i đ ng.
3. Ch n phím Shift
B n có th s d ng chính giao di n đ n c a s Database. Nh ng vi c s d ngư
phím Shift l i gây nguy hi m cho c s d li u. B n có th h y b vi c s d ng phím ơ
Shift b ng cách đ i giá tr c a thu c tính AllowBypassKey thành False khi đóng c sơ
d li u. Tuy nhiên, b n cũng có th g i đo n mã sau t m t tác v đóng b t kì:
Public Sub SetStartupOptions(propname As String, _
propdb As Variant, prop As Variant)
'Set passed startup property.
Dim dbs As Object
Dim prp As Object
Set dbs = CurrentDb
On Error Resume Next
dbs.Properties(propname) = prop
If Err.Number = 3270 Then
Set prp = dbs.CreateProperty(propname, _
propdb, prop)
dbs.Properties.Append prp
End If
Set dbs = Nothing
Set prp = Nothing
End Sub
Khi g i th t c, c n đ m b o ph i l a ch n đúng tùy ch n kh i đ ng. Ví d :
Call SetStartupOptions("AllowBypassKey", dbBoolean, False)
Sau khi cài đ t thu c tính này cho ti n trình đóng, c s d li u s vô hi u hóa phím ế ơ
Shift.
Ngoài ra b n có th cài đ t b t kì thu c tính kh i đ ng nào. Ví d làm n c a s
Database:
Call SetStartupOptions("StartupShowDBWindow", dbBoolean, False)
B n có th cài đ t nh ng tùy ch n đóng và m c s d li u v i m t ngo i l . Đó là ơ
thu c tính AllowBypassKey ph i đ c cài đ t khi đóng c s d li u, và b n c n đ t ượ ơ
tham chi u t i th vi n ế ư Data Access Objects (DAO). N u không th t c này s gây raế
l i tham chi u. ế
Tuy nhiên, n u ai đó bi t s d ng phím Shift cũng có th bi t cách khôi ph c l i nóế ế ế
b ng cách thay đ i giá tr c a AllowBypassKey thành True. Trong tr ng h p này b nườ
s ph i áp d ng ph ng pháp b o m t nhóm làm vi c đ ch cho phép admin truy c p ươ
vào thu c tính này.
4. Chia c s d li uơ
Vi c b o v m t c s d li u nh s d dàng h n r t nhi u so v i c s d li u l n ơ ơ ơ
v i nhi u đ i t ng d li u và giao di n. B n có th chia m t c s d li u l n thành ượ ơ
hai c s d li u nh , trong đó c s d li u th nh t ch a b ng và quan h cơ ơ ượ
g i là backend), và c s d li u còn l i ch a các đ i t ng giao di n (còn g i là ơ ượ
frontend). Hai c s d li u này giao ti p thông qua các b ng đã đ c liên k t. M tơ ế ượ ế
đi m quan tr ng là ng i dùng trong frontend không th thay đ i thi t k b ng trong ườ ế ế
backend. (có nhi u cách đ phân chia c s d li u nh ng bài vi t này ch h ng vào ư ế ướ
m c đích b o m t).
Đ chia c s d li u, vào menu ơ Tools\ Database Utilities\ Database Spliter sau đó
làm theo h ng d n. Trong ướ Access 2007, click Access Database trong nhóm Move
Data c a tab Database Tools.
5. Tránh s d ng Compact On Close
Nh ng ai đã t ng s d ng Access có l đ u bi t đ n tác d ng c a vi c nén c s d ế ế ơ
li u t ng xuyên. Quá trình nén s t o ra m t b n sao c a c s d li u, ki m tra các ườ ơ
đ i t ng, xóa b d li u t m th i và s p x p l i nh ng ph n v trên đĩa. Tóm l i, ượ ế
nén giúp c s d li u luôn n đ nh.ơ
Tùy ch n Compact On Close, đ c tích h p đ u tiên trong Access 2000, giúp nén cượ ơ
s d li u t đ ng khi k t thúc phiên làm vi c. Không may, ti n trình này l i gi l i ế ế
c nh ng file không c n thi t. N u th y nh ng file t m th i nh ế ế ư db1.mdb, db2.mdb,
… trong folder ch a c s d li u c a b n, chúng có th là m t s n ph m ph c a ơ
tính năng nén.
Nh ng file th a này có th gây ra r c r i cho b n n u ai đó vào folder cũng có th truy ế
c p c vào nh ng file t m th i. Đó là m t l h ng b o m t. Có 2 cách đ b o v c ơ
s d li u c a b n:
* Th ng xuyên ki m tra và xóa nh ng file t m. (Tuy nhiên đây không ph i là bi nườ
pháp thi t th c và th m chí không có hi u qu ).ế
* Không s d ng tính năng Compact On Close. Thay vào đó nên nén c s d li u theo ơ
cách th công. Đây là cách t t nh t đ b o v c s d li u kh i l h ng trên. ơ
6. n các đ i t ng ượ
Vi c n đi nh ng đ i t ng nh b ng, truy v n, form, … không ph i là ph ng pháp ượ ư ươ
b o v h u hi u, vì n u ng i dùng tìm th y thì h có th thay đ i chúng. Tuy nhiên ế ườ
nh ng đ i t ng này s đ c b o m t h n n u ng i dùng không bi t t i s t n t i ượ ượ ơ ế ườ ế
c a chúng. Vi c n các đ i t ng ch đ n thu n giúp h n ch l i gây m t d li u mà ượ ơ ế
không có tác d ng b o m t. Đ n m t đ i t ng trong c a s Database (hay ượ
Navigation), b n ch c n ph i chu t lên đ i t ng, ch n ượ Properties sau đó ch n tùy
ch n Hidden Attribute.
Tuy nhiên, nh ng ng i dùng Access có th làm hi n nh ng đ i t ng này b ng cách ườ ượ
vào menu Tools\ Options, ch n tab View sau đó h y ch n tùy ch n Hidden Objects
trong m c Show. Trong Access 2007, ph i chu t vào thanh menu Navigation, ch n
Navigation Options\ Show Hidden Objects\ OK.
Nh đã nói, vi c n các đ i t ng không có tác d ng b o m t. N u b n s d ngư ượ ế
ph ng pháp này, c n nh r ng nh ng module n v n hi n th trên ươ Visual Basic
Editor (VBE). H n n a, ch nên n nh ng đ i t ng quan tr ng vì khi ng i dùngơ ượ ườ
truy c p vào mà không th y c a s Database h s tìm ki m nó. B n không th nh p ế
nh ng đ i t ng n vào m t c s d li u n u quá trình nh p không phù h p. ượ ơ ế
B n có th l p trình đ n đi m t đ i t ng b ng mã VBA sau: ượ
CurrentDb.TableDefs(tablename).Attributes = dbHiddenObject
T phiên b n Office 2000 tr v tr c, vi c s d ng mã đ gán thu c tính n vào m t ướ
b ng r t r c r i vì Access coi b ng đó là b ng t m th i. Và trong l n nén ti p theo ế
Access s xóa b nó cùng v i d li u. Vì vây tránh s d ng ph ng pháp này khi làm ươ
vi c v i các phiên b n đó.
7. Ch n thông báo l i
Khi xu t hi n l i trong mã, VBA hi n th thông báo l i. N u ng i dùng nh n đ c ế ườ ượ
thông báo đó và click vào nút Debug h s ti p c n đ c v i module ch a l i đó trong ế ượ
VBE. Trong tr ng h p này ng i dùng có toàn quy n đ i v i đo n mã. Thôngườ ườ
th ng, ng i dùng s không bi t x lý và yêu c u ng i l p trình giúp đ . Trái l i,ườ ườ ế ườ
cũng có tình hu ng ng i dùng xóa b t t c đo n mã đó. ườ
Trong giai đo n phát tri n, kh năng truy c p nhanh vào mã giúp ti t ki m th i gian. ế
Nh ng khi qu n lý c s d li u thì đó là m t th m h a. T t nh t, trong m i th t cư ơ
nên b sung m t s tính năng x lý l i đ ch n thông báo và lo i b nút Debug.
8. Đ t m t kh u b o v c s d li u ơ
Vi c thi t l p m t kh u cho c s d li u s gi i h n quy n truy c p cho t ng ng i ế ơ ườ
dùng c th cũng r t quan tr ng m c dù hi n nay có nhi u ch ng trình nhóm ba có ươ
th phá b m t kh u c a c s d li u. ơ
Đ cài đ t m t kh u b n ch c n th c hi n các thao tác sau: