Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Export form results (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/601-export-form-results.html)

spooky 24-05-10 10:23

Export form results
 
Πολύ καλημέρα .

Έχω φτιάξει μια βάση . Έχω κάνει ένα ερώτημα το οποίο μου βγάζει αποτελέσματα σε μια φόρμα . Στην φόρμα έχω βάλει ένα κουμπί το οποίο μου κάνει print preview τα αποτελέσματα . Βασικά ο κώδικας που εκτελείται είναι ο παρακάτω:
Private Sub rp2MbCh_Click()
On Error GoTo Err_rp2MbCh_Click

Dim stDocName As String

stDocName = "rp2MbCh"

DoCmd.OpenReport stDocName, acPreview, , "[cd2Mb]=" & Me![cd2Mb]

Exit_rp2MbCh_Click:
Exit Sub

Err_rp2MbCh_Click:
MsgBox Err.Description
Resume Exit_rp2MbCh_Click

End Sub

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

Private Sub rp2file_Click()
On Error GoTo Err_rp2file_Click

Dim stDocName As String

stDocName = "rp2MbCh"
DoCmd.OutputTo acReport, stDocName

Exit_rp2file_Click:
Exit Sub

Err_rp2file_Click:
MsgBox Err.Description
Resume Exit_rp2file_Click

End Sub

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

Πως μπορώ να το πετύχω αυτό ?

Ευχαριστώ

Tasos 24-05-10 11:48

Γεια σας!

Αγαπητέ/ή φίλε/η καλωσόρισες στο φόρουμ!

Φρόντισε σε παρακαλώ να συμπληρώσεις το όνομα προσφώνησης σου στον πίνακα ελέγχου για να μπορούμε να σε φωνάζουμε με τ όνομα σου (http://www.ms-office.gr/forum/profil...do=editprofile > Όνομα).

Για να μη εμφανίζονται όλες οι εγγραφές, θα πρέπει πρώτα να εκτελεστεί το ερώτημα της έκθεσης που θα επιστρέψει τα επιθυμητά αποτελέσματα και κατόπιν να γίνει η εξαγωγή του.
Άρα:

Τα κριτήρια σου: strCriteria = "[cd2Mb]=" & Me![cd2Mb]

Ανοίγουμε την έκθεση με τη γραμμή:
Κώδικας:

DoCmd.OpenReport strDocName, acViewPreview, , strCriteria, acHidden 'κρυφό
παράθυρο.Περιέχει τα αποτελέσματα που μας ενδιαφέρουν.

Κατόπιν, με τη γραμμή:

Κώδικας:

DoCmd.OutputTo ObjectType:=acReport, ObjectName:=strDocName
μπορούμε να εξάγουμε την έκθεση στη μορφή που θα επιλέξουμε από τον διάλογο που θα εμφανιστεί

ή χρησιμοποιούμε:

Κώδικας:

DoCmd.OutputTo ObjectType:=acReport, ObjectName:=strDocName, OutputFormat:=acFormatXLS, _
                      OutputFile:=CurrentProject.Path & "\" & strDocName & ".xls", AutoStart:=True

για αυτόματη εξαγωγή σε συγκεκριμένο σημείο του δίσκου (χρειάζεται προσαρμογή).


Τέλος κλείνουμε την "κρυμμένη" έκθεση με τη γραμμή:
Κώδικας:

DoCmd.Close acReport, strDocName
Ελπίζω να βοήθησα

Φιλικά

Τάσος

spooky 24-05-10 12:45

Είσαι ΤΕΛΕΙΟΣ
 
Συμπλήρωσα τις πληροφορίες που ήθελε το site .


Σε ευχαριστώ πολύ .!!!!! Ο κώδικάς σου ήταν ακριβώς αυτό που έψαχνα. Μήπως υπάρχει η δυνατότητα το εξαγώγιμο αρχείο να είναι pdf ?

Και πάλι σε ευχαριστώ πολύ για τον χρόνο σου.

Chris 24-05-10 13:24

Καλημερα Νεκταριε & καλως ηρθες στο φορουμ

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

    DoCmd.OutputTo acOutputReport, "το ονομα του report", "PDFFormat(*.pdf)",  _
"H διαδρομη που θα αποθηκευσεις το αρχειο & το ονομα του report.pdf", True, "", 0, acExportQualityPrint


spooky 24-05-10 22:04

Thanks again
 
Και άλι σε ευχαριστώ . Μια ερωτησούλα . Την acExportQualityPrint ως τι την δηλώνω ?

Tasos 25-05-10 06:27

Καλημέρα σε όλους!
Νεκτάριε, οι σταθερές (όρος στη VB = "Const") acExportQualityPrint (= 0&) και η acExportQualityScreen (= 1&) καθώς και η μορφή PDFFormat(*.pdf) δεν υποστηρίζονται και δεν υπάρχουν στην Access 2003 ή παλαιότερες εκδόσεις.

Σε νεώτερες εκδόσεις (2007, 2010) η acExportQualityPrint (= 0&) δεν είναι απαραίτητο να οριστεί ( περνιέται αυτόματα αν δεν έχει ορισθεί κάτι στη θέση της).


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

spooky 26-05-10 19:59

Δηλαδή αν κατάλαβα καλά, μόνο με access 2007 Μπορώ να το πετύχω αυτό?

Tasos 31-05-10 18:13

Ακριβώς φίλε μου.


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

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


Search Engine Optimization by vBSEO 3.3.2