Prístup k databáze VBA - otvorenie, pripojenie, prihlásenie a ďalšie

Tento tutoriál ukáže, ako použiť VBA na otvorenie databázy Access. Ukáže tiež, ako vytvoriť prihlásenie na prístup do databázy - kontrola, či sa v tabuľke tblUsers databázy nachádza meno používateľa a heslo.

Otvorená prístupová databáza

Táto funkcia VBA otvorí databázu Access:

Verejná funkcia OpenAccessDatabase (strDBPath ako reťazec) Ak nie je Null (strDBPath) Potom shell "MSACCESS.EXE" "" & strDBPath & "" "", vbNormalFocus Koniec funkcie

Túto funkciu môžete zavolať takto:

Súkromný podradený server OpenAccessDatabase_Example () Zavolajte na server OpenAccessDatabase ("C: \ temp \ Database1.accdb") Koniec

Pripojiť sa k databáze Access

Prípadne môžete použiť tento kód, ktorý vytvorí novú inštanciu Accessu, otvorí databázu a priradí databázu k premennej db:

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

alebo použite túto funkciu obsahujúcu vyššie uvedený kód na otvorenie databázy pre premennú:

Verejná funkcia Connect_To_AccessDB (strDBPath ako reťazec) ako 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_AccessD = Koncová funkcia

Túto funkciu môžete vyvolať a pracovať s databázou pomocou tohto 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) ") ​​'Príklad na priradenie zatvorenia externej databázy AccessDB.Close Set AccessDB = Nothing' Príklad na odstránenie súboru externej databázy (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Príklad zavrieť Access 'DoCmd.Quit End Sub

Prístup k prihláseniu do databázy

Táto funkcia VBA využíva prihlásenie kontrolou zadaného používateľského mena a hesla v tabuľke tblUsers. Aby táto funkcia fungovala, budete musieť vytvoriť tabuľku tblUsers s poliami Heslo a Používateľské meno.

Verejná funkcia UserLogin (meno používateľa ako reťazec, heslo ako reťazec) 'Kontrola, či sa používateľ nachádza v tabuľke tblUsers aktuálnej databázy. Dim CheckInCurrentDatabase Dim Boolean CheckInCurrentDatabase = True If Nz (UserName, "") = "" Then MsgBox "Musíte zadať užívateľské meno.", VbInformation Ukončiť funkciu ElseIf Nz (heslo, "") = "" Potom MsgBox "Musíte zadať Password. ", VbInformation Ukončiť Funkciu Koniec Ak If CheckInCurrentDatabase = True Then 'Overiť prihlasovacie údaje používateľa Ak Nz (DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '" ), 0) = 0 Potom MsgBox "Neplatné používateľské meno!", VbExclamation Ukončiť funkciu ElseIf Nz (Heslo, "") Nz (DLookup ("Heslo", "tblUsers", "[Používateľské meno] = '" & Nz (Používateľské meno, " ") &" '")," ") Potom MsgBox" Neplatné heslo! ", VbExclamation Ukončiť funkciu ElseIf DCount (" UserName "," tblUsers "," [UserName] =' "& Nz (UserName," ") &" '")> 0 Potom stmaviť strPW ako reťazec strPW = Nz (DLookup (" Heslo "," tblUsers "," [UserName] =' "& Nz (Používateľské meno," ") &" ""), "") Ak Nz (Heslo, "") = strPW Potom 'Nastaviť užívateľské meno a heslo ako globálne premenné TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "Cur rentUserPassword ", Nz (Heslo," "" MsgBox "Úspešne prihlásený", vbExclamation Koniec Ak Koniec Ak je to iné, nastavte používateľské meno a heslo ako globálne premenné TempVars.Add "CurrentUserName", Nz (UserName, "") TempVars.Add "CurrentUserPassword ", Nz (heslo," ") MsgBox" Úspešne prihlásený ", vbExclamation Koniec ak Koniec Funkcia

Túto funkciu môžete zavolať takto:

Súkromný vedľajší používateľ Prihlásenie_Priklad () Zavolajte na VBA_Access_General.UserLogin („používateľské meno“, „heslo“) Koniec

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave