Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] Αλλαγή προβολής σε παράθυρο των Windows

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 11-07-12, 10:56
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 21-07-2010
Μηνύματα: 98
Προεπιλογή Αλλαγή προβολής σε παράθυρο των Windows

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

Το ερωτημά μου νομίζω αφορά api
Στο συνημμένο παράδειγμα όταν από τη φόρμα Test πατάω προσθήκη θέλω το παράθυρο των Windows για αναζήτηση αρχείου να ανοίγει μεγιστοποιημένο και προβολή λεπτομέρειες.

Αν κάποιος μπορεί ας βοηθήσει.
Ευχαριστώ εκ των προτέρων.

Φιλικά Δημήτρης
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb ΔΙΑΧΕΙΡΗΣΗ_ΕΓΓΡΑΦΩΝ.mdb (244,0 KB, 74 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 17-07-12, 03:52
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 17-07-2012
Μηνύματα: 5
Προεπιλογή

καλημέρα αυτό γίνεται μάλλον μόνο με VBA
Απάντηση με παράθεση
  #3  
Παλιά 17-07-12, 13:18
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα!

Δημήτρη, δοκίμασε τον παρακάτω κώδικα στη φόρμα σου (test).

Ο κώδικας αυτός λειτουργεί αυτόνομα (δεν εξαρτάται από τις συναρτήσεις των άλλων λειτουργικών μονάδων της εφαρμογής):

Πρόσθεσε πρώτα την αναφορά Microsoft Scripting Runtime (Tools > References)

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

Private Const strOpenTitle = "Εισαγωγή"
Private Const strDlgTitle = "Επιλογή αρχείου..."
Private Const DlgClass = "#32770"
Private Const SW_MAXIMIZE = 3&
Private Const SW_SHOWNORMAL = 1&
Private hw As Long

Private Const strFilter = "Όλα τα αρχεία (*.*)|Αρχεία Word (*.doc)|Αρχεία Excel (*.xls)|Αρχεία Pdf (*.pdf)|Αρχεία (*.rtf)"

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

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
                                    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation _
                                      As String, ByVal lpFile As String, ByVal lpParameters As String, _
                                      ByVal lpDirectory As String, ByVal nShowCmd _
                                      As Long) As Long

Private fso As New Scripting.FileSystemObject

Private Function GetFilePath() As String
    Dim strFile As String, strInitialDir As String
    strInitialDir = CurrentProject.Path    'ή πχ. "C:\"
    WizHook.Key = 51488399
    Me.TimerInterval = 1000 
    WizHook.GetFileName 0, "", strDlgTitle, strOpenTitle, strFile, strInitialDir, strFilter, 0, 0, 64, True
    GetFilePath = strFile
End Function

Private Sub Form_Timer()
    If hw Then Me.TimerInterval = 0: hw = 0: Exit Sub
    hw = FindWindow(DlgClass, strDlgTitle)
    ShowWindow hw, SW_MAXIMIZE
End Sub

Private Sub cmdAddSmall_Click()
    On Error GoTo cmdAddSmall_Err
    Dim strFilename As String
    strFilename = GetFilePath
    If Len(strFilename) Then
        Me![FilePath] = strFilename
        Me.DocumentTitle = fso.GetFileName(strFilename)
        Me.FolderName = fso.GetParentFolderName(strFilename)
    End If
cmdAddSmall_End:
    Exit Sub
cmdAddSmall_Err:
    MsgBox Err & vbLf & Err.Description
    Resume cmdAddSmall_End
End Sub

Private Sub cmdOpenWordDoc_Click()
    Dim strFilename As String, lp_Directory As String
    strFilename = Nz(Me.FilePath, "")
    If Len(Trim(strFilename)) = 0 Then
        MsgBox "Παρακαλώ βεβαιωθείτε ότι η διαδρομή για αυτό το έγγραφο είναι σωστή.", vbInformation, "Προσοχή!"
    ElseIf Not fso.FileExists(strFilename) Then
        MsgBox "Το έγγραφο δεν βρέθηκε." & vbCrLf & "Παρακαλώ αναζητήστετο ξανά.", vbExclamation, "Λυπάμαι!"
    Else
        lp_Directory = Nz(Me.FolderName, "")
        If Not fso.FolderExists(lp_Directory) Then lp_Directory = "C:\"
        ShellExecute 0, "open", strFilename, "", lp_Directory, SW_SHOWNORMAL
    End If
End Sub
Φιλικά

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

Τελευταία επεξεργασία από το χρήστη Tasos : 17-07-12 στις 13:28.
Απάντηση με παράθεση
  #4  
Παλιά 17-07-12, 20:02
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 21-07-2010
Μηνύματα: 98
Προεπιλογή

Καλημέρα σε όλους τους φίλους.

Τάσο είδα την απαντησή σου και σε ευχαριστώ για το χρόνο σου.
Δουλεύει, το παράθυρο ανοίγει σε προβολή λεπτομέρειες, δεν γίνεται maximize αλλά δεν πειράζει. Όμως δεν πάει στον φάκελο από όπου πρόσθεσα το τελευταίο αρχείο. Ανοίγει πάντα στο φάκελο που έχω τη βάση πράγμα που δεν εξυπηρετεί.
Προσπαθώ να βάλω σε τάξη εκατοντάδες αρχεία ( ερωτήματα - αποφάσεις-κλπ) σκορπισμένα σε διάφορους φακέλους και ήθελα να κάνω ευκολότερη την αναζήτηση.

Μια ερώτηση μόνο στο strFilter ποιά είναι η σύνταξη για το OR ώστε να προβάλλει δύο τύπους αρχείων ταυτόχρονα πχ (*.doc) και (*.xls)


Και πάλι ευχαριστώ
Φιλικά Δημήτρης.
Απάντηση με παράθεση
  #5  
Παλιά 17-07-12, 21:00
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα Δημήτρη!

Πρέπει να δουλέψει η μεγέθυνση τουλάχιστον σε Windows 7. Δεν μπόρεσα να το δοκιμάσω σε XP.
Ωστόσο δοκίμασε να αυξήσεις το χρόνο στο χρονόμετρο της φόρμας από 1000 σε κάτι μεγαλύτερο (Me.TimerInterval = 1500).

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


Όσο για τη διαδρομή φακέλου δοκίμασε:

Κώδικας:
Private Function GetFilePath() As String
    Dim strFile As String, strInitialDir As String
    strInitialDir = Nz(Me.FolderName, "")
    If Trim(strInitialDir) = "" Then strInitialDir = CurDir
    WizHook.Key = 51488399
    Me.TimerInterval = 1500
    WizHook.GetFileName 0, "", strDlgTitle, strOpenTitle, strFile, strInitialDir, strFilter, 0, 0, 64, True
    GetFilePath = strFile
End Function
Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 18-07-12, 00:27
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 21-07-2010
Μηνύματα: 98
Προεπιλογή

Καλησπέρα Τάσο!

Όλα δουλεύουν άψογα. Σε ευχαριστώ πάρα πολύ.

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

Έχω Windows XP θα το δοκιμάσω και σε 7 που έχει ο γιος μου.

Και πάλι ευχαριστώ
Φιλικά Δημήτρης.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Αλλαγη ημερομηνία έπειτα απο αλλαγή xaralampos Excel - Ερωτήσεις / Απαντήσεις 1 24-06-16 22:45
[Excel07] Μετατροπή προβολής δεδομένων γιώργοςΚ Excel - Ερωτήσεις / Απαντήσεις 8 14-12-15 18:37
[Γενικά] Νέο παράθυρο manolis Excel - Ερωτήσεις / Απαντήσεις 2 26-02-15 22:39
[ Ερωτήματα ] ΗΕμφάνιση ημερολογίου σε αναδυόμενο παράθυρο της Access dimitrisp Access - Ερωτήσεις / Απαντήσεις 9 18-09-14 20:23


Η ώρα είναι 09:00.