Καλημέρα στην παρέα
Περικλή, καλωσόρισες στο φόρουμ.
Στη ΒΔ που επισυνάπτω υπάρχει μια προσέγγιση του ζητούμενου.
Συγκεκριμένα στη φόρμα «Form1» υπάρχει:
1. Ένα πλαίσιο κειμένου «txtMonth» στο οποίο εμφανίζεται ο τρέχων μήνας με τη βοήθεια της συνάρτησης Format.
2. Ένα αδέσμευτο πλαίσιο κειμένου «txtCount» στο οποίο αριθμούνται οι εγγραφές.
Για την αρίθμηση των εγγραφών στην ιδιότητα «προέλευση στοιχείου ελέγχου» του «txtCount» έχει αναγραφεί ο τύπος: =IIf([ID] Is Null;"";fcount([ID])).
Επίσης στη φόρμα έχει τοποθετηθεί ο ακόλουθος κώδικας.
Κώδικας:
Option Compare Database
Option Explicit
Dim x As Long
Public Function fCount(p As Long) As Variant
If Me.NewRecord Then
x = Me.RecordsetClone.RecordCount - 1
Else
If x >= Me.RecordsetClone.RecordCount Then x = 0
End If
x = x + 1: fCount = x
End Function
Private Sub cmdCount_Click()
x = 0: Me.Requery
End Sub
Private Sub Form_AfterDelConfirm(Status As Integer)
x = 0: Me.Requery
End Sub
Η αρίθμηση των εγγραφών της φόρμας γίνεται αυτόματα, όταν ανοίγουμε τη φόρμα, προσθέτουμε εγγραφές ή διαγράφουμε.
Όταν αλλάζουμε την ταξινόμηση, βάζουμε φίλτρο και μετά το αφαιρούμε η αρίθμηση μπορεί να καταστραφεί.
Στην περίπτωση αυτή θα πρέπει να πατήσουμε το κουμπί «Επαναρίθμηση» για να ξαναγίνει σωστά.
Οι δοκιμές έγιναν σε access 2007, αλλά πιστεύω ότι δε θα υπάρχουν προβλήματα και στην 2003.
Φιλικά/Γιώργος