Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Άνοιγμα φόρμας με F5
Καλησπέρα σε όλους, έχω μία φόρμα "Πίνακας Επιλογών" και άλλη μία "ΕΤΑΙΡΙΑ" ΄ Θέλω όταν είμαι στην 1η φόρμα να πατάω F5 και αφού κλείσει να μου ανοίξει την 2η φόρμα η οποία με την σειρά της όταν κλείσει να μου ξαναανοίξει την 1ή Τι κάνω λάθος???? Στη φόρμα Πίνακας Επιλογών έχω Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Const conKey_F5 = &H74 ' F5 Key constant Select Case KeyCode Case conKey_F5 DoCmd.Close DoCmd.OpenForm "ΕΤΑΙΡΙΑ" KeyCode = 0 Case Else End Select If KeyCode = Asc("L") And Shift = 2 Then Beep: Beep: Beep: Beep End If If KeyCode = 76 And Shift = 1 Then DoCmd.OpenForm "ΕΤΑΙΡΙΑ" End Sub Στην φόρμα ΕΤΑΙΡΙΑ έχω Private Sub Form_Close() DoCmd.OpenForm "Πίνακας επιλογών" End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then DoCmd.Close End Sub Ευχαριστώ, Μάρω |
#2
| ||||
| ||||
Μάρω καλησπέρα! Το συμβάν KeyDown() εξαπολύεται από στοιχεία που το υποστηρίζουν και που έχουν την εστίαση (Focus). Δεν είναι δυνατόν να εξαπολυθεί το συμβάν της φόρμας KeyDown() αφού στο 99,9% των περιπτώσεων ή εστίαση βρίσκεται σε κάποιο στοιχείο της φόρμας και όχι στην ίδια τη φόρμα. Μπορείς να κάνεις τα εξής: Φτιάξε μια μακροεντολή με το όνομα AutoKeys. Στην προβολή σχεδίασης της πάτησε το κουμπί Ονόματα μακροεντολών (Acc 2007), και στη στήλη που θα εμφανιστεί πληκτρολόγησε: {F5} Στη στήλη Ενέργεια επέλεξε Εκτέλεση κώδικα και σαν όνομα συνάρτησης δώσε: ShowHide() Πέρασε την ShowHide() σε ένα κοινό Module. O κώδικας της ShowHide(): Κώδικας: Option Compare Database Option Explicit Function ShowHide() Dim FBool1 As Boolean, FBool2 As Boolean FBool1 = IsOpen("Form1"): FBool2 = IsOpen("form2") If FBool1 And FBool2 Then DoCmd.Close acForm, "Form2" ElseIf FBool1 Then DoCmd.Close acForm, "Form1" DoCmd.OpenForm "Form2" ElseIf FBool2 Then DoCmd.Close acForm, "Form2" DoCmd.OpenForm "Form1" Else DoCmd.OpenForm "Form1" End If End Function Function IsOpen(FormName$) As Boolean If SysCmd(10, 2, FormName) <> 0 Then If Forms(FormName).CurrentView = 1 Then IsOpen = True End If End Function Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#3
| |||
| |||
Να ΄σαι καλά Τάσο μου, λειτουργεί μια χαρά Ευχαριστώ, Μάρω |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Φόρμες ] άνοιγμα φόρμας με υποφόρμα | octapus | Access - Ερωτήσεις / Απαντήσεις | 5 | 22-09-14 16:24 |
[ Φόρμες ] Άνοιγμα Φόρμας ή Έκθεσης | mgeorge | Access - Ερωτήσεις / Απαντήσεις | 4 | 23-04-14 19:52 |
[VBA] Κωδικας VBA για άνοιγμα φόρμας | ΘΟΔΩΡΟΣ | Excel - Ερωτήσεις / Απαντήσεις | 3 | 16-02-12 00:37 |
Άνοιγμα συγκεκριμένης φορμας | alfamesitiki | Access - Ερωτήσεις / Απαντήσεις | 6 | 26-01-12 18:53 |
[ Φόρμες ] ΚΟΛΛΗΜΑ ΜΕ ΑΝΟΙΓΜΑ ΦΟΡΜΑΣ | marios1984 | Access - Ερωτήσεις / Απαντήσεις | 2 | 01-03-10 15:01 |
Η ώρα είναι 20:23.