Přístup k databázi VBA - otevření, připojení, přihlášení a další

Tento tutoriál předvede, jak pomocí VBA otevřít databázi Accessu. Ukáže také, jak vytvořit přihlašovací údaje pro přístup do databáze - kontrola, zda v tabulce tblUsers databáze existuje uživatelské jméno a heslo.

Otevřená přístupová databáze

Tato funkce VBA otevře přístupovou databázi:

Veřejná funkce OpenAccessDatabase (strDBPath jako řetězec) Pokud není IsNull (strDBPath), pak Shell "MSACCESS.EXE" "" & strDBPath & "" "", vbNormalFocus Koncová funkce

Funkci můžete volat takto:

Private Sub OpenAccessDatabase_Example () Volání OpenAccessDatabase ("C: \ temp \ Database1.accdb") End Sub

Připojte se k databázi Access

Alternativně můžete použít tento kód, který vytvoří novou instanci Accessu, otevře databázi a přiřadí databázi proměnné db:

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

nebo použijte tuto funkci obsahující výše uvedený kód k otevření databáze proměnné:

Veřejná funkce Connect_To_AccessDB (strDBPath jako řetězec) jako DAO.Database Dim objAccess As Access.Application Dim db jako DAO.Database Set objAccess = New Access.Application Set db = objAccess.DBEngine.OpenDatabase (strDBPath, False, False) Set Connect_To_AccessD = Koncová funkce

Funkci můžete volat a komunikovat s databází pomocí následujícího postupu:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB As DAO.Database 'Example to assign a database to a variable Set AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("create table tbl_test3 (num number, firstname char , lastname char) ") ​​'Příklad pro přiřazení zavření externí databáze AccessDB.Close Set AccessDB = Nothing' Příklad pro odstranění souboru externí databáze (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Příklad zavřít Access 'DoCmd.Quit End Sub

Přístup k přihlášení do databáze

Tato funkce VBA využívá přihlášení kontrolou zadaného uživatelského jména a hesla v tabulce tblUsers. Aby tato funkce fungovala, budete muset vytvořit tabulku tblUsers s poli Heslo a Uživatelské jméno.

Veřejná funkce UserLogin (jméno uživatele jako řetězec, heslo jako řetězec) 'Zkontrolujte, zda uživatel existuje v tabulce tblUsers aktuální databáze. Dim CheckInCurrentDatabase Dim Boolean CheckInCurrentDatabase = True If Nz (UserName, "") = "" Then MsgBox "You must enter the Username.", VbInformation Exit Function ElseIf Nz (Password, "") = "" Then MsgBox "Musíte zadat Heslo. ", VbInformation Ukončit Funkce Konec Pokud If CheckInCurrentDatabase = True Then 'Ověřit přihlašovací údaje uživatele Pokud Nz (DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '" ), 0) = 0 Potom MsgBox "Neplatné uživatelské jméno!", VbExclamation Ukončit funkci ElseIf Nz (heslo, "") Nz (DLookup ("heslo", "tblUsers", "[UserName] = '" & Nz (uživatelské jméno, " ") &" '")," ") Poté MsgBox" Neplatné heslo! ", VbExclamation Ukončit funkci ElseIf DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")> 0 Pak ztlumit strPW jako řetězec strPW = Nz (DLookup (" Heslo "," tblUsers "," [UserName] =' "& Nz (Uživatelské jméno," ") &" '")," ") Pokud Nz (Heslo, "") = strPW Poté 'Nastavit uživatelské jméno a heslo jako globální proměnné TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (heslo," ") MsgBox" Úspěšně přihlášen ", vbExclamation End If End If Else 'Nastavit uživatelské jméno a heslo jako Global Veriables TempVars.Add" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (heslo," ") MsgBox" Úspěšně přihlášen ", vbExclamation End If End Funkce

Funkci můžete volat takto:

Private Sub UserLogin_Example () Volejte VBA_Access_General.UserLogin ("Username", "password") End Sub

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave