Greifen Sie auf die VBA-Datenbank zu - Öffnen, Verbinden, Anmelden und mehr

In diesem Tutorial wird gezeigt, wie Sie mit VBA eine Access-Datenbank öffnen. Es wird auch demonstriert, wie ein Login für den Zugriff auf die Datenbank erstellt wird - überprüft, ob der Benutzername und das Passwort in der Tabelle tblUsers der Datenbank vorhanden sind.

Open-Access-Datenbank

Diese VBA-Funktion öffnet eine Access-Datenbank:

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

Sie können die Funktion wie folgt aufrufen:

Private Sub OpenAccessDatabase_Example() Aufruf OpenAccessDatabase("C:\temp\Database1.accdb") End Sub

Mit Access-Datenbank verbinden

Alternativ können Sie diesen Code verwenden, der eine neue Instanz von Access erstellt, eine Datenbank öffnet und die Datenbank einer Variablen zuweist db:

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

oder verwenden Sie diese Funktion, die den obigen Code enthält, um eine Datenbank für eine Variable zu öffnen:

Öffentliche Funktion 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(strDBPath, False, False) Set Connect_To_AccessDB = db Endfunktion

Sie können die Funktion aufrufen und mit der Datenbank mit einer Prozedur wie dieser interagieren:

Private Sub Connect_To_AccessDB_Example() Dim AccessDB As DAO.Database 'Beispiel um einer Variablen eine Datenbank zuzuweisen Set AccessDB = Connect_To_AccessDB("c:\temp\TestDB.accdb") AccessDB.Execute ("create table tbl_test3 (num number,firstname char , lastname char)") 'Beispiel zum Zuweisen eines Schließens einer externen Datenbank AccessDB.Close Set AccessDB = Nothing 'Beispiel zum Löschen einer externen Datenbankdatei (.accdb) 'Kill ("c:\temp\TestDB.accdb") 'Beispiel um Access 'DoCmd.Quit End Sub . zu schließen

Zugang zur Datenbank-Anmeldung

Diese VBA-Funktion verwendet eine Anmeldung, indem ein eingegebener Benutzername und ein Passwort mit der Tabelle tblUsers verglichen werden. Damit diese Funktion funktioniert, müssen Sie eine Tabelle tblUsers mit den Feldern Passwort und Benutzername erstellen.

Public Function UserLogin(UserName As String, Password As String) 'Prüfen, ob der Benutzer in der Tabelle tblUsers der aktuellen Datenbank vorhanden ist. Dim CheckInCurrentDatabase As Boolean CheckInCurrentDatabase = True If Nz(UserName, "") = "" Then MsgBox "Sie müssen den Benutzernamen eingeben.", vbInformation Exit Function ElseIf Nz(Password, "") = "" Then MsgBox "Sie müssen die Password.", vbInformation Exit Function End If If CheckInCurrentDatabase = True Then 'Benutzeranmeldeinformationen überprüfen If Nz(DCount("UserName", "tblUsers", "[UserName] = '" & Nz(UserName, "") & "'" ), 0) = 0 Then MsgBox "Ungültiger Benutzername!", vbExclamation Exit Function ElseIf Nz(Password, "") Nz(DLookup("Password", "tblUsers", "[UserName] = '" & Nz(UserName, " ") & "'"), "") Then MsgBox "Ungültiges Passwort!", vbExclamation Exit Function ElseIf DCount("UserName", "tblUsers", "[UserName] = '" & Nz(UserName, "") & " '") > 0 Then Dim strPW As String strPW = Nz(DLookup("Password", "tblUsers", "[UserName] = '" & Nz(UserName, "") & "'"), "") If Nz (Password, "") = strPW Then 'Setze Username und Password als Global Veriables TempVars.Add "CurrentUserName", Nz(UserName, "") TempVars.Add "Cur rentUserPassword", Nz(Password, "") MsgBox "Erfolgreich angemeldet", vbExclamation End If End If Else 'Benutzername und Passwort als globale Veriables festlegen TempVars.Add "CurrentUserName", Nz(UserName, "") TempVars.Add "CurrentUserPassword ", Nz(Password, "") MsgBox "Erfolgreich angemeldet", vbExclamation End If End Function

Sie können die Funktion wie folgt aufrufen:

Private Sub UserLogin_Example() Aufruf VBA_Access_General.UserLogin("Benutzername", "Passwort") End Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave