Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Εμφάνιση εγράφου pdf από κουμπί εντολής φόρμας (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/2209-emfanisi-egrafoy-pdf-apo-koympi-entolis-formas.html)

alex 25-11-12 23:04

Εμφάνιση εγράφου pdf από κουμπί εντολής φόρμας
 
1 Συνημμένο(α)
Καλησπέρα στη παρέα

Γνωρίζει κάποιο μέλος τι κώδικα βάζουμε σε κουμπί εντολής φόρμας για να μας ανοίγει έγγραφο PDF που είναι αποθηκευμένο σε φάκελο στο σκληρό δίσκο.

Φιλικά

Αλέξανδρος

alex 26-11-12 00:31

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

Εχω βάλει στη λειτουργική μοναδα
BasPdf

Κώδικας:

Option Compare Database
Option Explicit

Public 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
Public Const SW_SHOW = 1


Και στο κουμπί εντολής
CmdPdf
Κώδικας:

Private Sub CmdPdf_Click()
ShellExecute Me.hwnd, "open", "C:\Nomothesia\sxolikes_epitropes.pdf", "", "", SW_SHOW
   
End Sub

Με αυτό το τρόπο ανοίγει.Εγώ θέλω το κουμπί εντολής να ανοίγει το Path του πίνακα.

Φιλικά

Αλέξανδρος

Tasos 26-11-12 01:28

Καλημέρα!

Αλέξανδρε δοκίμασε:

Κώδικας:

Private Sub CmdPdf_Click()
    If Dir(Me.Fname & "", vbDirectory) <> "" Then
        ShellExecute 0, "open", Chr(34) & Me.Fname & Chr(34), "", "", SW_SHOW
    End If
End Sub

Κανονικά θα έπρεπε να υπάρχει κάποια ρουτίνα αποσφαλμάτωσης στον κώδικα σου.

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

Τάσος

alex 26-11-12 06:41

Καλημέρα Τάσο

Ευχαριστώ πολύ για την βοήθεια σου'
Εννοείς αποσφαλμάτωση στη λειτουργική μονάδα(Baspdf) ή σε διαδικασία συμβάντος(CmdPdf); ; ή Module ξεχωριστό;
Λές θα έχω πρόβλημα στη βάση ;όταν γίνει MDE;

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

alex 26-11-12 07:54

Τάσο!!!!
Τελικά δεν δουλεύει το κουμπί εντολής με αυτό το κώδικα.Δεν μου ανοίγει το έγγραφο Pdf που βρίσκεται στο φάκελο στο "C".

Τον άλλαξα και δουλεύει με αυτό.

Κώδικας:

ShellExecute Me.hwnd, "open", Chr(34) & WdFullPath & Chr(34), "", "", SW_SHOW
Ευχαριστώ πάντως γιατί μέσα απο την διαμόρφωση του δικού σου κώδικα έκανα το δικό μου

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

Tasos 26-11-12 08:31

Καλημέρα!
Αλέξανδρε,
Ο κώδικας που σου έστειλα ανοίγει τη διαδρομή που αναγράφεται στο πεδίο fName του συνημμένου που ανέβασες αν αυτή είναι σωστή.

Μου είναι άγνωστη η προέλευση της μεταβλητής/πεδίου WdFullPath

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

Για παράδειγμα:

Κώδικας:

Private Sub CmdPdf_Click()
Dim ret as Long
    If Dir(Me.Fname & "", vbDirectory) <> "" Then ' Αν η διαδρομή είναι έγκυρη...
        ret =  ShellExecute(0, "open", Chr(34) & Me.Fname & Chr(34), "", "", SW_SHOW)
    End If
End Sub


Η μεταβλητή ret περιέχει τον αριθμό που επέστρεψε η συνάρτηση ShellExecute() ο οποίος δηλώνει το αποτέλεσμα της ενέργειας δηλαδή αν το αρχείο άνοιξε κανονικά ή αν χρησιμοποιείται ήδη ή πολλά άλλα.

Σχετικό παράδειγμα υπάρχει σε παράδειγμα Excel εδώ: http://www.ms-office.gr/forum/excel-...html#post12631

Φιλικά

Τάσος

alex 26-11-12 11:20

Τάσο!!

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

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


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

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


Search Engine Optimization by vBSEO 3.3.2