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

Αλέξανδρε, έτσι:

  • MyForm = Το όνομα της φόρμας
  • ReportName = το όνομα της Έκθεσης
Κώδικας:
Private Sub cmdPrintPreview_Click()
    Dim strDocName As String
    strDocName = "ReportName"
    DoCmd.OpenReport strDocName, acViewPreview
    DoCmd.RunCommand acCmdZoom150
    '    Reports(strDocName).ZoomControl = 150  ' Ακαίρεοι αριθμοι  0 - 3000 +-( δεν υποστηρίζεται επίσημα )
End Sub
Αν η φόρμα είναι αναδυόμενη με τον παρακάτω κώδικα η συμπεριφορά των παραθύρων θα είναι πολύ καλύτερη:


Στη φόρμα:

Κώδικας:
Private Sub cmdPrintPreview_Click()
    Dim strDocName As String
    strDocName = "ReportName"
    DoCmd.Minimize  ' Ελαχιστοποίηση του παραθύρου της φόρμας
    DoCmd.OpenReport strDocName, acViewPreview
    DoCmd.RunCommand acCmdZoom150
    '    Reports(strDocName).ZoomControl = 152   ' Ακαίρεοι αριθμοι  0 - 3000 +-( δεν υποστηρίζεται επίσημα )
End Sub
Στην Έκθεση:

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

Private Declare Function ShowWindow Lib "user32" ( _
        ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Const SW_RESTORE = 9&
Private Const SW_NORMAL = 1&
Private Const SW_MAXIMIZE = 3&

Private Sub Report_Open(Cancel As Integer)
    DoCmd.Maximize  ' Μεγιστοποίηση του παραθύρου της Έκθεσης
End Sub

Private Sub Report_Close()
    On Error Resume Next
    'επαναφέρει το παράοθυρο της φόρμας από την ελαχιστοποίηση στην προηγούμενη μορφή
    ShowWindow Forms!MyForm.hwnd, SW_RESTORE    'SW_MAXIMIZE 
End Sub
Καλη συνέχεια!

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

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