Οι φόρμες διαχωρισμού στην Access είναι εξαιρετικά χρήσιμες. Δυστυχώς, δεν λειτουργούν όταν τα τοποθετείτε μέσα σε μια φόρμα πλοήγησης. Μάθετε πώς μπορείτε να δημιουργήσετε μια συνάρτηση VBA που θα προσομοιώνει τις λειτουργίες διαχωρισμού φόρμας της Access και θα την κάνει να λειτουργεί ακόμα και μέσα σε μια φόρμα πλοήγησης.
Η διαίρεση φόρμας σάς επιτρέπει να έχετε δύο προβολές των εγγραφών σας ταυτόχρονα – προβολή φόρμας και προβολή φύλλου δεδομένων. Σας επιτρέπει να έχετε μια επισκόπηση όλων των εγγραφών σας ενώ ταυτόχρονα σας δίνει την επιλογή να τα δείτε και να τα επεξεργαστείτε ένα προς ένα.
Δυστυχώς, οι διαχωρισμένες φόρμες δεν θα λειτουργήσουν όταν τις τοποθετήσετε σε μια φόρμα πλοήγησης – κάτι που με μπερδεύει. Καλό είναι ότι υπάρχει λύση για αυτό. Χρησιμοποιώντας VBA, μπορείτε να δημιουργήσετε τη δική σας συνάρτηση που θα προσομοιώνει τη φόρμα διαχωρισμού της Access. Απλώς ακολουθήστε τα παρακάτω βήματα.
Κατεβάστε το Δωρεάν Τώρα
Εάν θέλετε ναtart για να χρησιμοποιήσετε τη λειτουργία το συντομότερο δυνατό, τότε μπορείτε:
Κάντε λήψη του δείγματος βάσης δεδομένων με κωδικούς VBA τώρα
Διαφορετικά, αν θέλετε να κάνετε DIY, μπορείτε να διαβάσετε τα παρακάτω περιεχόμενα.
Βήματα για να δημιουργήσετε τη δική σας φόρμα διαχωρισμού στην Access χρησιμοποιώντας VBA
1. Ανοίξτε τη φόρμα διαχωρισμού και ενημερώστε την Προεπιλεγμένη προβολή σε Ενιαία φόρμα. 
- Ανοίξτε τη φόρμα διαχωρισμού.
- Ενώ βρίσκεστε σε προβολή σχεδίασης, επιλέξτε τη φόρμα.
- Μεταβείτε στο Φύλλο ιδιοτήτων (ALT + Enter) > καρτέλα Φόρμα.
- Αλλαγή προεπιλεγμένης προβολής σε: Ενιαία φόρμα.
- Κλείστε τη φόρμα και αποθηκεύστε.
2. Δημιουργήστε ένα αντίγραφο της φόρμας. Αυτό θα χρησιμεύσει ως προβολή φύλλου δεδομένων.
- Μεταβείτε στο παράθυρο πλοήγησης.
- Κάντε δεξί κλικ στη φόρμα σας και επιλέξτε Αντιγραφή.
- Κάντε δεξί κλικ σε μια κενή περιοχή στο παράθυρο πλοήγησης και επιλέξτε Επικόλληση.
- Αλλάξτε το όνομα της Φόρμας. Προσθέστε το με το "_Datasheet".
Παράδειγμα:
- Μορφή: Μέλη
- Αντίγραφο της Φόρμας: Members_Datasheet
3. Ανοίξτε τη Φόρμα φύλλου δεδομένων και ενημερώστε τις ιδιότητες προβολής φόρμας.
- Ανοίξτε τη φόρμα του φύλλου δεδομένων.
- Ενώ βρίσκεστε σε προβολή σχεδίασης, επιλέξτε τη φόρμα.
- Μεταβείτε στην καρτέλα Φύλλο Ιδιότητας > Φόρμα.
- Ενημερώστε τις ακόλουθες ιδιότητες:
- Προεπιλεγμένη προβολή: Datasheet
- Να επιτρέπεται η προβολή φύλλου δεδομένων: Ναι
- Να επιτρέπεται η προβολή φόρμας: Οχι
- Κλείστε τη φόρμα και αποθηκεύστε.
4. Ανοίξτε ξανά την Κύρια φόρμα και προσθέστε τη φόρμα φύλλου δεδομένων ως δευτερεύουσα φόρμα.
- Ανοίξτε την κύρια φόρμα (αυτή που αντιγράφηκε) σε προβολή σχεδίασης.
- Προσθέστε μια δευτερεύουσα φόρμα.
- Μεταβείτε στο μενού Σχεδίαση. Επιλέξτε Subform/Subreport.
- Κάντε κλικ στην περιοχή Λεπτομέρειες της φόρμας.
- Θα εμφανιστεί ο Οδηγός υποφόρμας.
- Μεταβείτε στο μενού Σχεδίαση. Επιλέξτε Subform/Subreport.
1. Κάντε κλικ στο «Χρήση υπάρχουσας φόρμας».
2.Επιλέξτε τη φόρμα του φύλλου δεδομένων σας.
3. Κάντε κλικ στο Επόμενο.
4.Επιλέξτε «Ορίστε το δικό μου».
5. Κάντε κλικ στο Finish.
3. Η φόρμα του φύλλου δεδομένων είναι πλέον υποφόρμα της κύριας φόρμας σας. Προσαρμόστε το στο επιθυμητό μέγεθος και θέση.
5. Τέλος, προσθέστε τον κωδικό.
- Ανοίξτε το πρόγραμμα επεξεργασίας VBA (ALT + F11).
- Επιλέξτε την κύρια φόρμα και επικολλήστε τον κώδικα που ακολουθεί.
'MAIN FORM Option Explicit Private Sub Form_AfterUpdate() Me.Members_Datasheet.Requery End Sub Private Sub Form_Current() If Me.NewRecord Then Me.Members_Datasheet.Form.Recordset.AddNew Else Me.Members_Datasheet.Requery End If End Sub
- Αφού αντιγράψετε τον κώδικα, αντικαταστήστε όλες τις εμφανίσεις της λέξης Μέλη_Φύλλο δεδομένων με το πραγματικό όνομα της φόρμας του φύλλου δεδομένων σας.
- Όταν τελειώσετε, επιλέξτε τη Φόρμα φύλλου δεδομένων από το μενού Έργο και αντιγράψτε τον παρακάτω κώδικα.
'SUBFORM/DATASHEET FORM Option Explicit Private Sub Form_AfterUpdate() Me.Parent.Form.Requery End Sub Private Sub Form_Current() Dim pk_field As String, pk_tbox As Control Dim primaryKey As String, strSearch As String Set pk_tbox = Me.Member_ID 'textbox containing primary key * pk_field = "Member_ID" 'primary key field name * primaryKey = Nz(pk_tbox.Value, 0) 'change value to 0 if null pk_field = "[" & pk_field & "]" 'enclose field name with brackets If primaryKey <> 0 Then 'if not null (or not a new record) strSearch = pk_field & "=" & primaryKey Me.Parent.Recordset.FindFirst strSearch Else Me.Parent.Form.Recordset.AddNew End If End Sub
- Ενημερώστε τις τιμές για τις ακόλουθες μεταβλητές:
- pk_tbox – αναφέρεται στο πλαίσιο κειμένου που περιέχει το πρωτεύον κλειδί.
- pk_field – αναφέρεται στο πεδίο πρωτεύοντος κλειδιού της πηγής εγγραφής.
Κάθε ένα έχει έναν αστερίσκο (*) στην ενότητα σχολίων, ώστε να μπορείτε να τα βρείτε εύκολα.
- Όταν τελειώσετε, αποθηκεύστε τις αλλαγές (CTRL + S) και κλείστε τον Επεξεργαστή VBA.
Τώρα, μπορείτε να προσθέσετε τη δική σας φόρμα διαχωρισμού μέσα στη φόρμα πλοήγησης. Δοκίμασέ το!
Διόρθωση κατεστραμμένης βάσης δεδομένων πρόσβασης (.accdb)
Μπορεί να υπάρχουν πολλοί λόγοι για τους οποίους μια βάση δεδομένων της Access καταστρέφεται. Δυστυχώς, δεν έχουμε τον έλεγχο στο most από αυτούς. Αν σας συμβεί, να θυμάστε ότι υπάρχει ακόμα τρόπος να το ανακτήσετε. DataNumen Inc. έχει δημιουργήσει ένα λογισμικό που αποδίδει επισκευή accdb. Τσέκαρέ το.
Εισαγωγή συγγραφέα:
Ο Jayme Stack είναι ειδικός στην ανάκτηση δεδομένων στο DataNumen, Inc., η οποία είναι ο παγκόσμιος ηγέτης στις τεχνολογίες ανάκτησης δεδομένων, συμπεριλαμβανομένων ανάκτηση sql και υπερέχουν προϊόντα λογισμικού ανάκτησης. Για περισσότερες πληροφορίες επισκεφθείτε www.datanumen.com



