Juurdepääs VBA andmebaasile - avatud, ühenduse loomine, sisselogimine ja muu

See õpetus näitab, kuidas kasutada VBA -d Accessi andmebaasi avamiseks. Samuti näidatakse, kuidas luua sisselogimine andmebaasile juurdepääsuks - kontrollides, kas kasutajanimi ja parool on andmebaasi tblUsers tabelis olemas.

Avage Accessi andmebaas

See VBA -funktsioon avab juurdepääsu andmebaasi:

Avalik funktsioon OpenAccessDatabase (strDBPath kui string) Kui ei ole IsNull (strDBPath), siis Shell "MSACCESS.EXE" "" & strDBPath & "" ", vbNormalFocus End Function

Funktsiooni saate helistada järgmiselt:

Privaatne alamosa OpenAccessDatabase_Example () Helista OpenAccessDatabase ("C: \ temp \ Database1.accdb") Lõpu alam

Ühendage Accessi andmebaasiga

Teise võimalusena võite kasutada seda koodi, mis loob uue Accessi eksemplari, avab andmebaasi ja määrab andmebaasi muutujale db:

 Dim objAccess kui juurdepääs. Rakendus Dim db kui DAO. Andmebaasikomplekt objAccess = Uus juurdepääs. Rakenduskomplekt db = objAccess.DBEngine.OpenDatabase (strDBPath, False, False)

või kasutage seda funktsiooni, mis sisaldab ülaltoodud koodi, et avada andmebaas muutujale:

Avalik funktsioon Connect_To_AccessDB (strDBPath kui string) DAO. Andmebaas Dim objAccess juurdepääsuna. Rakendus Dim db DAO. Andmebaasikomplekt objAccess = Uus juurdepääs. Rakenduskomplekt db = objAccess.DBEngine.OpenDatabase (strDBPath, False_ False_ Connect) Lõppfunktsioon

Funktsiooni saab helistada ja andmebaasiga suhelda järgmiselt.

Privaatne alamühendus Connect_To_AccessDB_Example () Dim AccessDB kui DAO.Database 'Näide andmebaasi määramiseks muutujale Set AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("loo tabel tbl_test3 (numbri number, eesnimi) , perekonnanimi char) ") ​​'Näide välise andmebaasi sulgemise määramiseks AccessDB.Close Set AccessDB = Nothing' Näide välise andmebaasifaili (.accdb) kustutamiseks 'Kill (" c: \ temp \ TestDB.accdb ")' Näide sulgeda juurdepääs DoCmd. Lõpeta alam

Juurdepääs andmebaasi sisselogimisele

See VBA -funktsioon kasutab sisselogimist, kontrollides sisestatud kasutajanime ja parooli tabelis tblUsers. Selle funktsiooni toimimiseks peate looma tabeli tblKasutajad väljadega Parool ja Kasutajanimi.

Avalik funktsioon UserLogin (kasutajanimi stringina, parool stringina) 'Kontrollige, kas kasutaja on praeguse andmebaasi tblUsers tabelis olemas. Dim CheckInCurrentDatabase Booleanina Parool. ", VbInformation Exit Function End If If CheckInCurrentDatabase = True Siis 'Kontrollige kasutaja mandaati Kui Nz (DCount (" Kasutajanimi "," tblUsers "," [Kasutajanimi] =' "& Nz (Kasutajanimi," ") &" '" ), 0) = 0 Siis MsgBox "Kehtetu kasutajanimi!", VbExclamation Exit Function ElseIf Nz (Password, "") Nz (DLookup ("Password", "tblUsers", "[UserName] = '" & Nz (UserName, ") ") &" '")," ") Siis MsgBox" Kehtetu parool! ", VbExclamation Exit Function ElseIf DCount (" Kasutajanimi "," tblUsers "," [Kasutajanimi] =' "& Nz (Kasutajanimi," ") &" '")> 0 Seejärel vähendage strPW kui string strPW = Nz (DLookup (" Parool "," tblUsers "," [Kasutajanimi] =' "& Nz (Kasutajanimi," ") &" '")," ") Kui Nz (Parool, "") = strPW Seejärel määrake kasutajanimi ja parool globaalseteks verobleemideks TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (parool," ") MsgBox" Edukalt sisse logitud ", vbExclamation End If End If Else 'Määra kasutajanimi ja parool globaalseteks muutujateks TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (parool," ") MsgBox" Sisselogimine õnnestus ", vbExclamation End If End Function

Funktsiooni saate helistada järgmiselt:

Privaatne alamkasutajaLogin_Example () Helista VBA_Access_General.UserLogin ("Kasutajanimi", "parool") Lõpeta alam

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave