Καλημέρα στην παρέα
Γιώργο, στη ΒΔ που επισυνάπτω, υπάρχουν δύο υλοποιήσεις του ζητούμενου.
1. Στην έκθεση «Φ/Α 1Χ ΚΟΡΑΣΙΔΩΝ» η υλοποίηση γίνεται σχεδιάζοντας, με κώδικα, ένα πλέγμα γραμμών στην έκθεση.
Το πλέγμα είναι προσαρμοσμένο στη θέση και τις διαστάσεις των πλαισίων κειμένου (πεδίων) στην έκθεση, οπότε αν γίνουν αλλαγές θα πρέπει να γίνει νέα προσαρμογή.
Κώδικας:
Private Sub Report_Page()
Dim xo As Long, yo As Long, i As Long, x As Variant, a As Long
x = Array(20, 595, 1423, 5125, 6818, 7700, 9005, 11550)
yo = 5020: a = 710
For i = 0 To 7
Me.Line (x(i), yo)-(x(i), yo + 10 * a)
Next
For i = 0 To 10
Me.Line (x(0), yo + i * a)-(x(7), yo + i * a)
Next
End Sub
2. Στην έκθεση «Φ/Α 1Χ ΚΟΡΑΣΙΔΩΝ2», η λύση δόθηκε από τον Τάσο (διαχειριστή).
Στη ΒΔ έχει προστεθεί ο πίνακας «ReportTable», ο οποίος χρησιμοποιείται ως προέλευση των δεδομένων της.
Με κατάλληλο κώδικα ο πίνακας φορτώνεται με τα πραγματικά δεδομένα και με τα αναγκαία εικονικά ώστε σε κάθε σελίδα της έκθεσης να έχουμε 10 εγγραφές.
Κώδικας:
Private Sub Report_Load()
Const LimitNumber = 10
Dim i As Integer
Dim RecCount As Integer
Dim DBs As DAO.Database
Set DBs = CurrentDb
DBs.Execute "DELETE * From ReportTable"
DBs.Execute "INSERT INTO ReportTable SELECT [ΠΛ 1Χ ΚΟΡΑΣΙΔΩΝ].* FROM [ΠΛ 1Χ ΚΟΡΑΣΙΔΩΝ]"
RecCount = DCount("*", "ReportTable")
RecCount = RecCount Mod LimitNumber
For i = RecCount + 1 To LimitNumber
DBs.Execute "INSERT INTO ReportTable ([Α/Α]) Values(999999999)"
Next
End Sub
Φιλικά/Γιώργος