Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] Ταξινόμηση και εύρεση της εγγραφής (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/2620-taksinomisi-kai-eiresi-tis-eggrafis.html)

Χρήστος 12-07-13 23:23

Ταξινόμηση και εύρεση της εγγραφής
 
Γεια σας
Σε κουμπί φόρμας(με το κλικ) έχω βάλει τον παρακάτω κώδικα.
Έτσι πετυχαίνω:
Με την εισαγωγή της εγγραφής να γίνεται αύξουσα ταξινίμηση στο πεδίο Τμήμα και να βρίσκει την εγγραφή στην νέα της θέση (μετά την ταξινόμηση)

Που πρέπει να μπεί ο κώδικας αυτός (ϊσως να θέλει και αλλαγές) ώστε η διαδικασία να γίνεται αυτόματα δίχως κλικ;
(Το τμήμα δεν είναι σύνθετο πλαίσιοώστε να μπεί μετά από ενημέρωση!)

Κώδικας.................................... ..

Dim RecID As Long

If Me.Recordset.Clone.RecordCount Then
RecID = Nz(Me.ID)

End If
Me.OrderBy = "Τμήμα"
Me.OrderByOn = True

If Len(Nz(RecID)) > 0 Then
With Me.Recordset.Clone
.FindFirst ("ID=" & RecID)
If Not .NoMatch Then
Me.Bookmark = .Bookmark
Else
MsgBox "Δεν βρέθηκε.", vbInformation, "ΕΝΗΜΕΡΩΣΗ"
End If
End With
End If

Tasos 13-07-13 12:23

Καλημέρα Χρήστο!

Το συμβάν AfterUpdate() (Μετά την ενημέρωση) υπάρχει σε όλα τα στοιχεία ελέγχου μιας φόρμας Access που μπορούν να πάρουν τιμή.

Έστω ότι η φόρμα σου μεταξύ άλλων περιέχει τα πεδία:

ID = Αναγνωριστικό
και
Τμήμα = Πεδίο με μορφή "Κείμενο"

Χρησιμοποίησε τον παρακάτω κώδικα:

Κώδικας:

Private Sub Τμήμα_AfterUpdate()
    Dim RecID As Long
    Me.Dirty = False
    RecID = Me.ID
    Me.OrderBy = "[Τμήμα]"
    Me.OrderByOn = True
    With Me.Recordset.Clone
        .FindFirst ("ID=" & RecID)
        If Not .NoMatch Then
            Me.Bookmark = .Bookmark
        End If
    End With
End Sub

Καλή συνέχεια!

Τάσος

Χρήστος 14-07-13 22:28

Σ' ευχαριστώ.


Η ώρα είναι 08:11.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2