Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

Χρήση Function Keys (και κουμπιών γενικώς) μόνο από φόρμα.

Συζητήσεις για την τοπική βάση δεδομένων Access της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
cghera
Δημοσιεύσεις: 11
Εγγραφή: 02 Ιουν 2010 20:33

Χρήση Function Keys (και κουμπιών γενικώς) μόνο από φόρμα.

Δημοσίευση από cghera » 03 Ιουν 2010 01:46

Καλησπερα,

Έχω μία βάση Access 2007, και σε αυτήν έχω κάποιες φόρμες.
Αυτό που θέλω να κάνω (αν γίνεται με κάποιο τρόπο) είναι να ακυρώσω τις native λειτουργίες των function keys και των υπόλοιπων κουμπιών (π.χ. insert delete pgup κλπ).
Για παράδειγμα. Θέλω ενώ βρίσκομαι σε μία φόρμα datasheet με το κουμπί f5 να μπαίνω σε μία φόρμα τύπου καρτέλας πελάτη. Ενεργοποίησα μία λειτουργία key preview με την οποία κάνω capture τα function keys και μετά στο event keydown ανοίγω τη φόρμα. Το ζήτημα είναι οτι μετά το άνοιγμα της φόρμας πελάτη, το datasheet κάνει και refresh (αυτό που κάνει κανονικά το f5 δηλαδή στο datasheet) και αν είμαι στον πελάτη 5000 π.χ. γυρνάω (στο datasheet πάντα) στον πρώτο.Οπότε κλείνοντας την καρτέλα, βγαίνει πάλι στην αρχή της λίστας και όχι εκεί που ήταν πριν. Κάνω δηλαδή αυτό που θέλω και κάνει και στο καπάκι τη default λειτουργία η access.
Στο κουμπι delete αντίστοιχα όταν είμαι στην καρτέλα θέλω να εμφανίζει μήνυμα διαγραφής και να διαγράφεται η εγγραφή. Πάλι με keydown event κάνω capture το πλήκτρο και εμφανίζω μήνυμα επιβεβαίωσης. Αν ο χρήστης δώσει ναι η εγγραφή διαγράφεται κανονικά. Αν όμως δώσει όχι στο warning, μετά το τέλος του δικού μου κώδικα, παίζει κανονικά και η λειτουργία delete, και αν είναι σε κάποιο πεδίο το focus διαγράφεται κάποιο γράμμα ή όλο το κείμενο αν ήταν επιλεγμένο.

Υπάρχει τρόπος να ακυρώσω αυτές τις "default" ενέργειες;
Μη μου πείτε να αλλάξω πλήκτρα ή να δουλέψω με buttons. Ο λόγος που το θέλω έχει να κάνει με migration από dos εφαρμογή και θέλω η λειτουργικότητα να παραμείνει όσο το δυνατό ίδια. Και αποφεύγω χρήση buttons (θα βάλω και τέτοια αλλά θέλω και keyboard driven) για να γίνεται πιο γρήγορα το data entry και γενικώς η εργασία.
(δεν ξέρω αν έχετε δει σε dos πόσο γρήγορα αλλάζουν φόρμες και εισάγουν δεδομένα πατώντας πλήκτρα στα "τυφλά" οι χρήστες)
Προσπαθώ λοιπόν πρώτα να εξαντλήσω τα περιθώρια και μετά αν αναγκαστώ να αλλάξω τις συνήθεις του χρήστη.
Σας ευχαριστώ για το χρόνο σας.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Χρήση Function Keys (και κουμπιών γενικώς) μόνο από φόρμα.

Δημοσίευση από dva_dev » 03 Ιουν 2010 09:02

http://msdn.microsoft.com/en-us/library ... 11%29.aspx
To handle keyboard events only at the form level and prevent controls from receiving keyboard events, set the KeyAscii argument to 0 in the form's KeyPress event procedure, and set the KeyCode argument to 0 in the form's KeyDown and KeyUp event procedures.

cghera
Δημοσιεύσεις: 11
Εγγραφή: 02 Ιουν 2010 20:33

Χρήση Function Keys (και κουμπιών γενικώς) μόνο από φόρμα.

Δημοσίευση από cghera » 03 Ιουν 2010 11:52

Ευχαριστώ πολύ για τη βοήθεια.

cghera
Δημοσιεύσεις: 11
Εγγραφή: 02 Ιουν 2010 20:33

Χρήση Function Keys (και κουμπιών γενικώς) μόνο από φόρμα.

Δημοσίευση από cghera » 09 Σεπ 2010 19:29

Σε συνέχεια της προηγούμενης ερώτησης, ψάχνω να βρω ένα τρόπο να αντικαταστήσω το συνηθισμένο shortcut CTRL + "+" που προσθέτει νέα εγγραφή σε φόρμα με το πλήκτρο insert.
Τί κωδικα πρέπει να βάλω εκεί που κάνω trap το vbkeyinsert ωστε η φόρμα να έρθει σε νέα εγγραφή;;
Δεν μπόρεσα να βρω κάποια μέθοδο για τη φόρμα που να προσθέτει νέο record με κενά στοιχεία. Το μόνο που βρήκα είναι το κουμπί που φτιάχνει αυτόματα η access και εκτελεί ένα macro.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Χρήση Function Keys (και κουμπιών γενικώς) μόνο από φόρμα.

Δημοσίευση από dva_dev » 09 Σεπ 2010 19:52

Για δοκίμασε με κάποιο από αυτά

Κώδικας: Επιλογή όλων

DoCmd.RunCommand acCmdRecordsGoToNew

Κώδικας: Επιλογή όλων

DoCmd.GoToRecord acActiveDataObject, , acNewRec

cghera
Δημοσιεύσεις: 11
Εγγραφή: 02 Ιουν 2010 20:33

Χρήση Function Keys (και κουμπιών γενικώς) μόνο από φόρμα.

Δημοσίευση από cghera » 10 Σεπ 2010 00:38

Για άλλη μία φορά ευχαριστώ. Με βοηθάς πολύ.

Απάντηση

Επιστροφή στο “MS Access”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες