Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Καλό μεσημέρι σε όλη την κοινότητα. Το ερώτημα το οποίο θέτω σε όλους τους αγαπητούς φίλους, είναι αν μπορούμε σε μια φόρμα που την έχουμε ορίσει ως αριχκή , να θέσουμε κάποιο εφέ εκκίνησης του τύπου όπως ορίζουμε στο power point κατά την είσοδο μια διαφάνειας. Φιλικά Τζίμης |
#2
| ||||
| ||||
![]()
Καλησπέρα σε όλους! Τζίμη η Access, ως εφαρμογή βάσης δεδομένων περιλαμβάνει μόνο βασικές λειτουργίες παραθύρων στις φόρμες της. Ωστόσο αν σε μια φόρμα δώσουμε την ιδιότητα "Αναδυόμενη" μπορούμε με χρήση της VB σε συνδυασμό με κάποια API των Windows μπορούμε να έχουμε ικανοποιητικά αποτελέσματα. Θα δώσω ένα παράδειγμα. Αρχικά φρόντισε η αρχική φόρμα:
Κώδικας: Option Compare Database Option Explicit Public Enum FadeDirection FadeIn = -1 FadeOut = 0 End Enum Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _ ByVal hWnd As Long, ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _ ByVal hWnd As Long, ByVal nIndex As Long, ByVal wNewWord As Long) As Long Public Declare Function SetLayeredWindowAttributes Lib "user32" ( _ ByVal hWnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Public Const GWL_EXSTYLE = (-20) Public Const WS_EX_LAYERED = &H80000 Public Const LWA_ALPHA = &H2& Public Function FadeForm(frmHWND As Long, _ Optional Direction As FadeDirection = FadeDirection.FadeIn, _ Optional iDelay As Integer = 5, _ Optional Fulltranperancy As Boolean) Dim frmStyle As Long Dim i As Integer frmStyle = GetWindowLong(frmHWND, GWL_EXSTYLE) SetWindowLong frmHWND, GWL_EXSTYLE, frmStyle Or WS_EX_LAYERED If Fulltranperancy Then SetLayeredWindowAttributes frmHWND, 0, CByte(5), LWA_ALPHA Exit Function End If Select Case Direction Case FadeDirection.FadeIn For i = 5 To 255 Step 20 DoEvents SetLayeredWindowAttributes frmHWND, 0, CByte(i), LWA_ALPHA Sleep iDelay Next SetLayeredWindowAttributes frmHWND, 0, CByte(255), LWA_ALPHA Case FadeDirection.FadeOut For i = 255 To 1 Step -20 SetLayeredWindowAttributes frmHWND, 0, CByte(i), LWA_ALPHA DoEvents Sleep iDelay Next End Select End Function Κώδικας: Option Compare Database Option Explicit Private Sub Form_Load() FadeForm Me.hWnd, , , True Me.Visible = True FadeForm Me.hWnd, FadeIn, 35 ' προσαρμόζει τη διάρκεια του εφέ. End Sub Private Sub Form_Unload(Cancel As Integer) FadeForm Me.hWnd, FadeOut, 35 End Sub Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 19-10-11 στις 23:35. |
#3
| |||
| |||
![]()
Taso ευχαριστώ για την άμεση ανταπόκρισή σου.Κατάφερα τελικά μερικά από αυτά με αποτέλεσμα το εφέ να υλοποιείται σωστά μόνο κατά το κλείσιμο της φόρμας ενώ κατά το άνοιγμα ναι μεν να εμφανίζεται το εφέ, αλλά να μην φαίνεται καλά η φόρμα Ειδικότερα πρόσθεσα: 1.Η φόρμα να ξεκινά με εντολή Vba : Do.Cmd OpenForm <όνομα φόρμας> 2.Ρύθμισα την ιδιότητα <Αναδυόμενη> 3.Πρόσθεσα τη λειτουργική μονάδα στη βάση με αποτέλεσμα να περάσει τους αντίστοιχους κώδικες 4..Τον κώδικα στη λειτουργική μονάδα της φόρμας τον τοποθέτησα τον μεν πρώτο κατά τη φόρτωση το δε δεύτερο κατά την αποφόρτωση, αλλά μου βγάζει σφάλμα.Αν δεν τους βάλω ανοίγει η φόρμα αλλά δε φαίνεται καλά 5.Να ανοίγει σε κατάσταση παραθύρου <κρυφό> δεν κατάλαβα σε ποιο συμβάν πρέπει να τοποθετήσω τον κώδικα που μου γράφεις ή πρέπει να ρυθμίσω κάποια άλλη ιδιότητα; Φιλικά Τζίμης |
#4
| ||||
| ||||
![]()
Καλημέρα Δημήτρη! Όταν ανοίγουμε μια φόρμα, είτε από μακροεντολή είτε από VBA, μπορούμε μεταξύ άλλων να ρυθμίσουμε την κατάσταση παραθύρου της φόρμας επιλέγοντας το όρισμα κατάσταση παραθύρου (για μακροεντολή) ή WindowMode (για VBA). Στα ορίσματα αυτά έχουμε 4 επιλογές:
την αρχική φόρμα κατά την εκκίνηση της εφαρμογής (ή αν την εκτελέσει ο χρήστης) χωρίς να την εμφανίζει χρησιμοποιώντας το όρισμα: κατάσταση παραθύρου = Κρυφό. Αν την μετατρέψεις σε κώδικα VBA, θα δεις αυτό: DoCmd.OpenForm "Form1", acNormal, , , , acHidden. Καλή συνέχεια! Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 19-10-11 στις 13:19. Αιτία: Αφαίρεση αναφοράς acc14 από το συνημμένο |
#5
| |||
| |||
![]()
Taso να είσαι καλά.Με το πρδ που μου επισύναψες μου λύθηκαν όλες οι απορίες. Ευχαριστώ και καλή σου μέρα |
#6
| |||
| |||
![]()
Taso συγχνώμη όπου επαναφέρω το θέμα,αλλά από τη στιγμή που έγινε αναδυόμενη η αρχική φόρμα εκκίνησης. βρίσκεται πάντα σε πρώτο πλάνο με αποτέλεσμα όταν ανοίγω άλλες φόρμες να υπάρχει επικάλυψη.Να επισυμάνω ότι από την αρχική φόρμα ξεκινούν άλλες φόρμες και δεν θέλω να κλείνει εντελώς η αρχική φόρμα αλλά να επανέρχομαι όταν απαιτείται. Φιλικά Τζίμης |
#7
| |||
| |||
![]()
Τάσο οκ, έκανα όλες τις φόρμες αναδυόμενες και δεν υπάρχει επικάλυψη.
|
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Μεγιστοποίηση φόρμας με απόκρυψη εκκίνησης της access 2010 | mousatos | Access - Ερωτήσεις / Απαντήσεις | 3 | 18-07-15 20:46 |
[Συναρτήσεις] Αρχική & τελική ημερομηνία σε συγκεντρωτικό πίνακα | xristos | Excel - Ερωτήσεις / Απαντήσεις | 0 | 22-11-14 21:23 |
[Excel07] Φύλλο Εκκίνησης | ΤΖΙΜΗΣ | Excel - Ερωτήσεις / Απαντήσεις | 2 | 22-11-11 22:23 |
Ιδιότητες εκκίνησης εφαρμογής | comsup | Access - Ερωτήσεις / Απαντήσεις | 3 | 09-11-11 13:08 |
ΚΥΛΙΟΜΕΝΟ ΜΥΝΗΜΑ ΣΕ ΦΟΡΜΑ ΕΚΚΙΝΗΣΗΣ | ΤΖΙΜΗΣ | Access - Ερωτήσεις / Απαντήσεις | 6 | 25-02-11 15:48 |
Η ώρα είναι 05:46.