Εμφάνιση ενός μόνο μηνύματος
  #4  
Παλιά 28-09-11, 09:07
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα στην παρέα

Γιώργο, στη ΒΔ που επισυνάπτω, υπάρχουν δύο υλοποιήσεις του ζητούμενου.

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
Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb ΑΓΩΝΕΣ ΝΟΓ - Αντίγραφο1.mdb (988,0 KB, 39 εμφανίσεις)
Απάντηση με παράθεση