Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Ερωτήματα ] Οριζόντια Εκτύπωση (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/858-orizontia-ektiposi.html)

mdragon 02-12-10 09:34

Οριζόντια Εκτύπωση
 
Καλημέρα σε όλη την παρέα,
θα ήθελα να μάθω πως μπορώ σε ένα ερώτημα όταν δίνω προεπισκόπηση εκτύπωσης να μου το επιστρέφει σε οριζόντια εκτύπωση με κανονικά περιθώρια για να το εκτυπώνω άμεσα.
Δεν θα ήθελα να φτιάξω εκθέσεις γιατί θέλω να επεξεργάζομαι το αποτέλεσμα.





Ευχαριστώ εκ των προτέρων,
Μάρω

editolis 02-12-10 23:49

Για να γινει αυτο που θελεις θα πρεπει καταρχην να αλλαξουμε εξ' όρισμου το οριεντεισιον του εκτυπωτη. Και μετα να τρεξεις το ερωτημα σου.

Αυτο μεσα απο VBA προσωρινα μπορει να γινει με την εξης εντολη:

Application.Printer.Orientation = acPRORLandscape
DoCmd.OpenQuery "qryTEST", acViewPreview, acEdit

Οπου qyTEST το ερωτημα σου.

Μετα για να επιστρεψεις τον εκτυπωτη στο κανονικο οριεντεισον θα δωσεις την εξης εντολη:

Application.Printer.Orientation = acPRORPortrait

Νομιζω οτι ειναι αυτο που ζητας.

Καλη συνεχεια...

mdragon 03-12-10 08:33

Τόλη καλημέρα,
σε ευχαριστώ για την απάντησή σου αλλά αν θες προσάρμοσε το
στο συνημμένο μου γιατί κάτι δεν κάνω καλά και δεν μου δουλεύει.




Ευχαριστώ,
Μάρω

nisgia 03-12-10 09:47

1 Συνημμένο(α)
Καλημέρα Μάρω!

Μάλλον το συνημμένο ξεχάστηκε αλλά...
Κατά την προεπισκόπηση του ερωτήματος, δεν είναι διαθέσιμη η ομάδα "Page Layout" ώστε να επιλέξεις από εκεί τον προσανατολισμό του;

mdragon 03-12-10 10:06

Γιάννη καλημέρα και σε εσένα.
Δεν ξέρω τι έγινε, μου ανέβασε το μήνυμα χωρίς το συνημμένο, διέγραψα το μήνυμα αλλά και πάλι μου το εμφάνισε.:confused1: Θα προσπαθήσω και αργότερα.
Είναι διαθέσιμη......... το θέμα μου όμως είναι ότι τα εκτυπώνω πολύ συχνά και θα ήθελα να αποφεύγω κάθε φορά την διαμόρφωση της σελίδας.



Φιλικά,
Μάρω

nisgia 03-12-10 11:21

Μια λύση που μου έρχεται στο μυαλό αυτή τη στιγμή είναι να εισάγεις το ερώτημα σε μια φόρμα η οποία απλά θα αντικαθιστά το παράθυρο του ερωτήματος.
Η διαφορά είναι πως η φόρμα κρατάει τις όποιες επιλογές εκτύπωσης.

Αν δεν σε βολεύει και αυτή, τότε αναγκαστικά θα πρέπει να καταφύγεις σε λύση αντίστοιχη με αυτή του Τόλη.

Φιλικά,
Γιάννης

mdragon 03-12-10 14:41

Γιάννη,
σε ευχαριστώ για την άμεση ανταπόκριση. Αυτό το γνώριζα ήδη αλλά είναι πολλά τα ερωτήματα
που θα ήθελα να το κάνω και θα προτιμούσα να μην φορτώσω το αρχείο μου με επιπλέον φόρμες.:023:
Προσπαθώ να χρησιμοποιήσω τον κώδικα του Τόλη αλλά κάτι δεν κάνω καλά. Αν το έχεις καταλάβει καλύτερα στείλε μου σε παρακαλώ ένα συνημμένο γιατί εγώ το δικό μου δεν μπορώ να το ανεβάσω από το πρωί.




Ευχαριστώ για όλα,
Μάρω

nisgia 03-12-10 16:20

1 Συνημμένο(α)
Καλησπέρα και πάλι Μάρω!

Στο παράδειγμα που επισυνάπτω θα βρεις δυο τρόπους με τους οποίους επιτυγχάνεται (υποθέτω) το ζητούμενό σου.

Ο ένας ελέγχει κατά το χρόνο εκτέλεσης τον προσανατολισμό του προεπιλεγμένου εκτυπωτή
και επιλέγει το προς εκτύπωση ερώτημα μέσω μιας μικρής φόρμας (frmMyQueries) ενώ ο άλλος
χρησιμοποιεί μια φόρμα (frmQueryContainer) στην οποία "φιλοξενείται" το επιλεγμένο ερώτημα.
Με τον δεύτερο τρόπο, οι ρυθμίσεις κατά την προεπισκόπηση είναι μόνιμες αφού εφαρμόζονται στη φόρμα και όχι στο ερώτημα.

Ελπίζω να σε βοηθήσει...

Φιλικά,
Γιάννης

Edit:
Το συνημμένο αντικαταστάθηκε.
Έγινε προσθήκη της έκφρασης "Resume ExitHere" στον κώδικα της διαδικασίας "cmdPreview_Click" της φόρμας "frmMyQueries".

kapetang 03-12-10 18:32

1 Συνημμένο(α)
Καλησπέρα στην παρέα

Μάρω, στη βάση δεδομένων που επισυνάπτω, γίνεται μια προσπάθεια υλοποίησης του ζητούμενου.
Η λύση είναι παρόμοια με τη μία από τις δύο λύσεις που προτείνει ο Γιάννης, με κάποιες διαφορές που ίσως φανούν χρήσιμες (μπορεί και να σε μπερδέψουν :001_smile:).
Αποτελείται από ένα πίνακα «tblContacts», τα ερωτήματα «qryContacts1», «qryContacts2», «qryContacts3» και τη φόρμα «frmOpenQueries».
Όταν φορτώνεται η φόρμα γεμίζει μία λίστα με τα ονόματα των ερωτημάτων που υπάρχουν στη βάση.
Στη φόρμα μπορούμε να επιλέξουμε τον προσανατολισμό εκτύπωσης σελίδας (κατακόρυφο ή οριζόντιο) και ακολούθως να κάνουμε διπλό κλικ σε ένα ερώτημα της λίστας για να ανοίξει. Ανοίγει σε προβολή φύλλου δεδομένων, ώστε να έχουμε τη δυνατότητα εφαρμογής φίλτρων.
Μετά την εφαρμογή ή όχι κάποιου φίλτρου κάνουμε κλικ στο κουμπί του εκτυπωτή της γραμμής εργαλείων γρήγορης πρόσβασης για να το εκτυπώσουμε.
Με το κλείσιμο της φόρμας ο προσανατολισμός εκτύπωσης επανέρχεται στον αρχικό.
Η λειτουργικότητα της φόρμας οφείλεται στον παρακάτω κώδικα.
Κώδικας:

Private Sub Form_Close()
    'Επαναφέρεται ο αρχικός προσανατολισμός σελίδας
    Application.Printer.Orientation = Me!lblDefaultPrinter.Tag
End Sub

Private Sub Form_Load()
   
    Dim qd As DAO.QueryDef
   
    'Αποθήκευση προσανατολισμού σελίδας προεπιλεγμένου εκτυπωτή
    Me!lblDefaultPrinter.Tag = Application.Printer.Orientation
    Me.optOriontation = Application.Printer.Orientation
   
   
    Me!lstQueries.RowSourceType = "Value List"
    Me.lstQueries.RowSource = ""        'άδεισμα λίστας
    'Γέμισμα της λίστας με τα ερωτήματα της βάσης δεδομένων
    For Each qd In CurrentDb.QueryDefs
        Me.lstQueries.AddItem qd.Name
    Next
    Me!lstQueries.SetFocus
    Me!lstQueries.ListIndex = 0
    Set qd = Nothing
   
End Sub

Private Sub lstQueries_DblClick(Cancel As Integer)
    'Ορισμός προσανατολισμού σελίδας
    Application.Printer.Orientation = Me.optOriontation
   
    'Εμφανίζει το ερώτημα σε μορφή κανονική για εφαρμογή φίλτρων
    DoCmd.OpenQuery Me.lstQueries, acViewNormal
End Sub

Φιλικά/Γιώργος
Υ.Γ Γιάννη είσαι πολύ γρήγορος. Με πρόλαβες.....

mdragon 04-12-10 09:36

Σας ευχαριστώ όλους για το χρόνο σας,
με καλύψατε πλήρως.


Την καλημέρα μου,
Μάρω


Η ώρα είναι 08:19.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2