Få tilgang til VBA -database - Åpne, Koble til, Logg inn og mer

Denne opplæringen vil demonstrere hvordan du bruker VBA til å åpne en tilgangsdatabase. Det vil også demonstrere hvordan du oppretter en pålogging for å få tilgang til databasen - sjekk om brukernavnet og passordet finnes på databasens tblUsers -tabell.

Åpne tilgangsdatabase

Denne VBA -funksjonen åpner en tilgangsdatabase:

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

Du kan kalle funksjonen slik:

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

Koble til Access Database

Alternativt kan du bruke denne koden som vil opprette en ny forekomst av Access, åpne en database og tilordne 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 bruk denne funksjonen, som inneholder koden ovenfor for å åpne en database for en variabel:

Offentlig funksjon 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_Back_Del_Back_Date_Back_Date Sluttfunksjon

Du kan ringe funksjonen og samhandle med databasen ved å bruke en prosedyre som denne:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB As DAO.Database 'Eksempel for å tilordne en database til en variabel Sett AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("opprett tabell tbl_test3 (nummer nummer, fornavn char , etternavn char) ") ​​'Eksempel for å tilordne en lukk en ekstern database AccessDB.Close Set AccessDB = Nothing' Eksempel for å slette en ekstern databasefil (.accdb) 'Drep (" c: \ temp \ TestDB.accdb ")' Eksempel for å lukke Access 'DoCmd.Quit End Sub

Få tilgang til Database Login

Denne VBA -funksjonen bruker en pålogging ved å sjekke et angitt brukernavn og passord mot tabellbrukerne. For at denne funksjonen skal fungere, må du lage en tabellbruker med feltene Passord og brukernavn.

Offentlig funksjon UserLogin (brukernavn som streng, passord som streng) 'Sjekk om brukeren finnes i den gjeldende databasens tblUsers -tabell. Dim CheckInCurrentDatabase As Boolean CheckInCurrentDatabase = True If Nz (UserName, "") = "" Then MsgBox "You must enter the Username.", 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 Deretter MsgBox "Ugyldig brukernavn!", VbExclamation Avslutt funksjon ElseIf Nz (passord, "") Nz (DLookup ("Password", "tblUsers", "[UserName] = '" & Nz (UserName, " ") &" '")," ") Da MsgBox" Ugyldig passord! ", VbExclamation Avslutt funksjon ElseIf DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")> 0 Dim deretter strPW som streng strPW = Nz (DLookup (" Password "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")," ") If Nz (Passord, "") = strPW Deretter 'Sett brukernavn og passord som globale Veriables TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (Passord," ") MsgBox" Logget inn vellykket ", vbExclamation End If End If Else 'Sett brukernavn og passord som globale Veriables TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (passord," ") MsgBox" Logget inn vellykket ", vbExclamation End If End -funksjon

Du kan kalle funksjonen slik:

Private Sub UserLogin_Example () Ring VBA_Access_General.UserLogin ("Brukernavn", "passord") Slutt Sub

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave