Adgang til VBA -database - Åbn, Connect, Login og mere

Denne vejledning viser, hvordan du bruger VBA til at åbne en Access Database. Det vil også demonstrere, hvordan du opretter et login for at få adgang til databasen - kontrollere, om brugernavnet og adgangskoden findes på databasens tblUsers -tabel.

Open Access Database

Denne VBA -funktion åbner en Access Database:

Public Function OpenAccessDatabase (strDBPath As String) If Not IsNull (strDBPath) Then Shell "MSACCESS.EXE" "" & strDBPath & "" "", vbNormalFocus End Function

Du kan kalde funktionen sådan:

Private Sub OpenAccessDatabase_Example () Ring til OpenAccessDatabase ("C: \ temp \ Database1.accdb") Afslut Sub

Opret forbindelse til Access Database

Alternativt kan du bruge denne kode, der vil oprette en ny forekomst af Access, åbne en database og tildele databasen til en variabel db:

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

eller brug denne funktion, der indeholder ovenstående kode til at åbne en database for en variabel:

Public Function Connect_To_AccessDB (strDBPath As String) As DAO.Database Dim objAccess As Access.Application Dim db As DAO.Database Set objAccess = New Access.Application Set db = objAccess.DBEngine.OpenDatabase (strDBPoA_Base_Set_Del_Base_Fald_Bind_Bind_til_Bind Afslut funktion

Du kan kalde funktionen og interagere med databasen ved hjælp af en procedure som denne:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB As DAO.Database 'Eksempel for at tildele en database til en variabel Set AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("create table tbl_test3 (num number, firstname char) , efternavn char) ") ​​'Eksempel for at tildele en luk en ekstern database AccessDB.Close Set AccessDB = Nothing' Eksempel for at slette en ekstern databasefil (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Eksempel for at lukke Access 'DoCmd.Quit End Sub

Adgang til database -login

Denne VBA -funktion benytter et login ved at kontrollere et indtastet brugernavn og adgangskode mod tabellen tblUsers. For at denne funktion skal fungere, skal du oprette en tabel tblUsers med felterne Password og brugernavn.

Offentlig funktion UserLogin (brugernavn som streng, adgangskode som streng) 'Kontroller, om brugeren findes i den aktuelle databases tblUsers -tabel. Dim CheckInCurrentDatabase As Boolean CheckInCurrentDatabase = True If Nz (UserName, "") = "" Så skal MsgBox "Du skal indtaste brugernavnet.", VbInformation Exit Function ElseIf Nz (Password, "") = "" Then MsgBox "You must enter the Password. ", VbInformation Exit Function End If If CheckInCurrentDatabase = True Then 'Verify user credentials If Nz (DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '"" ), 0) = 0 Så MsgBox "Ugyldigt brugernavn!", VbExclamation Afslut funktion ElseIf Nz (Password, "") Nz (DLookup ("Password", "tblUsers", "[UserName] = '" & Nz (UserName, " ") &" '")," ") Så MsgBox" Ugyldig adgangskode! ", VbExclamation Afslut funktion ElseIf DCount (" Brugernavn "," tblUsers "," [UserName] =' "& Nz (Brugernavn," ") &" '")> 0 Dæmp derefter strPW som streng strPW = Nz (DLookup (" Password "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")," ") If Nz (Password, "") = strPW Derefter 'Indstil brugernavn og adgangskode som globale veriabler TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (Password," ") MsgBox" Logget med succes ", vbExclamation End If End If Else 'Indstil brugernavn og adgangskode som globale veriabler TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (adgangskode," ") MsgBox" Logget ind med succes ", vbExclamation End If End -funktion

Du kan kalde funktionen sådan:

Private Sub UserLogin_Example () Ring til VBA_Access_General.UserLogin ("Brugernavn", "password") Afslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave