Baomat

Embed Size (px)

Citation preview

  • 7/28/2019 Baomat

    1/7

    Hu nh ai mn mt ng dng Microsoft Access cng xi mt trong nhng (hoc tt c) cch

    sau bo v c s d liu (CSDL), hng kha tay, kha chn nhng nhn vin t m, thch

    quy:

    1. Bo v m lnh VBA (Visual Basic for Application) bng cch chn mc Properties trn trnhn Tools ca ca s son tho Microsoft Visual Basic ri chn trang Protection trn hp thoi

    Project Properties. Cui cng, chn Lock project for viewing, km theo l mt khu bo v. Vi

    cch ny, cu trc v d liu cc bng (table) vn c th c xem v sa i.

    2. Dng chc nng Make MDE file ngn khng cho sa i m lnh, thit k biu mu

    (form) v thit k bo biu (report). Vi cch ny, cu trc v d liu cc bng (table) vn c

    th c ly i chuyn vo tp tin .MDB khc m xem v sa i.

    3. Dng chc nng Encrypt / Decrypt database m ha CSDL, ngn khng cho ccchng trnh tin ch hay x l vn bn gii m nhng vn c th dng Access m.

    4. Dng chc nng Set database password quy nh mt khu cho CSDL. Cch ny hi

    phin nu c mt bng trong CSDL khc lin kt (link) vi n. Nu qun mt khu th khc

    lun ch sao!

    5. Thit k mt biu mu khi ng, trong yu cu cho bit tn v mt khu, dng hp

    thoi Startup (t danh sch Display Form/Page) quy nh phi m biu mu ny trc tin

    mi ln m CSDL. Nh cch ny, ta c th giu lun ca s Database, ni c th xem v chn

    cc thnh phn ca CSDL sa cha.

    Trong nhng cch trn, cch th 5 vn c th b vt qua bng cch nhn v gi phm Shift

    trong lc m CSDL. khc phc, ta c th dng Visual Basic gn tr False cho thuc tnh

    AllowBypassKey v hiu ha phm Shift khi m CSDL.

    Gi s bn c mt CSDL tn dbLock.MDB. Mi ln ngi ta m n, bn mun biu mu

    frmKhoiDong lun c hin th trc tin bng cch xc nh Display Form/Page l

    frmKhoiDong. thay i thuc tnh AllowBypassKey, bt buc phi m CSDL, gn tr mi cho

    thuc tnh ny, ng CSDL li th ln m sau mi c p-ph. Bn nh, cn kha lm sao

    ngi ta khng m c m mnh m c, ngha l ta phi c cha kha m. Cha y

    chnh l mt biu mu khc, chng hn c tn l frmChiaKhoa.

    Khi thay i thuc tnh AllowBypassKey c ri, chc chn biu mu frmKhoiDong c

  • 7/28/2019 Baomat

    2/7

    hin th khi m CSDL. Cho nn ta t cha kha thng qua biu mu ny bng cch v mt

    iu khin no y (min sao n c th tc x l tnh hung Click l c), chng hn nhn

    lblChiaKhoa, ri t thuc tnh Visible l No v thm dng lnh DoCmd.OpenForm

    frmChiaKhoa vo th tc x l tnh hung Click. Bn phi nh v tr nhn lblChiaKhoa li

    cha kha ra nh. Nh vy, vn cn li nm biu mu frmChiaKhoa.

    Bn m ca s son tho Microsoft Visual Basic, chn mc References bo m Microsoft

    DAO xx.xx Object Library (trong , phin bn xx.xx c th l: 2.5 hoc 3.51 hoc 3.6 ty

    theo phin bn Access, d nhin nn chn phin bn mi nht) c chn trong danh sch

    Available References.

    Hnh 1: Biu mu cn thit k

    Hnh 1 l biu mu frmChiaKhoa cn thit k, bao gm mt vn bn txtPassword nhn

    mt khu m ngi cn m kha phi g vo, mt nt lnh cmdLock thc hin vic kha

    CSDL v mt nt lnh cmdUnlock thc hin vic m kha CSDL. Xong, bn g cc th tc x

    l nh on m 1. Trc khi quy chuyn ny trn mt CSDL, bn nn sao chp phng h

    CSDL trnh s c kha c ri nhng khng m c (do bn g nhm cc dng lnh).

    on m 1

    'Hm ChangeProperty thay i cc thuc tnh ca CSDL

    Function ChangeProperty(strPropName, varPropType, varPropValue)

    Dim dbs As Database, prp As Property

    Const conPropNotFoundError = 3270

  • 7/28/2019 Baomat

    3/7

    Set dbs = CurrentDb

    On Error GoTo Change_XuLyLoi

    dbs.Properties(strPropName) = varPropValue

    ChangeProperty = True

    Change_KetThuc:

    Exit Function

    Change_XuLyLoi:

    'Thuc tnh khng thy

    If Err = conPropNotFoundError Then

    Set prp = dbs.CreateProperty(strPropName, _

    varPropType, varPropValue)

    dbs.Properties.Append prp

    Resume Next

    Else

    'Khng bit li g

    ChangeProperty = False

    Resume Change_KetThuc

    End If

    End Function

  • 7/28/2019 Baomat

    4/7

    'X l tnh hung chn nt [Kha database]

    Private Sub cmdLock_Click()

    Biu mu ny c np trc

    ChangeProperty "StartupForm", dbText, "frmKhoiDong"

    ChangeProperty "StartupShowDBWindow", dbBoolean, False

    ChangeProperty "StartupShowStatusBar", dbBoolean, False

    ChangeProperty "AllowBuiltinToolbars", dbBoolean, False

    ChangeProperty "AllowFullMenus", dbBoolean, False

    ChangeProperty "AllowBreakIntoCode", dbBoolean, False

    ChangeProperty "AllowSpecialKeys", dbBoolean, False

    Khng cho xi phm Shift b qua biu mu frmKhoiDong

    ChangeProperty "AllowBypassKey", dbBoolean, False

    MsgBox "C s d liu c kha! ng c s d liu, _

    ri m li mi c p-ph.", vbOKOnly, "eChip Security"

    cmdExit.SetFocus

    cmdUnlock.Visible = True

  • 7/28/2019 Baomat

    5/7

    cmdLock.Visible = False

    End Sub

    'X l tnh hung chn nt [M database]

    Private Sub cmdUnlock_Click()

    Khng cn biu mu khi ng na

    ChangeProperty "StartupForm", dbText, ""

    ChangeProperty "StartupShowDBWindow", dbBoolean, True

    ChangeProperty "StartupShowStatusBar", dbBoolean, True

    ChangeProperty "AllowBuiltinToolbars", dbBoolean, True

    ChangeProperty "AllowFullMenus", dbBoolean, True

    ChangeProperty "AllowBreakIntoCode", dbBoolean, True

    ChangeProperty "AllowSpecialKeys", dbBoolean, True

    ChangeProperty "AllowBypassKey", dbBoolean, True

    MsgBox "C s d liu c m kha ! _

    ng c s d liu, ri m li mi c p-ph.", _

    vbOKOnly, "eChip Security"

    cmdExit.SetFocus

    txtPassword = ""

    cmdLock.Visible = True

  • 7/28/2019 Baomat

    6/7

  • 7/28/2019 Baomat

    7/7

    txtPassword.Visible = False

    End Sub

    'Khi ngi ta g mt khu v nhn phm Enter

    Private Sub txtPassword_LostFocus()

    If txtPassword = "echip" Then

    cmdUnlock.Visible = True

    End If

    End Sub

    Theo Echip