![]() |
Βοήθεια με κώδικα σε login form Καλησπέρα σας. Θα ήθελα τη βοήθεια σας σχετικά με διόρθωση-πρόσθεση κώδικα σε μία φόρμα login. Έχω έναν πίνακα tbl_Users με πεδία lngUserID (Α/Α) , strUserName , strUserPassword , Permission (με τιμές Admin ,User). Μετά από πολύ ψάξιμο βρήκα διάφορα και παραμετροποίησα κάποιους κώδικες στη frm_Login οι οποίοι δουλεύουν μια χαρά. Θα ήθελα όμως να θέσω κάποιους περιορισμούς σε αυτούς που μπαίνουν ως Users. Δηλαδή από τη στιγμή που βάζουν το σωστό password να τους ανοίγει η frm_Home αλλά να μην βλέπουν ribbon , παράθυρο περιήγησης κτλ , ενώ αυτός που μπαίνει ως Admin να μην έχει περιορισμούς και επίσης κάπου είχα διαβάσει ότι σε έναν άλλον πίνακα μπορώ να βλέπω ποιος μπήκε και τι αλλαγές έκανε , σχετικό εδώ , αυτό θα το παλέψω και πιστεύω να τα καταφέρω. Παραθέτω τον κώδικα , γιατί η βάση είναι 25MB και θα την ανεβάσω μόλις μπορέσει κάποιος να με βοηθήσει. Ευχαριστώ. Παράθεση:
|
Καλησπέρα Βασίλη, Το ζητούμενο σου έχει να κάνει με τον σχεδιασμό της εφαρμογής σου. Υπάρχουν πολλοί τρόποι να κρύψεις ή να εμφάνισης κάποιο αντικείμενο στην Access. Θα πρέπει να μας δώσεις περισσότερες πληροφορίες για την δομή (menu, Ribbon) της εφαρμογής σου. Ευχαριστώ. |
Γιώργο σ'ευχαριστώ για την ανταπόκριση και δοθείσης ευκαιρίας , συγχαρητήρια για τον κόπο και χρόνο που διαθέτεις εσύ και πολλοί άλλοι για να απαντούν στα ερωτήματά μας. Στο θέμα μου. Το πρόβλημα το έχω σε αυτό το σημείο : Παράθεση:
SetProperties "StartUpShowDBWindow", dbBoolean, False SetProperties "StartUpShowStatusBar", dbBoolean, False SetProperties "AllowFullMenus", dbBoolean, False SetProperties "AllowSpecialKeys", dbBoolean, False SetProperties "AllowBypassKey", dbBoolean, False SetProperties "AllowShortcutMenus", dbBoolean, False SetProperties "AllowToolbarChanges", dbBoolean, False SetProperties "AllowBreakIntoCode", dbBoolean, False Με εκτίμηση, Βασίλης |
1 Συνημμένο(α) Καλησπέρα Βασίλη, Δες μια πρόταση. Διαχειριστής Username : admin Password : admin Χρήστης Username : user Password : user Ευχαριστώ. |
Καλημέρα σας. Σας ευχαριστώ για την μέχρι τώρα πολύτιμη βοήθεια σας. εγώ προσάρμοσα τον κώδικα που βρήκα στην επισυναπτόμενη ΒΔ που ανεβάσατε, πιο πάνω στη δίκη μου εφαρμογή, έχω 3 προβλημάτακια. 1.σε περίπτωση λάθους pass η φόρμα frm_login κλείνει. 2. σε περιπτωση σωστου username, passwprd μου πεταει μυνημα type missmatch 3 θα ήθελα με την εισοδο ενος απλου user εκτος απο ολα αυτα που εχει το mudule να κρυβει - επενγροποιει και ΤΟ NAVIGATION PANE Σας ευχαριστώ εκ των προτερων Με τιμη ο Κωδικας είναι ο παρακάτω Option Compare Database Option Explicit Dim intLogonAttempts As Integer Dim UserGroup As Integer Private Sub cbo_user_AfterUpdate() UserGroup = Me.cbo_user.Column(2, Me.cbo_user.ItemsSelected) Me.Txt_Password.SetFocus End Sub Private Sub cbo_user_GotFocus() On Error Resume Next Me.cbo_user.Requery End Sub Private Sub cmd_login_Click() On Error Resume Next Dim db As DAO.Database Dim rst As DAO.Recordset Dim strSQL As String If IsNull(Me.cbo_user) Or Me.cbo_user = "" Then MsgBox "You must enter a User Name.", vbOKOnly, "Administrator Message" Me.cbo_user.SetFocus Exit Sub End If If IsNull(Me.Txt_Password) Or Me.Txt_Password = "" Then MsgBox "You must enter a Password.", vbOKOnly, "Administrator Message" Me.Txt_Password.SetFocus Exit Sub End If If Me.Txt_Password.Value = DLookup("Password", "tbl_login", "[UserID]=" & Me.cbo_user.Value) Then If UserGroup = 1 Then 'Διαχειριστής EnableProperties ElseIf UserGroup = 2 Then 'Χρήστης DisableProperties Else 'Άλλο (νομίζω ότι εδώ παρουσιαζει το type mismatch) End If [/COLOR] strSQL = "SELECT FirstName FROM tbl_login WHERE Username = """ & Me.cbo_user.Value & """ AND Password = """ & Me.Txt_Password.Value & """" TempVars("Username").Value = Me.cbo_user.Value TempVars("Position").Value = Me.Txt_Position.Value Set db = CurrentDb Set rst = db.OpenRecordset(strSQL) Else MsgBox "Password invalid." & vbCrLf & vbCrLf & "Try again", vbOKOnly, "Administrator Message!" Me.Txt_Password = "" Me.Txt_Password.SetFocus End If If rst.EOF Then MsgBox prompt:="ËÜèïò username/password. ÎáíáðñïóðáèÞóå.", buttons:=vbCritical, Title:="Login Error" Me.cbo_user.SetFocus Else MsgBox prompt:="Ãåéá óïõ, " & rst.Fields(0).Value & ". ÊáëÞ ÂÜñäéá", buttons:=vbOKOnly, Title:="Åðéôõ÷Þò Åßóïäïò óôçí ÅöáìïãÞ" DoCmd.OpenForm "main_frm", acNormal End If Set db = Nothing Set rst = Nothing intLogonAttempts = intLogonAttempts + 1 If intLogonAttempts > 3 Then MsgBox "Are you a valid user?" & vbCrLf & "Contact Administrator.", vbCritical, "Failure" End If globals.Logging "login" DoCmd.Close acForm, "frm_login", acSaveYes End Sub Private Sub cmd_Cancel_Click() globals.Logging "ÅÎÏÄÏÓ" DoCmd.Quit acQuitSaveAll End Sub |
2 Συνημμένο(α) Καλησπέρα Έξαρχε, Δες μια πρόταση για το κρύψιμο του NAVIGATION PANE και φόρμα Frm_Login δεν πρέπει να είναι αποκλειστική. Πρόσεξε την δομή που έχουν ο πίνακας Users και ο πίνακας UserGroup. Το type missmatch στο βγάζει γιατί δεν παίρνει τον σωστό τύπο του ορίσματος που περιμένει κάποια συνάρτηση. Πρόσεξε στο σύνθετο πλαίσιο «cboUser» την προέλευση γραμμής και την σειρά των πεδίων σε αυτή - img1.jpg Ευχαριστώ. |
Καλησπέρα Γιώργο. Σ'ευχαριστώ πάρα πολύ για τη βοήθεια . Ήταν ακριβώς αυτό που ήθελα. Έχω μία ερώτηση ακόμα. Θα ήθελα , μόλις ανοίξει η frm_Home , σε ένα πλαίσιο κειμένου να εμφανίζει το username που έκανε login και σε ένα άλλο πλαίσιο το ονοματεπώνυμο αυτού. Το προσπάθησα με TempVars αλλά δεν είδα αποτέλεσμα. Πως ανεβάζεις την εφαρμογή , αφού είναι μεγαλύτερη από 512kb;;;; :oeo::oeo: Με εκτίμηση , Βασίλης |
form_login Παράθεση:
|
1 Συνημμένο(α) Καλησπέρα Βασίλη, Δες μια πρόταση για το ζητούμενο σου. Έχει αυξηθεί το μέγεθος των αρχείων που μπορούμε να ανεβάσουμε σε 1mb. Ευχαριστώ. |
1 Συνημμένο(α) Καλημέρα Γιώργο , είσαι θεός , απλά ... Ευχαριστώ. Μια ερώτηση που το διαπίστωσα χθες. Μπαίνω ως admin στην εφαρμογή με "full" δικαιώματα-properties. Βγαίνω και αμέσως μόλις ξαναμπαίνω ως user , αν και έχω απενεργοποιήσει ribbon - shorcutmenu - παράθυρο περιήγησης κτλ , αρχικά δίνει τη δυνατότητα προβολής σχεδίασης . Βγαίνω και ξαναμπαίνω ως admin. Πάλι η εφαρμογή "κρατάει" κάποιες ρυθμίσεις από τον user , δηλαδή δεν μου δίνει τη δυνατότητα προβολής σχεδίασης και ribbon. Δηλαδή σε κάθε περίπτωση θα πρέπει να μπαίνω δύο φορές για να ισχύσουν οι περιορισμοί ή τα δικαιώματα. Γιατί το κάνει αυτό; Την εφαρμογή δεν την έχω μετατρέψει ακόμα σε ACCDE. Ανεβάζω και την εφαρμογή έτσι ώστε αν μπορεί κάποιος να βοηθήσει. Οι χρήστες είναι (ΠΑΠΑΔΟΠΟΥΛΟΣ = Admin = 123) και (ΝΙΚΟΛΑΟΥ=User=345) Με εκτίμηση, Βασίλης |
| Η ώρα είναι 07:35. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.