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/1907-anoigma-arxeioy-pdf-me-entoli.html)

ΤΑΣΟΣ 30-05-12 08:06

άνοιγμα αρχείου pdf με εντολή
 
καλημέρα σε όλους τους φίλους
θα ήθελα αν γνωρίζει κάποιος τον τρόπο (vba) έτσι ώστε σε ένα κουμπί να προσθέσω τον κώδικα που θα μου ανοίγει συγκεκριμένο αρχείο σε .pdf που βρίσκεται όχι στον c: αλλά στον G:\inv
ευχαριστώ εκ των προτέρων

φιλικά
Τάσος Κ.

Tasos 30-05-12 10:10

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

Συνονόματε δοκίμασε:

Κώδικας:

Option Compare Database
Option Explicit

Private Const SW_SHOWNORMAL = 1

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 Sub cmdOpenPDF_Click()

  Dim OpenFile As Long
 
'===Εναλλακτική μέθοδος=======================================================
'  Dim MyFile As String
'  MyFile = Me.txtFilePath 'η διαδρομή του αρχείου σε πεδίο της φόρμας
'  OpenFile = ShellExecute(0, "open", MyFile, "", "C:\", SW_SHOWNORMAL)
'==============================================================================


  OpenFile = ShellExecute(0, "open", "G:\inv\Mypdf.pdf", "", "C:\", SW_SHOWNORMAL)
 
End Sub


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

Τάσος

ΤΑΣΟΣ 30-05-12 15:46

Φίλε Τάσο
ευχαριστώ πάρα πολύ, δούλεψε με την πρώτη περίπτωση δηλαδή με

Private Sub cmdOpenPDF_Click()

Dim OpenFile As Long
OpenFile = ShellExecute(0, "open", "G:\inv\Mypdf.pdf", "", "C:\", SW_SHOWNORMAL)

End Sub

προσπάθησα όμως αντί του Mypdf.pdf στο Mypdf να παίρνει το όνομα (τιμή) από τη φόρμα μου
FORMS! ΤΙΜΟΛΟΓΙΑ ΠΩΛΗΣΗΣ ! inv_No
μήπως πρέπει να κάνω διαφορετική σύνταξη ή ορθογραφία?

ευχαριστώ και πάλι για την πολύτιμη βοήθεια σου
Τάσος

Meteora 30-05-12 16:32

Καλησπέρα

Η σύνταξη καλή είναι, αλλά εκείνο το κενό που έχεις στο όνομα της φόρμας σου μπορεί να σταθεί εμπόδιο στη λύση που ζητάς τώρα ή αργότερα. Δοκίμασε βάζοντάς το ανάμεσα σε [ ] ή άλλαξε όνομα στη φόρμα σου.
Καλού -κακού ανέβασε ΟΛΗ τη γραμμή της ShellExecute(...)
Με εκτίμηση
Νίκος Δ.

Tasos 30-05-12 16:36

Δοκίμασε:

MyFile = Forms![ΤΙΜΟΛΟΓΙΑ ΠΩΛΗΣΗΣ]![inv_No]

Αν το κουμπί που τρέχει τον κώδικα και το πεδίο [inv_No] βρίσκονται στην ίδια φόρμα τότε:

MyFile = Me![inv_No]

Σε κάθε περίπτωση φρόντισε να μην υπάρχουν κενά στην αρχή και στο τέλος των ονομάτων.

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

Τάσος

ΤΑΣΟΣ 30-05-12 17:05

δυστυχώς φίλοι μου αν και άλλαξα το όνομα της φόρμας είτε με

Private Sub ÅíôïëÞ40_Click()
Dim OpenFile As String
OpenFile = ShellExecute(0, "open", "G:\inv\forms![invoices]![inv_No].pdf", "", "C:\", SW_SHOWNORMAL)
End Sub

είτε με Private Sub ÅíôïëÞ40_Click()
Dim OpenFile As String
OpenFile = ShellExecute(0, "open", "G:\inv\Me![inv_No].pdf", "", "C:\", SW_SHOWNORMAL)
End Sub

δεν δουλεύει. Μόνο αν βάλω συγκεκριμένη τιμή μέσα από την vba δουλεύει

Meteora 30-05-12 17:34

Δοκίμασε αυτό :
Κώδικας:

OpenFile = ShellExecute(0, "open", "G:\inv\" & forms![invoices]![inv_No]
& ".pdf", "", "C:\", SW_SHOWNORMAL)

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

περιμένουμε την εξέλιξη...

Νίκος Δ

Υστερολόγιο : το πεδίο [inv_no] τι περιέχει ; τι θα γίνει αν η εφαρμογή τρέξει σε υπολογιστή που δεν έχει G;

ΤΑΣΟΣ 30-05-12 17:44

κύριοι σας ευχαριστώ πολύ δουλεύει τέλεια μετά τη τελευταία προσθήκη
φιλικά
Τάσος

ΤΑΣΟΣ 30-05-12 17:48

Νίκο
το πεδίο inv_No είναι αριθμός ο οποίος παραπέμπει στο G: ( που είναι flash memory) όπου έχω αποθηκευμένα τα αντίστοιχα τιμολόγια σε μορφή pdf. Μπήκα σε αυτή τη διαδικασία γιατί πολλές φορές μέσα από τη βάση χρειάζεται να ανοίξω και το τιμολόγιο στην κανονική του μορφή έτσι όπως έχει αποθηκευτεί.
Σε ευχαριστώ και πάλι για τη βοήθεια σου
Τάσος

Dangel82 03-06-12 12:24

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

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

Νομίζω είναι αυτό που ψάχνεις...


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

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


Search Engine Optimization by vBSEO 3.3.2