Доступ к базе данных VBA - открытие, подключение, вход и многое другое

В этом руководстве будет показано, как использовать VBA для открытия базы данных Access. Он также продемонстрирует, как создать логин для доступа к базе данных - проверка наличия имени пользователя и пароля в таблице tblUsers базы данных.

База данных открытого доступа

Эта функция VBA откроет базу данных Access:

Открытая функция OpenAccessDatabase (strDBPath As String) Если не IsNull (strDBPath), то оболочка "MSACCESS.EXE" "" & strDBPath & "" "", конечная функция vbNormalFocus

Вы можете вызвать функцию так:

Частная подпрограмма OpenAccessDatabase_Example () Вызов OpenAccessDatabase ("C: \ temp \ Database1.accdb") End Sub

Подключиться к базе данных Access

В качестве альтернативы вы можете использовать этот код, который создаст новый экземпляр Access, откроет базу данных и назначит базу данных переменной. db:

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

или используйте эту функцию, содержащую приведенный выше код, чтобы открыть базу данных для переменной:

Общедоступная функция 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, FalseA database) Установить Connect_To Конечная функция

Вы можете вызвать функцию и взаимодействовать с базой данных, используя такую ​​процедуру:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB As DAO.Database 'Пример назначения базы данных переменной Set AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("create table tbl_test3 (num number, firstname char , lastname char) ") ​​'Пример назначения закрытия внешней базы данных AccessDB.Close Set AccessDB = Nothing' Пример удаления файла внешней базы данных (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Пример закрыть Access 'DoCmd.Quit End Sub

Вход в базу данных Access

Эта функция VBA использует логин путем проверки введенного имени пользователя и пароля по таблице tblUsers. Чтобы эта функция работала, вам нужно будет создать таблицу tblUsers с полями Password и Username.

Открытая функция UserLogin (имя пользователя как строка, пароль как строка) 'Проверить, существует ли пользователь в таблице tblUsers текущей базы данных. Dim CheckInCurrentDatabase As Boolean CheckInCurrentDatabase = True Если Nz (UserName, "") = "" Then MsgBox "Вы должны ввести имя пользователя.", VbInformation Функция выхода ElseIf Nz (Password, "") = "" Then MsgBox "Вы должны ввести Пароль. ", VbInformation Exit Function End If If If CheckInCurrentDatabase = True Then 'Проверить учетные данные пользователя If Nz (DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '" ), 0) = 0 Тогда MsgBox "Invalid Username!", VbExclamation Exit Function ElseIf Nz (Password, "") Nz (DLookup ("Password", "tblUsers", "[UserName] = '" & Nz (UserName, " ") &" '")," ") Then MsgBox" Invalid Password! ", VbExclamation Exit Function ElseIf DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")> 0 Затем Dim strPW As String strPW = Nz (DLookup (" Пароль "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")," ") Если Nz (Пароль, "") = strPW Then 'Установить имя пользователя и пароль как глобальные проверяемые TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (Password," ") MsgBox" Успешный вход в систему ", vbExclamation End If End If Else 'Установить имя пользователя и пароль как глобальные проверяемые TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (Пароль," ") MsgBox" Успешный вход в систему ", vbExclamation End If End Function

Вы можете вызвать функцию так:

Private Sub UserLogin_Example () Вызов VBA_Access_General.UserLogin ("Имя пользователя", "пароль") End Sub

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave