Dostop do baze podatkov VBA - odpiranje, povezovanje, prijava in drugo

Ta vadnica bo pokazala, kako uporabiti VBA za odpiranje zbirke podatkov Access. Prikazal bo tudi, kako ustvariti prijavo za dostop do baze podatkov - preveriti, ali uporabniško ime in geslo obstajata v tabeli baze podatkov tblUsers.

Odpri bazo podatkov Access

Ta funkcija VBA bo odprla Accessovo bazo podatkov:

Javna funkcija OpenAccessDatabase (strDBPath kot niz) Če ni IsNull (strDBPath) Potem lupina "MSACCESS.EXE" "" & strDBPath & "" "", Funkcija vbNormalFocus End

Funkcijo lahko pokličete tako:

Zasebna podrejena OpenAccessDatabase_Example () Pokliči OpenAccessDatabase ("C: \ temp \ Database1.accdb") End Sub

Povežite se z Access Database

Druga možnost je, da uporabite to kodo, ki bo ustvarila nov primerek programa Access, odprla bazo podatkov in zbirko podatkov dodelila spremenljivki db:

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

ali uporabite to funkcijo, ki vsebuje zgornjo kodo, da odprete bazo podatkov spremenljivki:

Javna funkcija Connect_To_AccessDB (strDBPath As String) Kot DAO.Database Dim objAccess As Access.Application Dim db As DAO.Database Set objAccess = New Access.Application Set db = objAccess.DBEngine.OpenDatabase (strDBPath, FalD_Base, False_don Končana funkcija

Funkcijo lahko pokličete in sodelujete z bazo podatkov po postopku, kot je ta:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB Kot DAO.Database 'Primer za dodelitev baze podatkov spremenljivki Set AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("ustvarite tabelo tbl_test3 (številka, ime char) , priimek char) ") ​​'Primer za dodelitev zapiranja zunanje baze podatkov AccessDB.Close Set AccessDB = Nothing' Primer za brisanje datoteke zunanje baze podatkov (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Primer zapreti Access 'DoCmd.Quit End Sub

Odprite prijavo v zbirko podatkov

Ta funkcija VBA uporablja prijavo s preverjanjem vnesenega uporabniškega imena in gesla v tabeli tblUsers. Če želite, da ta funkcija deluje, morate ustvariti tabelo tblUsers s polji Geslo in Uporabniško ime.

Javna funkcija UserLogin (Uporabniško ime kot niz, geslo kot niz) 'Preverite, ali uporabnik obstaja v tabeli tblUsers trenutne baze podatkov. Zatemni CheckInCurrentDatabase kot Boolean CheckInCurrentDatabase = True Če je Nz (uporabniško ime, "") = "" Potem MsgBox "Vnesti morate uporabniško ime.", VbInformation Izhodna funkcija ElseIf Nz (Geslo, "")) = "" Nato MsgBox "Vnesti morate Geslo " ), 0) = 0 Potem MsgBox "Neveljavno uporabniško ime!", VbExclamation Izhodna funkcija ElIz Nz (Geslo, "") Nz (DLookup ("Geslo", "tblUsers", "[Uporabniško ime] = '" & Nz (Uporabniško ime, " ") &" '")," ") Nato MsgBox" Neveljavno geslo! ", VbExclamation Izhodna funkcija ElseIf DCount (" Uporabniško ime "," tblUsers "," [Uporabniško ime] =' "& Nz (Uporabniško ime," ") &" '")> 0 Nato zatemni strPW kot niz strPW = Nz (DLookup (" Geslo "," tblUsers "," [Uporabniško ime] =' "& Nz (Uporabniško ime," ") &" '")," ") Če Nz (Geslo, "") = strPW Nato 'Nastavi uporabniško ime in geslo kot globalne spremenljivke TempVars.Dodaj "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (Geslo," ") MsgBox" Uspešno prijavljen ", vbExclamation End If End Če drugače" Nastavite uporabniško ime in geslo kot globalne spremenljivke TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "CurrentUserPassword ", Nz (Geslo," ") MsgBox" Uspešno prijavljeni ", vbExclamation End If End Funkcija

Funkcijo lahko pokličete tako:

Private Sub UserLogin_Example () Pokliči VBA_Access_General.UserLogin ("Uporabniško ime", "geslo") End Sub

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave