
21-10-10, 10:09
|
 | Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού Office: Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική | | Εγγραφή: 21-10-2009
Μηνύματα: 2.035
| |
Καλημέρα κι από μένα!
Έστω ότι η υποφόρμα μεταξύ άλλων περιέχει το πεδίο CustNr που την συνδέει μα την κύρια φόρμα (Parent).
Το πεδίο αυτό θα πρέπει να υπάρχει στην κύρια φόρμα. Αν δεν θέλουμε να εμφανίζεται επιλέγουμε την ιδιότητα του πεδίου " Ορατό" σε "Όχι".
Κατόπιν, στη λειτουργική μονάδα της υποφόρμας περνάμε το παρακάτω (παραδειγματικός κώδικας): Κώδικας: Private Sub Form_AfterDelConfirm(Status As Integer)
If Not Status Then SetAutoNr
End Sub
Private Sub Form_AfterUpdate()
SetAutoNr
End Sub
Private Sub SetAutoNr()
'Table1 = ο πίνακας του οποίου τα δεδομένα εμφανίζονται στην υποφόρμα.
'Autonum = Το πεδίο που θα παιρνει τους αύξοντες αριθμούς σε κάθε δημιουργία ή διαγραφή μιας εγγραφής.
'CustNr = το ΑΡΙΘΜΙΤΙΚΟ πεδίο με το οπίο συνδέεται η υποφόρμα με τη φόρμα (....Me.Parent.CustNr...).
Dim i: i = 1
With CurrentDb.OpenRecordset("SELECT [Table1].[Autonum] " _
& "FROM [Table1] " _
& "Where [CustNr] = " & Me.Parent.CustNr)
If .RecordCount Then
.MoveFirst
Do Until .EOF
.Edit
.Fields("AutoNum") = i
i = i + 1
.Update
.MoveNext
Loop
End If
.Close
End With
End Sub
Με τον τρόπο αυτό, διορθώνουμε το πεδίο Autonum του πίνακα Table1 αλλά μόνο εκείνες τις εγγραφές που αναλογούν στο CustNr.
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |