Accesați baza de date VBA - Deschideți, conectați-vă, conectați-vă și multe altele

Acest tutorial va arăta cum să utilizați VBA pentru a deschide o bază de date Access. De asemenea, va arăta cum să creați un login pentru a accesa baza de date - verificând dacă numele de utilizator și parola există în tabelul tblUsers al bazei de date.

Deschideți baza de date Access

Această funcție VBA va deschide o bază de date Access:

Funcție publică OpenAccessDatabase (strDBPath as String) Dacă nu este nul (strDBPath), apoi Shell "MSACCESS.EXE" "" & strDBPath & "" "", vbNormalFocus End Function

Puteți apela funcția astfel:

Private Sub OpenAccessDatabase_Example () Apelați OpenAccessDatabase ("C: \ temp \ Database1.accdb") Finalizați Sub

Conectați-vă la baza de date Access

Alternativ, puteți utiliza acest cod care va crea o nouă instanță de acces, va deschide o bază de date și va atribui baza de date unei variabile db:

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

sau utilizați această funcție, care conține codul de mai sus pentru a deschide o bază de date către o variabilă:

Funcție publică Connect_To_AccessDB (strDBPath As String) Ca DAO.Database Dim objAccess As Access.Application Dim db As DAO.Database Set objAccess = New Access.Application Set db = objAccess.DBEngine.OpenDatabase (strDBPath, FalseTB = False) Connect_ Funcția de sfârșit

Puteți apela funcția și interacționa cu baza de date folosind o procedură ca aceasta:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB As DAO.Database 'Exemplu pentru a atribui o bază de date unei variabile Set AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("create table tbl_test3 (num number, firstname char; pentru a închide Access 'DoCmd.Quit End Sub

Accesați autentificarea în baza de date

Această funcție VBA utilizează o autentificare prin verificarea unui nume de utilizator și a unei parole introduse împotriva tabelului Utilizatori. Pentru ca această funcție să funcționeze, va trebui să creați un tabel tblUsers cu câmpuri Parolă și Nume utilizator.

Funcție publică UserLogin (UserName As String, Password As String) 'Verificați dacă utilizatorul există în tabelul tblUsers al bazei de date curente. Dim CheckInCurrentDatabase As Boolean CheckInCurrentDatabase = True If Nz (UserName, "") = "" Atunci MsgBox "Trebuie să introduceți numele de utilizator.", VbInformation Exit Function ElseIf Nz (Password, "") = "" Then MsgBox "You must enter the Parola " ), 0) = 0 Apoi MsgBox "Nume de utilizator nevalid!", VbExclamation Exit Function ElseIf Nz (Password, "") Nz (DLookup ("Password", "tblUsers", "[UserName] = '" & Nz (UserName, " ") &" '")," ") Apoi MsgBox" Parolă nevalidă! ", VbExclamation Exit Function ElseIf DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")> 0 Apoi Dim strPW As String strPW = Nz (DLookup (" Password "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")," ") Dacă Nz (Parola, "") = strPW Apoi 'Setați numele de utilizator și parola ca variabile globale TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (Password," ") MsgBox" Conectat cu succes ", vbExclamation End If End Dacă altfel 'Setați numele de utilizator și parola ca variabile globale TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (Parolă," ") MsgBox" Conectat cu succes ", vbExclamation End If End Function

Puteți apela funcția astfel:

Private Sub UserLogin_Example () Apelați VBA_Access_General.UserLogin („Nume utilizator”, „parolă”) End Sub

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave