Άνοιγμα (Access) Report μέσα από VB6

Συζητήσεις για την τοπική βάση δεδομένων Access της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
harrygr
Δημοσιεύσεις: 30
Εγγραφή: 01 Αύγ 2002 11:44
Τοποθεσία: Athens, Galatsi

Άνοιγμα (Access) Report μέσα από VB6

Δημοσίευση από harrygr » 10 Σεπ 2002 14:38

Γειά χαρά σε όλους.

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

Μέχρι εδώ όλα καλά...

Σκοπός μου ήταν να φορτώνεται αυτό το Report με μία κλήση μέσα από
κώδικα VB6. Επειδή δε κατάφερα να το κάνω αυτό είπα μήπως μπορώ
τουλάχιστον να καλέσω τη βάση με την εντολή "Shell", ώστε να ανοίξει
η φόρμα και στη συνέχεια η Report μπλα, μπλα, ... (ανορθόδοξος τρόπος,
μόνο για ψυχάκιδες). Κι' όμως ενώ αν γράψεις από DOS: C:\temp.mdb,
η βάση ανοίγει κανονικά (το ίδιο και από το Start -> Run των Windows)
η εντολή "Shell" χτυπάει...

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

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Άνοιγμα (Access) Report μέσα από VB6

Δημοσίευση από agrippas » 10 Σεπ 2002 16:43

χμμμ... λοιπόν έχουμε και λέμε:

Τον τρόπο που αναφέρεις μάλλον καλύτερα να τον ξεχάσεις γιατί και να πετύχει (πράγμα δύσκολο, ίσως μόνο την access να καταφέρεις ν' ανοίξεις) δε θα δουλεύει αν μετακινήσεις το αρχείο mdb.

Τα reports γίνονται με οδηγούς οπότε καλύτερα ας φτιάξεις ένα καινούργιο μέσα στη VB, παρά να προσπαθείς να τροποποιήσεις ένα υπάρχον, είναι πιο εύκολο έτσι. Πάμε λοιπόν this way... στο περιβάλλον της VB6 αφού φτιάξεις ένα νέο project (standard exe):

- Πας μενού project και κάνεις Add Data Report
- Πάλι μενού project και διαλέγεις Add Data Environment. Αν δεν το βλέπεις εκεί, θα το βρεις στο More ActiveX Designers.
- Τώρα συνδέεις τη βάση σου. Δεξί κλικ στο Connection1, Properties και διαλέγεις Microsoft Jet 3.51 OLE DB Provider. Μετά πατάς Next.
- Διάλεξε τη βάση δεδομένων. Αν θες μπορείς να κάνεις Test Connection για δοκιμή.
- Δεξί κλικ στο Commands, Add Command για να μπει μια εντολή.
- Δεξί κλικ στο Command1 και Properties. Από το Connection διάλεξε Connection1 και τσέκαρε το SQL Statement για να "ρωτήσεις" τη βάση για συγκεκριμένες πληροφορίες με χρήση SQL. π.χ.

Κώδικας: Επιλογή όλων

SELECT FIELD1,FIELD2,FIELD3 (όσα θες να φαίνονται) FROM ToOnomaTouTable ORDERED BY FIELD1
αν π.χ. θες η ταξινόμηση να γίνεται με το FIELD1. Εννοείται ότι αντί για FIELD1 κλπ. θα βάλεις τα ονόματα των πεδίων του table.
- Πάτα ΟΚ και είσαι έτοιμος.

Τέλος δώσε στην ιδιότητα DataSource το όνομα του περιβάλλοντος (DataEnvironment1) και στην ιδιότητα DataMember το όνομα του Ερωτήματος.

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

Υπόψιν, καλύτερα να αποθηκεύσεις το mdb σε format Access97.

ουυυυυυφ.... πολλά έγραψα! Ελπίζω να κάνεις δουλίτσα!!! :D

Άβαταρ μέλους
telxina
Δημοσιεύσεις: 301
Εγγραφή: 29 Ιούλ 2002 20:36
Τοποθεσία: Moschato, Pireas
Επικοινωνία:

Άνοιγμα (Access) Report μέσα από VB6

Δημοσίευση από telxina » 10 Σεπ 2002 21:22

Xmmm ipotheto oti anaferese ke pali sta ilithia Crystal Reports, kata sinepeia den boro na se voithiso se afto. (Eipame, ta ftiaxnoume monoi mas!)
Btw, exeis skeftei oti an theliseis na doseis afto pou kaneis se pelati tha prepei na ton ipoxreoseis na agorasei ta Crystal Reports?

Telefteo ke simadiko. An apofasiseis na xrisimopieiseis to SQL statement tou agrippa kane mia diorthosi

Code:
SELECT FIELD1,FIELD2,FIELD3 (όσα θες να φαίνονται) FROM ToOnomaTouTable ORDER BY FIELD1

Afto pou alaxe in to ORDERED pou egine ORDER.

Have a nice pedema! :D

harrygr
Δημοσιεύσεις: 30
Εγγραφή: 01 Αύγ 2002 11:44
Τοποθεσία: Athens, Galatsi

Άνοιγμα (Access) Report μέσα από VB6

Δημοσίευση από harrygr » 11 Σεπ 2002 09:08

Παιδιά ευχαριστώ για τις απαντήσεις σας. :)

Φίλε Telxina όντως αυτή η συζήτηση είναι συνέχεια του προηγούμενου
θέματος, σχετικά με τα Crystal Reports.

Agrippa ευχαριστώ για την πρόταση. Όντως αυτός είναι ένας καλός τρόπος
για να αποκτήσεις πρόσβαση σε db. Έριξα το command σε ένα FlexGrid
και δούλεψε, αλλά... πάντα αυτό το αλλά. Απ΄ότι είδα, δε μπορώ να
καλέσω Report μέσα από τις command του DataEnvironment.

Αν κάνω λάθος, διορθώστε με...

Άβαταρ μέλους
agrippas
Script Master
Δημοσιεύσεις: 494
Εγγραφή: 18 Ιούλ 2002 14:52
Τοποθεσία: Υπερπέραν
Επικοινωνία:

Άνοιγμα (Access) Report μέσα από VB6

Δημοσίευση από agrippas » 11 Σεπ 2002 13:24

Φιλαράκο μου η Telxina έχει απόλυτο δίκιο. Απαντώ απλώς στην ερώτησή σου, αυτό όμως δε σημαίνει ότι συμφωνώ με τη μέθοδο :wink:

Η δική μου VB6 είναι πολύ μη μου άπτου στις connections και κλωτσάει διότι the memory could not be written και άλλα κατατοπιστικά της μαμάς ΜικροΣόφτ.... οπότε είναι δύσκολο να δοκιμάζω ταυτόχρονα αυτά που σου λέω για τα reports.

Στο θέμα τώρα: Το Grid δουλεύει, αλλά λογικά και το report πρέπει να δουλέψει. Απλά δίνεις ένα Report1.show ή γενικά OnomaReport.show από τη βασική φόρμα σε κάποιο συμβάν και θα σου βγει μπροστά σου εφόσον όλα τα έχεις κάνει καλά (διόρθωσε και το SELECT της SQL που μου ξέφυγε).

Κουράγιο :wink: :D

harrygr
Δημοσιεύσεις: 30
Εγγραφή: 01 Αύγ 2002 11:44
Τοποθεσία: Athens, Galatsi

Άνοιγμα (Access) Report μέσα από VB6

Δημοσίευση από harrygr » 11 Σεπ 2002 14:41

Thanks agrippas, βρήκα το λάθος... :wink:

Απάντηση

Επιστροφή στο “MS Access”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες