Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Επιλογές γραμμής εργαλείων και κορδελας(Επαναφορά θέματος)
Καλησπέρα σε όλους. Ανοίγω εκ νέου το θέμα "Επιλογές γραμμής εργαλείων και κορδελας", καθόσον έλαβα προσωπικό μήνυμα από μελος του Forum, με το οποίο επιλύεται το ζητούμενο και για λόγους εκμάθησης θεωρώ επιβεβλημένη την επαναφορά του θέματος. [Σε μια φόρμα έχω αποεπιλέξει (Uncheck) τις επιλογές: 1) Πλήρη μενού και 2) Προεπιλεγμένα μενού συντόμευσης μεσω των επιλογών Access>επιλογές γραμμής εργαλείων και κορδέλας. Θα ήθελα τη βοήθειά σας στο ακόλουθο θέμα: Είναι δυνατόν, να επιλέγονται τα παραπάνω, μέσα από ανοικτή φόρμα, με κουμπί εντολής, και αντίστροφα (να αποεπιλέγονται), με την προυπόθεση να μην απαιτείται επανεκκίνηση της βάσης για την άμεση και πλήρη λειτουργικότητά τους ως εργαλείων της βάσης;] Σας ευχαριστώ εκ των προτέρων Με εκτίμηση Δημήτρης |
#2
| |||
| |||
Χαιρετώ όλη την κοινότητα Είναι η πρώτη μου ανάρτηση σε αυτό το forum, αφού πρώτα περιηγήθηκα εντυπωσιασμένος σε όλο σχεδόν ο forum και ειδικά στην Access. Αξίζουν πολλά συγχαρητήρια στους δημιουργούς αλλά και σε όσους συμμετέχουν στις συζητήσεις. Θεωρώ οτι ένα μεγάλο «ΕΥΧΑΡΙΣΤΩ» ότι είναι η ελάχιστη ηθική ανταμοιβή στους ανιδιοτελείς σκοπούς λειτουργίας της ιστοσελίδας. Είναι μεγάλη μου χαρά και ευχαρίστηση που συμμετέχω σε αυτό το forum. Είναι πηγή γνώσης και οι απαντήσεις που δίδονται είναι εμπεριστατωμένες και τεκμηριωμένες από εξειδικευμένους και καταρτισμένους επιστήμονες πάνω στο αντικείμενο. Αν και έχω δημιουργήσει αρκετές Βάσεις Δεδομένων με την Access μετά την περιήγησή μου στο forum άλλαξα γνώμη για τις ταπεινές μου γνώσεις στο αντικείμενο και παρακάτω θα προσπαθήσω να δώσω μια λύση στον παραπάνω φίλο μας το Δημήτρη . Επί της ουσίας: Για να ανοίγει η Βάση δεδομένων απευθείας χωρίς τα προεπιλεγμένα μενού και λειτουργίες πρέπει κατά την εκκίνηση να υπάρχουν διαδικασίες που να απενεργοποιούν τις ιδιότητες (False) της Βάσης που αποεπιλέγεις όταν αυτή είναι ανοιχτή. Χρησιμοποίησε την παρακάτω Δημόσια Λειτουργία : Κώδικας: Public Function DisableProperties() On Error GoTo TheError DoCmd.ShowToolbar "Ribbon", acToolbarNo 'Disable properties listed below by setting the property value to False 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 SetProperties "AllowBuiltinToolbars", dbBoolean, False Exit Function TheError: MsgBox Err.Description Exit Function End Function Τη λειτουργία αυτή θα την καλέσεις με το φόρτωμα της αρχικής φόρμας εκκίνησης η οποία μπορεί να είναι μια φόρμα εισαγωγής Κωδικού για είσοδο στις λειτουργίες της Βάσης για περισσότερη ασφάλεια. Κώδικας: Private Sub Form_Load() Call DisableProperties End Sub Χρειάζεται γιαυτό το σκοπό να δημιουργήσεις ένα κουμπί σε μια φόρμα που να επαναφέρει τις λειτουργίας στην αρχική τους κατάσταση (True) Στο ίδιο Module βάλε την παρακάτω λειτουργία : Κώδικας: Public Function EnableProperties() On Error GoTo ErrorHandler: DoCmd.ShowToolbar "Ribbon", acToolbarYes 'Set all properties listed below back to normal by setting value to True 'Show Database window SetProperties "StartUpShowDBWindow", dbBoolean, True SetProperties "StartUpShowStatusBar", dbBoolean, True 'show Access Full Menus. SetProperties "AllowFullMenus", dbBoolean, True 'enable F11, ALT F11, etc. for short key SetProperties "AllowSpecialKeys", dbBoolean, True 'Shift Key Override on loading SetProperties "AllowBypassKey", dbBoolean, True 'allow Access Shortcut Menus. May be too severe SetProperties "AllowShortcutMenus", dbBoolean, True SetProperties "AllowToolbarChanges", dbBoolean, True SetProperties "AllowBreakIntoCode", dbBoolean, True SetProperties "AllowBuiltinToolbars", dbBoolean, True Exit Function ErrorHandler: MsgBox Err.Description Exit Function End Function Ο Κώδικας στο Button σου με το click μπορεί να είναι ο παρακάτω : Κώδικας: Private Sub cmd_LockunlockDB_Click() Dim strPasswd As String 'Dim counter As Integer Dim Remaining As Integer Dim intLogonAttempts As Integer intLogonAttempts = 0 Do Until intLogonAttempts = 3 strPasswd = InputBox("Παρακαλώ πληκτρολογήστε έναν έγκυρο ωδικό π.χ. 1234." & vbCrLf & _ "Απαιτείται Κωδικός για πρόσβαση στη Βάση Δεδομένων με πλήρεις λειτουργίες - psw 1234", "Κωδικός Εισόδου στο CPanel") ‘Αν ο Κωδικός πληκτρολογηθεί λανθασμένα τρεις φορές η Βάση θα κλείσει . If strPasswd = "1234" Then Call EnableProperties Exit Sub Else intLogonAttempts = intLogonAttempts + 1 Remaining = 3 - intLogonAttempts MsgBox "Λανθασμένος κωδικός Εισόδου!" & vbCrLf & _ Εχετε " & Remaining & " ακόμα προσπάθειες πληκτρολόγησης έγκυρου Κωδικού." & vbCrLf & _ vbOKOnly, "Πληροφορία κωδικού Εισόδου" If intLogonAttempts = 3 Then MsgBox "Δεν έχετε πρόσβαση στη Διαχείριση της Βάσης δεδομένων. Παρακαλώ επικοινωνήστε με το Διαχειριστή..", vbCritical, "Περιορισμένη Πρόσβαση!" Application.Quit End If End If Loop End Sub Κώδικας: Option Compare Database Option Explicit Const dbBoolean = 1 Κώδικας: CurrentDb().Properties("StartupShowDBWindow") CurrentDb().Properties("StartupShowStatusBar") CurrentDb().Properties("AllowBuiltinToolbars") Για να δεις τις ιδιότητες της Βάσης σου: Κώδικας: Function FindCurrentDbProperties() Dim i As Integer For i = 0 To CurrentDb.Properties.Count - 1 Debug.Print CurrentDb.Properties(i).Name Next End Function Κώδικας: Sub testCodeDBProperties() On Error Resume Next Dim prop As Variant For Each prop In CodeDb.Properties Debug.Print prop.name & ": " & prop & " type: " & VarType(prop) Next prop End Sub Πληκτρολόγησε στο «Immediate» της VBA FindCurrentDbProperties FindCurrentDbProperties ή testCodeDBProperties Υπάρχουν μειονεκτήματα σε αυτή τη λειτουργία και ένας εξειδικευμένος χρήστης της Access μπορεί να την ανοίξει σε προβολή σχεδίασης και πάλι με κάποιον τρόπο που δεν θα τον περιγράψω εδώ. Η Καλύτερη επιλογή είναι να συνδυάσεις τα παραπάνω με ένα προσωποποιημένο μενού επιλογών στην κεντρική σου κονσόλα (RibbonToolBar) Ο παραπάνω κώδικας είναι παρόμοιος με αυτόν που χρησιμοποιεί στο παράδειγμά του ο Διαχειριστής Τάσος Φιλοξενίδης (Access samples - Χρήσιμα αρχεία & παραδείγματα > παράδειγμα προστασίας αντικειμένων βάσης δεδομένων από επεξεργασία (αποκλείει την προβολή σχεδίασης σε φόρμες). Δημοσιεύω ένα δείγμα Β.Δ. για να δεις τον κώδικα σε λειτουργία.Η Βάση ανοίγει πάντα κλειδωμένη εκτός αν ο διαχειριστής την ξεκλειδώσει. Αν κάτι δεν καταφέρεις καλά τα ξαναλέμε. Καλή συνέχεια Οι απόψεις της κοινότητας θα ήταν πολύτιμες για βελτιώσεις της παραπάνω λειτουργίας. |
#3
| |||
| |||
Φίλε Κώστα Καλωσόρισες στο Forum και σε ευχαριστώ για τη μακροσκελή και συνάμα απολύτως επεξηγηματική και κατατοπιστική απάντησή σου. Θα μελετηθεί δεόντως και θα έχεις νέα μου λίαν συντόμως . Φιλικά/Δημήτρης |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Ασφάλεια] Μενού - κρύψιμο κορδέλας απο χρήστες | Dafnh0106 | Access - Ερωτήσεις / Απαντήσεις | 8 | 07-03-17 05:33 |
[ Ασφάλεια] Επιλογές γραμμής εργαλείων και κορδελας | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 2 | 01-11-14 15:28 |
[ Εκθέσεις ] ΣΥΝΕΧΕΙΑ ΤΟΥ ΘΕΜΑΤΟΣ:ΒΔ.πρόβλημα με το search | asarigiannis | Access - Ερωτήσεις / Απαντήσεις | 6 | 13-05-14 07:35 |
Επιλογές σε εκτύπωση | stavross | Access - Ερωτήσεις / Απαντήσεις | 12 | 16-02-13 23:52 |
Απόκρυψη κορδέλας και λοιπών εργαλείων | theoma4 | Access - Ερωτήσεις / Απαντήσεις | 16 | 18-11-11 12:26 |
Η ώρα είναι 10:46.