Πρόσβαση στη βάση δεδομένων VBA - Άνοιγμα, σύνδεση, σύνδεση και άλλα

Αυτό το σεμινάριο θα δείξει πώς να χρησιμοποιήσετε το VBA για να ανοίξετε μια βάση δεδομένων πρόσβασης. Θα δείξει επίσης πώς να δημιουργήσετε μια σύνδεση για πρόσβαση στη βάση δεδομένων - ελέγχοντας εάν το όνομα χρήστη και ο κωδικός πρόσβασης υπάρχουν στον πίνακα tblUsers της βάσης δεδομένων.

Open Access Database

Αυτή η λειτουργία VBA θα ανοίξει μια βάση δεδομένων πρόσβασης:

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

Μπορείτε να καλέσετε τη συνάρτηση ως εξής:

Private Sub OpenAccessDatabase_Example () Call Call 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 (strDBseb_Dath, Connect Λειτουργία Τέλους

Μπορείτε να καλέσετε τη συνάρτηση και να αλληλεπιδράσετε με τη βάση δεδομένων χρησιμοποιώντας μια διαδικασία όπως αυτή:

Private Sub Connect_To_AccessDB_Example () Dim AccessDB As DAO.Database 'Παράδειγμα για να εκχωρήσετε μια βάση δεδομένων σε μια μεταβλητή Ορίστε AccessDB = Connect_To_AccessDB ("c: \ temp \ TestDB.accdb") AccessDB.Execute ("create table tbl_test3 (number number, firstname char , επώνυμο char) ") ​​'Παράδειγμα εκχώρησης κλεισίματος εξωτερικής βάσης δεδομένων AccessDB.Close Set AccessDB = Τίποτα' Παράδειγμα διαγραφής εξωτερικού αρχείου βάσης δεδομένων (.accdb) 'Kill (" c: \ temp \ TestDB.accdb ")' Παράδειγμα για να κλείσετε την Access 'DoCmd.Quit End Sub

Πρόσβαση στη σύνδεση βάσης δεδομένων

Αυτή η συνάρτηση VBA χρησιμοποιεί μια σύνδεση ελέγχοντας ένα εισαγόμενο όνομα χρήστη και κωδικό πρόσβασης έναντι των tblUsers του πίνακα. Για να λειτουργήσει αυτή η συνάρτηση, θα χρειαστεί να δημιουργήσετε έναν πίνακα tblUsers με πεδία Κωδικός πρόσβασης και Όνομα χρήστη.

Public Function UserLogin (Όνομα χρήστη ως συμβολοσειρά, Κωδικός πρόσβασης ως συμβολοσειρά) 'Ελέγξτε εάν ο χρήστης υπάρχει στον πίνακα tblUsers της τρέχουσας βάσης δεδομένων. Dim CheckInCurrentDatabase As Boolean CheckInCurrentDatabase = True If Nz (UserName, "") = "" Τότε MsgBox "Πρέπει να εισαγάγετε το όνομα χρήστη.", VbInformation Exit Function ElseIf Nz (Password, "") = "" Τότε MsgBox "Πρέπει να εισαγάγετε το Κωδικός πρόσβασης. ", VbInformation Exit Function End If If CheckInCurrentDatabase = True Τότε" Επαληθεύστε τα διαπιστευτήρια χρηστών εάν Nz (DCount ("Όνομα χρήστη", "tblUsers", "[[UserName] = '" & Nz (Όνομα χρήστη, "") & "'" ), 0) = 0 Τότε MsgBox "Μη έγκυρο όνομα χρήστη!", VbExclamation Exit Function ElseIf Nz (Password, "") Nz (DLookup ("Password", "tblUsers", "[UserName] = '" & Nz (UserName, " ") &" '")," ") Στη συνέχεια MsgBox" Μη έγκυρος κωδικός πρόσβασης! ", VbExclamation Exit Function ElseIf DCount (" UserName "," tblUsers "," [[UserName] = "" & Nz (UserName, "") & " '")> 0 Στη συνέχεια αμβλύνω το strPW ως συμβολοσειρά strPW = Nz (DLookup (" Κωδικός πρόσβασης "," tblUsers "," [UserName] =' "& Nz (Όνομα χρήστη," ") &" '")," ") Αν Nz (Κωδικός πρόσβασης, "") = strPW Στη συνέχεια "Ορίστε το όνομα χρήστη και τον κωδικό πρόσβασης ως καθολικά μεταβλητά TempVars.Προσθέστε" CurrentUserName ", Nz (Όνομα χρήστη," ") TempVars.Add" Cur rentUserPassword ", Nz (Κωδικός πρόσβασης," ") MsgBox" Συνδετήκατε επιτυχώς ", vbExclamation Τέλος Αν Τερματίσετε Εάν Άλλος 'Ορίστε το όνομα χρήστη και τον κωδικό πρόσβασης ως Global Veriables TempVars. Προσθέστε" CurrentUserName ", Nz (UserName," ") TempVars.Add" CurrentUserPassword ", Nz (Κωδικός πρόσβασης," ") MsgBox" Έχετε συνδεθεί επιτυχώς ", vbExclamation End If End Function

Μπορείτε να καλέσετε τη συνάρτηση ως εξής:

Private Sub UserLogin_Example () Καλέστε VBA_Access_General.UserLogin ("Όνομα χρήστη", "κωδικός πρόσβασης") Τέλος υπο.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave