Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] Aυτόματη προσαρμογή στις διαστάσεις της οθόνης (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/2502-aytomati-prosarmogi-stis-diastaseis-tis-othonis.html)

mikekal1oo 28-04-13 16:35

Aυτόματη προσαρμογή στις διαστάσεις της οθόνης
 
Γειά σας κι από εμένα.Είμαι νέος χρήστης στο φόρουμ και το βρίσκω πάρα πολύ ενδιαφέρον.Ασχολούμε με την access και έχω κάνει κι εγώ όπως πολλοί άλλοι μερικά προγραμματάκια.Αυτό που δεν μπόρεσα να καταφέρω ακόμη ,ενώ διάβασα πολλά παραδείγματα,πώς όταν ανοίγω την φόρμα που θέλω ,να έρχεται στις διαστάσεις της οθόνης στην οποία τρέχει το πρόγραμμα.Φυσικά μαζί με τα .....υπάρχοντά της.Οι διαστάσεις αλλάζουν από υπολογιστή σε υπολογιστή.Αν κάποιος έχει μία λύση,την περιμένω.Νάστε καλά

alex 28-04-13 18:35

Καλησπέρα Μιχάλη!!!

Για να γίνει αυτο που ζητάς πιστεύω στις νεότερες εκδόσεις access να υπάρχει.Εάν έχεις όμως 2003 Access το ζητούμενο σχετίζετε με το Resize.
Βασικά θα πρέπει να ανεβάσεις παράδειγμα έστω την μία φόρμα ώστε να προσαρμοστεί πάνω σε αυτή.
Το μόνο που θέλει να δημιουργήσεις ένα Private Sub Form_Resize()

ΠΧ
Κώδικας:

Private Sub Form_Resize()
    Me.Αντικείμενο1.width = Me.InsideWidth - Me.Αντικείμενο2.width - 150
Me.Αντικείμενο1.Height = Me.Αντικείμενο2.Height
End Sub

Στα κόκκινα βάζεις αντί για την λέξη αντικείμενο1 το ανάλογο που υπάρχει στην φόρμα σου.
Τώρα ανάλογα πόσα αντικείμενα έχεις στη φόρμα και πόσα χρειάζονται να μετακινηθούν ως προς το width και το Height γιατί θέλει κάποιες δοκιμές ώστε να επιτευχθεί το σωστό αποτέλεσμα.
Αφού μετακινηθούν όλα τα αντικείμενα με τον ανάλογο κώδικα θα περάσεις μια γραμμή κώδικα Docmd.Maximise στο συμβάν Form Load.
Όσο πιο πολλά αντικείμενα τόσο πιο πολύ αυξάνει ο βαθμός δυσκολίας. Περισσότερο στο πλάτος(width)
Ανέβασε δείγμα μήπως και βοηθήσουμε.

Φιλικά Αλέξανδρος

mikekal1oo 29-04-13 11:18

1 Συνημμένο(α)
Νάσε καλά Αλέξανδρε για την απάντησή σου.Θα δοκιμάσω να ......παίξω με τον κώδικα.Απλά είχα δει σε άλλα sites κάποιες modules και έπαιρναν από εκεί.Δηλαδή είχαν κάτι γενικό μέσα για όλα τα στοιχεία της φόρμας.Εγώ δουλεύω πλέον με office 2013.Όπως είπες έχει κάτι τέτοιο να κάνεις εκεί.Απλά δεν το έψαξα ακόμη.Αλλά αν η βάση μου μετατραπεί σε access 2003 πχ,θα δουλεύουν όλα αυτά που έκανα στην 2013;Για το resize λέω.Νάσε καλά και καλό Πάσχα.

Ένα παράδειγμα που το κατέβασα από κάποια σελίδα αλλά δεν θυμάμαι από που ανεβάζω.Κάτι παρόμοιο θέλω.Φυσικά αν γίνετε να παίρνει αυτόματα τις διαστάσεις αναλόγως της οθόνης που τρέχει.

Tasos 29-04-13 13:43

1 Συνημμένο(α)
Καλησπέρα σε όλους!
Μιχάλη καλωσόρισες στο φόρουμ!

Σε εκδόσεις μεγαλύτερες της 2003 τα περισσότερα στοιχεία φορμών διαθέτουν επιπλέον την ιδιότητα Οριζόντια αγκύρωση, Κατακόρυφη αγκύρωση
(Horizontal Ancor , Vertical Ancor) που με τις κατάλληλες ρυθμίσεις, είτε σε *.mdb είτε σε *.accdb τροποποιείται το μέγεθος και η θέση αυτόματα.

Για κάτι γενικότερο που να λειτουργεί σε εκδόσεις Access από την 2000 και νεότερες, υπάρχει ένα παράδειγμα στο συνημμένο *.mdb κάνει που λειτουργεί και σε Access 2000 - 2003 όπου
τροποποιείται το μέγεθος / θέση αυτόματα.

Στο παράδειγμα δίνεται επίσης η δυνατότητα αυξομείωσης πλάτους μεταξύ 2 αντικειμένων όταν ο χρήστης σύρει τον διαχωριστή (Splitter).

Ο κώδικας που περιέχεται είναι απλός, κατανοητός και με αρκετά περιθώρια εξέλιξης.

Ελπίζω να σου χρησιμεύσει.

Καλή συνέχεια!

Με εκτίμηση

Τάσος

mikekal1oo 29-04-13 13:52

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


Η ώρα είναι 05:20.

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


Search Engine Optimization by vBSEO 3.3.2