23-04-10, 00:28
|
| Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού Office: Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική | | Εγγραφή: 21-10-2009
Μηνύματα: 2.011
| |
Μάρω καλησπέρα!
Το συμβάν 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 Ανάπτυξη επαγγελματικών εφαρμογών |