Pasiekite VBA duomenų bazę - atidarykite, prisijunkite, prisijunkite ir dar daugiau

Ši pamoka parodys, kaip naudoti VBA norint atidaryti prieigos duomenų bazę. Taip pat bus parodyta, kaip sukurti prisijungimo duomenis, kad būtų galima pasiekti duomenų bazę - patikrinti, ar vartotojo vardas ir slaptažodis yra duomenų bazės „tblUsers“ lentelėje.

Atidarykite prieigos duomenų bazę

Ši VBA funkcija atvers prieigos duomenų bazę:

Viešoji funkcija OpenAccessDatabase (strDBPath kaip eilutė) Jei ne IsNull (strDBPath), tada apvalkalas "MSACCESS.EXE" "" & strDBPath & "" "", vbNormalFocus pabaigos funkcija

Funkciją galite iškviesti taip:

Privatus antrinis „OpenAccessDatabase_Example“) Skambinkite „OpenAccessDatabase“ („C: \ temp \ Database1.accdb“) Pabaiga

Prisijunkite prie „Access“ duomenų bazės

Arba galite naudoti šį kodą, kuris sukurs naują „Access“ egzempliorių, atvers duomenų bazę ir priskirs duomenų bazę kintamajam db:

 Dim objAccess kaip Access.Application Dim db As DAO.Database Set objAccess = New Access.Application Set db = objAccess.DBEngine.OpenDatabase (strDBPath, False, False)

arba naudokite šią funkciją, kurioje yra aukščiau pateiktas kodas, kad atidarytumėte duomenų bazę kintamajam:

Viešoji funkcija Connect_To_AccessDB (strDBPath kaip eilutė) Kaip DAO.Database Dim objAccess As Access.Application Dim db As DAO.Database Set objAccess = New Access.Application Set db = objAccess.DBEngine.OpenDatabase (strDBPath, False_False_ Connect) Pabaigos funkcija

Galite iškviesti šią funkciją ir sąveikauti su duomenų baze atlikdami tokią procedūrą:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB Kaip DAO.Database 'Pavyzdys, kaip priskirti duomenų bazę kintamajam Set AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("sukurti lentelę tbl_test3 (numerio numeris, vardas , pavardė char) ") ​​'Pavyzdys, kaip priskirti uždaryti išorinę duomenų bazę AccessDB.Close Set AccessDB = Nothing' Pavyzdys, kaip ištrinti išorinį duomenų bazės failą (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Pavyzdys uždaryti „Access“ „DoCmd.Quit End Sub“

Prisijunkite prie duomenų bazės prisijungimo

Ši VBA funkcija naudoja prisijungimą, patikrindama įvestą vartotojo vardą ir slaptažodį iš lentelės „tblUsers“. Kad ši funkcija veiktų, turėsite sukurti lentelę tblUsers su laukais Slaptažodis ir Vartotojo vardas.

Viešosios funkcijos „UserLogin“ (vartotojo vardas kaip eilutė, slaptažodis kaip eilutė) “Patikrinkite, ar vartotojas yra dabartinės duomenų bazės„ tblUsers “lentelėje. Dim CheckInCurrentDatabase kaip loginis CheckInCurrentDatabase = Tiesa Jei Nz (Vartotojo vardas, "") = "" Tada MsgBox "Jūs turite įvesti vartotojo vardą.", VbInformation Exit Function ElseIf Nz (Slaptažodis, "") = "" Tada MsgBox "Turite įvesti Slaptažodis. ", VbInformation Exit Function End If If CheckInCurrentDatabase = True Tada 'Patikrinkite vartotojo kredencialus, jei Nz (DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '" ), 0) = 0 Tada MsgBox "Neteisingas vartotojo vardas!", VbExclamation Exit Function ElseIf Nz (Password, "") Nz (DLookup ("Password", "tblUsers", "[UserName] = '" & Nz (UserName, ") ") &" '")," ") Tada MsgBox" Neteisingas slaptažodis! ", VbExclamation Exit Function ElseIf DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")> 0 Tada pritemdykite strPW kaip eilutę strPW = Nz (DLookup (" Slaptažodis "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")," ") Jei Nz (Slaptažodis, "") = strPW Tada 'Nustatykite vartotojo vardą ir slaptažodį kaip visuotinius „Veriables TempVars“. Pridėkite „CurrentUserName“, Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (Slaptažodis," ") MsgBox" Sėkmingai prisijungęs ", vbExclamation End If End End Else 'Nustatykite vartotojo vardą ir slaptažodį kaip visuotines versijas TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (slaptažodis," ")" MsgBox "sėkmingai prisijungta", vbExclamation End If End Function

Funkciją galite iškviesti taip:

Private Sub UserLogin_Example () Skambinti VBA_Access_General.UserLogin („Vartotojo vardas“, „slaptažodis“) Pabaiga

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave