Åtkomst till VBA -databas - Öppna, anslut, logga in och mer

Denna handledning visar hur du använder VBA för att öppna en åtkomstdatabas. Det kommer också att visa hur man skapar en inloggning för att komma åt databasen - kontrollera om användarnamn och lösenord finns på databasens tblUsers -tabell.

Open Access -databas

Denna VBA -funktion öppnar en åtkomstdatabas:

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

Du kan kalla funktionen så här:

Privat del OpenAccessDatabase_Example () Ring OpenAccessDatabase ("C: \ temp \ Database1.accdb") Avsluta sub

Anslut till Access Database

Alternativt kan du använda den här koden som skapar en ny instans av Access, öppnar en databas och tilldelar databasen till 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 använd den här funktionen, som innehåller ovanstående kod för att öppna en databas för 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_Back_Delb_BackA_Back_Data_BackA_BackA_BackA_BackAtt Avsluta funktion

Du kan ringa funktionen och interagera med databasen med hjälp av en procedur så här:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB As DAO.Database 'Exempel för att tilldela en databas till en variabel Ange AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("skapa tabell tbl_test3 (num nummer, förnamn tecken , efternamn char) ") ​​'Exempel för att tilldela en stäng en extern databas AccessDB.Close Set AccessDB = Nothing' Exempel för att radera en extern databasfil (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Exempel för att stänga Access 'DoCmd.Quit End Sub

Åtkomst till databasinloggning

Denna VBA -funktion använder en inloggning genom att kontrollera ett angivet användarnamn och lösenord mot tabellens användare. För att denna funktion ska fungera måste du skapa en tabell tblUsers med fält lösenord och användarnamn.

Public Function UserLogin (UserName As String, Password As String) 'Kontrollera om användaren finns i den aktuella databasens tblUsers -tabell. Dim CheckInCurrentDatabase As Boolean CheckInCurrentDatabase = True If Nz (UserName, "") = "" Då MsgBox "Du måste ange användarnamn.", 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 Då MsgBox "Ogiltigt användarnamn!", VbExclamation Exit Function ElseIf Nz (Password, "") Nz (DLookup ("Password", "tblUsers", "[UserName] = '" & Nz (UserName, " ") &" '")," ") Då MsgBox" Ogiltigt lösenord! ", VbExclamation Exit Function ElseIf DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")> 0 Dimma sedan strPW som sträng strPW = Nz (DLookup (" Password "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")," ") If Nz (Lösenord, "") = strPW Sedan "Ange användarnamn och lösenord som globala veriabler TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" Cur rentUserPassword ", Nz (lösenord," ") MsgBox" Loggat in framgångsrikt ", vbExclamation End If End If Else 'Ange användarnamn och lösenord som globala veriabler TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (lösenord," ") MsgBox" Loggade in framgångsrikt ", vbExclamation End If End -funktion

Du kan kalla funktionen så här:

Private Sub UserLogin_Example () Ring VBA_Access_General.UserLogin ("Användarnamn", "lösenord") Avsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave