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

Καλημέρα σε όλους!

Δημήτρη, η τιμή στην ιδιότητα Height των πεδίων επηρεάζεται από την Can Shring και Can Grow
μόνο στο συμβάν Print που όμως σ αυτό το χρονικό σημείο είναι πολύ αργά για να τροποποιηθεί.

Αυτό που θα σου πρότεινα είναι να εκμεταλλευτείς την δυνατότητα Can Grow για να εξομοιώσεις
το ύψος του πλαισίου κειμένου που σε ενδιαφέρει με τον παρακάτω τρόπο:

Έστω ότι σε μια έκθεση έχεις τα πεδία: Pedio1 και Pedio2 με τις μορφοποιήσεις τους κτλ.
και θέλεις το ύψος του πεδίου "Pedio2" να επεκταθεί όσο το ύψος του πεδίου "Pedio1".
Τα πεδία αυτά είναι συνδεμένα με πίνακα ή ερώτημα και έχει οριστεί η ιδιότητα τους "Ανάπτυξη" ( CanGrow ) σε ΝΑΙ.

Φρόντισε το Pedio2 να μην είναι ορατό.

Πρόσθεσε άλλο ένα πεδίο, δώσε του το όνομα "PedioΝ" και τοποθέτησε το στη θέση του
πεδίου "Pedio2" (μετακινείς και μικραίνεις το "Pedio2" για να μην σε εμποδίζει στη σχεδίαση).

Στη λειτουργική μονάδα της Έκθεσης πέρασε τον παρακάτω κώδικα:

Κώδικας:
Option Compare Database
Option Explicit

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

    'Αντιγραφή μορφοποιήσεων: Ενεργοποίησε όποιες από τις παρακάτω γραμμές χρειαστεί _
     αν τα 2 Πλαίσια Κειμένου (Pedio1 και PedioN) _
     έχουν διαφορετικές μορφοποιήσεις στη γραμματοσειρά τους.

'    Me.PedioN.Properties("FontSize").Value = Me.Pedio1.Properties("FontSize").Value
'    Me.PedioN.Properties("FontName").Value = Me.Pedio1.Properties("FontName").Value
'    Me.PedioN.Properties("FontWeight").Value = Me.Pedio1.Properties("FontWeight").Value
'    Me.PedioN.Properties("FontItalic").Value = Me.Pedio1.Properties("FontItalic").Value
'    Me.PedioN.Properties("FontUnderline").Value = Me.Pedio1.Properties("FontUnderline").Value

    'Για να αυξηθεί το ύψος του Πεδίου "PedioN"  όσο είναι το ύψος του Πεδίου "Pedio1" _
     σε χρόνο εκτέλεσης, του δίνουμε το κείμενο του Πεδίου "Pedio1" με την παρακάτω εντολή:

    Me!PedioN = Me!Pedio1

End Sub

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
    
     'Επαναφορά Μορφοποιήσεων : Ενεργοποίησε όποιες από τις παρακάτω γραμμές χρειαστεί _
      αν τα 2 Πλαίσια Κειμένου (Pedio1 και PedioN) _
      έχουν διαφορετικές μορφοποιήσεις στη γραμματοσειρά τους.

'    Me.PedioN.Properties("FontSize").Value = Me.Pedio2.Properties("FontSize").Value
'    Me.PedioN.Properties("FontName").Value = Me.Pedio2.Properties("FontName").Value
'    Me.PedioN.Properties("FontWeight").Value = Me.Pedio2.Properties("FontWeight").Value
'    Me.PedioN.Properties("FontItalic").Value = Me.Pedio2.Properties("FontItalic").Value
'    Me.PedioN.Properties("FontUnderline").Value = Me.Pedio2.Properties("FontUnderline").Value

    'Τώρα που έχει αυξηθεί το ύψος του Πεδίου "PedioN" μπορούμε να του _
      δώσουμε την τιμή που πρέπει να εμφανίσει δηλ. την τιμή του Πεδίου "Pedio2" (που δεν είναι ορατό).
    Me!PedioN = Me!Pedio2

End Sub
Καλή συνέχεια και καλό Πάσχα!

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 22-04-11 στις 12:28.
Απάντηση με παράθεση