Καλημέρα σε όλους και χρόνια πολλά!
Αγαπητή Μάρω, η δημιουργία μιας μακροεντολής με το όνομα "
AutoKeys" όπου θα δέσμευες τον συνδυασμό πλήκτρων
CTRL +Q (
^Q στην Access) θα σου πρόσφερε αρκετή βοήθεια.
Αφού δημιουργήσεις τη μακροεντολή πέρασε την επιλογή "
Εκτέλεση κώδικα" και σαν όνομα συνάρτησης δώσε:
CloseQryHwnd() και αποθήκευσε.
Κατόπιν σε μια λειτουργική μονάδα πέρασε τον παρακάτω κώδικα:
Κώδικας:
Function CloseQryHwnd()
Dim Qryname As String, Qry As QueryDef
On Error Resume Next
Qryname = Screen.ActiveDatasheet.Name
If Qryname <> vbNullString Then
For Each Qry In CurrentDb.QueryDefs
If Qry.Name = Qryname Then
DoCmd.Close acQuery, Qryname, acSaveNo
Exit For
End If
Next
End If
End Function
Κάνε επανεκκίνηση στης εφαρμογής και δοκίμασε να κλείσεις τα παράθυρα των ερωτημάτων σου με τον προγραμματισμένο συνδυασμό πλήκτρων (
CTRL +Q ).
Αν αντιμετωπίσεις πρόβλημα αυτό σημαίνει ότι έχεις ταυτόχρονα μια η περισσότερες (μη αναδυόμενες) φόρμες ανοιχτές....(Νομίζω ότι πρόκειται για Bug της Access (2007 - 2010).
Στην περίπτωση αυτή:
1. Άνοιξε τις φόρμες αυτές σε προβολή σχεδίασης κάνε μια μικροαλλαγή, αναίρεσε την αλλαγή αυτή (Undo) και αποθήκευσε τις.
2. Από το κουμπί
Μετατροπή μακροεντολών σε Visual Basic μετέτρεψε την AutoKeys σε συνάρτηση
VBA και αποθήκευσε.
Με την επόμενη επανεκκίνηση της εφαρμογής όλα θα λειτουργούν όπως αναμένεται και μπορείς πια να διαγράψεις τη νέα λειτουργική μονάδα:
"Μακροεντολή που μετατράπηκε - AutoKeys".,
Καλή συνέχεια!
Φιλικά
Τάσος