Достъп до база данни VBA - Отваряне, Свързване, Влизане и др

Този урок ще покаже как да използвате VBA за отваряне на база данни на Access. Той също така ще демонстрира как да създадете вход за достъп до базата данни - проверка дали потребителското име и паролата съществуват в таблицата tblUsers на базата данни.

База данни с отворен достъп

Тази функция VBA ще отвори база данни за достъп:

Публична функция OpenAccessDatabase (strDBPath като низ) Ако не е IsNull (strDBPath) Тогава Shell "MSACCESS.EXE" "" & strDBPath & "" "", vbNormalFocus Крайна функция

Можете да извикате функцията по следния начин:

Частен под OpenAccessDatabase_Example () Извикване OpenAccessDatabase ("C: \ temp \ Database1.accdb") Краен под

Свържете се с база данни за достъп

Като алтернатива можете да използвате този код, който ще създаде нов екземпляр на 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) Като DAO.Database Dim objAccess As Access.Application Dim db Като DAO.Database Set objAccess = Нов Access.Application Set db = objAccess.DBEngine. Крайна функция

Можете да извикате функцията и да взаимодействате с базата данни, като използвате процедура като тази:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB Като DAO.Database 'Пример за присвояване на база данни към променлива Задайте AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("създайте таблица tbl_test3 (номер номер, име char) , lastname char) ") ​​'Пример за присвояване на затваряне на външна база данни AccessDB.Close Set AccessDB = Nothing' Пример за изтриване на файл от външна база данни (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Пример за да затворите Access 'DoCmd. Quit End Sub

Достъп до вход в база данни

Тази функция VBA използва вход, като проверява въведеното потребителско име и парола спрямо таблицата tblUsers. За да работи тази функция, ще трябва да създадете таблица tblUsers с полета Парола и Потребителско име.

Публична функция UserLogin (UserName As String, Password As String) 'Проверете дали потребителят съществува в таблицата tblUsers на текущата база данни. Dim CheckInCurrentDatabase Като Boolean CheckInCurrentDatabase = True Ако Nz (UserName, "") = "" Тогава MsgBox "Трябва да въведете потребителското име.", VbInformation Излезте от функцията ElseIf Nz (Парола, "")) "" Тогава MsgBox "Трябва да въведете Password " ), 0) = 0 Тогава MsgBox "Невалидно потребителско име!", VbExclamation Функция за изход ElseIf Nz (Парола, "") Nz (DLookup ("Парола", "tblUsers", "[UserName] = '" & Nz (Потребителско име, " ") &" '")," ") След това MsgBox" Невалидна парола! ", VbExclamation Изход Функция ElseIf DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")> 0 Тогава Dim strPW As String strPW = Nz (DLookup (" Password "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")," ") Ако Nz (Парола, "") = strPW След това 'Задайте потребителско име и парола като глобални променливи TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (Парола," ") MsgBox" Влезли сте успешно ", vbExclamation Край Ако Край Ако друг" Задайте потребителско име и парола като глобални променливи TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "CurrentUserPassword ", Nz (Парола," ") MsgBox" Влезли успешно ", vbExclamation End If End функция

Можете да извикате функцията по следния начин:

Private Sub UserLogin_Example () Обадете се VBA_Access_General.UserLogin ("Потребителско име", "парола") Край на Sub

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave