Τρόπος μεταφοράς δεδομένων από το αρχείο προέλευσης δεδομένων ADO σε Excel με το ADO

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 295646 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Επειδή το Microsoft Excel όπως ένα εργαλείο ανάλυσης δεδομένων ισχυρές, οι προγραμματιστές εφαρμογών της Visual Basic και VBA συχνά θέλετε να μεταφέρετε δεδομένα στο φύλλο εργασίας του Excel για λόγους ανάλυσης. Αυτό το άρθρο περιγράφει το ActiveX Data Objects (ADO) η προσέγγιση αυτή εργασία προγραμματισμού, χρησιμοποιώντας το Microsoft Jet-ειδική σύνταξη για ορισμένες εντολές SQL.

Αυτό το άρθρο περιγράφει λύσεων προγραμματισμού και δεν περιγράφει τις δυνατότητες εισαγωγής δεδομένων που βασίζονται σε μενού του Excel (μέσω τουOpenεπιλογή από τοFILEμενού) ή τη χρήση του Microsoft Query (από τοΛήψη εξωτερικών δεδομένωνεπιλογή από τοDATAμενού).

Για πρόσθετες πληροφορίες σχετικά με τη συμπληρωματική λύσεων προγραμματισμού που χρησιμοποιούν αυτοματισμού του Excel αντί για εντολές SQL, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
246335Τρόπος μεταφοράς δεδομένων από ομάδα εγγραφών ADO σε Excel με αυτοματισμό

Περισσότερες πληροφορίες

Στα παραδείγματα που ακολουθούν,cnSrcαναπαριστά μια ανοιχτή σύνδεση ADO για το δείγμα βάσης δεδομένων Jet, χρησιμοποιώντας το Jet 4.0 OLE DB Provider του Northwind.

Τρόπος αντιγραφής

Μπορείτε να χρησιμοποιήσετε την πρόταση SELECT INTO για να αντιγράψετε δεδομένα από οποιαδήποτε προέλευση δεδομένων που μπορεί να διαβαστεί Jet σε οποιαδήποτε προορισμού δεδομένων, δημιουργείτε έναν νέο πίνακα (ή, στην περίπτωση του Excel, σε νέο φύλλο εργασίας) στη διάρκεια της λειτουργίας του. Μην χρησιμοποιείτε τη σύνταξη σύμβολο δολαρίου, για παράδειγμα [$ Φύλλο1], όταν αναφέρεστε σε ένα όνομα φύλλου ως τον προορισμό. Το βιβλίο εργασίας προορισμού μπορεί να υπάρχουν ή να μην υπάρχει, ωστόσο, πρέπει να το φύλλο προορισμούNotυπάρχει ακόμη.

Υπάρχουν τρεις τρόποι για να γράψετε την εντολή copy που αντιγράφει ολόκληρο τον πίνακα Πελάτες1 από τη βάση δεδομένων Microsoft Access Northwind σε ένα νέο φύλλο εργασίας στο βιβλίο εργασίας του Excel. Σύνταξη κάθε απαιτεί μία πρόταση SQL και δημιουργεί τις επικεφαλίδες στηλών στην πρώτη γραμμή του φύλλου εργασίας προορισμού.
  • Το ακόλουθο παράδειγμα χρησιμοποιεί τη σύνταξη SELECT INTO:
    Dim strSQL As String
    strSQL = "SELECT * INTO [Excel 8.0;Database=" & App.Path & _ 
        "\book1.xls].[Sheet1] FROM Customers"
    cnSrc.Execute strSQL
    					
  • Το ακόλουθο παράδειγμα χρησιμοποιεί τη σύνταξη SELECT INTO... IN:
    strSQL = "SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] FROM Customers"
    						
    όπου τα στοιχεία της βάσης δεδομένων προορισμού αγκύλες προηγείται ένα κενό ζευγάρι μονά εισαγωγικά για το όρισμα του τύπου (το τμήμα "Excel 8.0"), που περιλαμβάνεται μέσα στις αγκύλες, όταν χρησιμοποιείτε αυτήν τη σύνταξη.
  • Το ακόλουθο παράδειγμα χρησιμοποιεί την εναλλακτική σύνταξη για τον όρο in:
    strSQL = "SELECT * INTO [Sheet1] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' FROM Customers"
    						
    όπου το όρισμα Τύπος παρατίθεται τώρα ξεχωριστά έπειτα από τη διαδρομή του αρχείου προορισμού.

Τρόπος προσάρτησης

Μπορείτε να χρησιμοποιήσετε την πρόταση INSERT INTO... IN για να προσαρτήσετε τα δεδομένα από οποιαδήποτε προέλευση δεδομένων που μπορούν να διαβάσουν το Jet σε οποιαδήποτε δεδομένα προορισμού. Πρέπει να υπάρχει στο βιβλίο εργασίας προορισμού και το φύλλο εργασίας. Τώρα που γίνεται αναφορά σε ένα υπάρχον φύλλο εργασίας, πρέπει να χρησιμοποιήσετε τη σύνταξη τυπικό σύμβολο δολαρίου, για παράδειγμα, [$ Φύλλο1], όταν αναφέρεστε σε ένα όνομα φύλλου ως τον προορισμό. In addition, the column headings must already be present; in other words, this statement can only be used to append to an existing table.

There are two ways to write the append command that copies the entire Customers table from the Northwind database into an existing Excel worksheet, which already has the appropriate column headings.
  • The following example uses the INSERT INTO ... IN syntax:
    strSQL = "INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] SELECT * FROM Customers"
    						
    where the bracketed destination database information is again preceded by an empty pair of quotes for the type argument, which is now included within the brackets.
  • The following example uses the alternate syntax for the IN clause:
    strSQL = "INSERT INTO [Sheet1$] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' SELECT * FROM Customers"
    					

Αναφορές

For additional information about this Jet-specific syntax, consult the Jet SQL help file (JETSQL40.chm), especially the topics on the SELECT INTO statement, the INSERT INTO statement, and the IN clause.

Ιδιότητες

Αναγν. άρθρου: 295646 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Excel 97 Standard Edition
Λέξεις-κλειδιά: 
kbdatabase kbhowto kbjet kbmdacnosweep kbmt KB295646 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:295646

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com