Εμφάνιση ενός μόνο μηνύματος
  #5  
Παλιά 15-07-20, 09:33
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα! Στο παράδειγμα υπάρχει ήδη κώδικας VBA που κάνει ακριβώς αυτή τη δουλειά δηλαδή προσθέτει τόσες κενές γραμμές στον πίνακα temp ώστε να είναι στο σύνολο 14 ανά σελίδα στην έκθεση.

Κώδικας:
Option Compare Database
Option Explicit
Private Const AllowedRecs = 14

Sub CreateReport()
    Dim ModX As Integer
    Dim i As Integer
    Dim RecCount As Long
    Dim CostPos As Long
    Dim db As DAO.Database
    Dim rsBase As DAO.Recordset
    Set db = CurrentDb
    db.Execute "DELETE * FROM temp"    ', dbFailOnError

    ' Εδώ μπορούν να δοθούν περισσότερα κριτήρια πχ. ημερομηνία
    ' ώστε να εισαχθούν μόνο οι εγγραφές που πραγματικά πρέπει να εκτυπωθούν.
    db.Execute "INSERT INTO temp SELECT ΤΙΜΟΛΟΓΙΑ1.* FROM ΤΙΜΟΛΟΓΙΑ1"    ' WHERE ....


    Set rsBase = db.OpenRecordset("SELECT DISTINCT ΤΙΜΟΛΟΓΙΑ1.[ΘΕΣΗ ΚΟΣΤΟΥΣ]FROM ΤΙΜΟΛΟΓΙΑ1")
    If rsBase.RecordCount Then
        While Not rsBase.EOF
            CostPos = rsBase![ΘΕΣΗ ΚΟΣΤΟΥΣ]
            RecCount = DCount("*", "temp", "[ΘΕΣΗ ΚΟΣΤΟΥΣ] = " & CostPos)
            ModX = AllowedRecs - (RecCount Mod AllowedRecs)
            If ModX <> AllowedRecs Then
                For i = 1 To ModX
                    db.Execute "INSERT INTO temp ( [ΘΕΣΗ ΚΟΣΤΟΥΣ] ) Values (" & CostPos & ")"
                Next
            End If
            rsBase.MoveNext
        Wend
    End If
    rsBase.Close
    Set rsBase = Nothing
    Set db = Nothing
End Sub
Θα χρειαστεί λοιπόν να τρέχεις τον κώδικα με ένα κουμπί για να φτάνεις στο ζητούμενο.
Ίσως χρειαστεί να τροποποιηθεί ο κώδικας ώστε να φορτώνονται μόνο τα δεδομένα προς εκτύπωση που θα έχεις ορίσει από μια φόρμα χρησιμοποιώντας πεδία Ημερομηνία από - έως ή κάποιο άλλο είδος φιλτραρίσματος.
Αυτή είναι και η μοναδική λύση.
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 15-07-20 στις 21:10.
Απάντηση με παράθεση