λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> Microsoft Access

Πώς να δημιουργήσετε μια μακροεντολή για να τρέξει μια πρόσβαση ερωτήματος & επικόλληση το αποτέλεσμα σε Excel

Δημιουργία μακροεντολών του Microsoft Access που επικολλήσει τα αποτελέσματα ενός ερωτήματος στο Excel μπορεί να γίνει με τη σύνδεση με Access από το Excel , ή με την εφαρμογή του κώδικα μακροεντολών για να ελέγχουν άμεσα από το Excel . πρόσβαση />

Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Στην Access , δημιουργήστε έναν πίνακα δεδομένων του δείγματος : πληκτρολογήστε τα ακόλουθα δεδομένα σε ένα νέο πίνακα :

η τυχαία τουρίστας, 12/1/2009 , 6,01 δολάρια
η τυχαία τουρίστας, 12/3/2009 , 7,98 δολάρια
σιδήρου john , 12 /5/2009 , 4,98 δολάρια
σιδήρου john , 12/6/2009 , 5,98 δολάρια 2

κάντε διπλό κλικ στις επικεφαλίδες των στηλών ( π.χ. \\ " Πεδίο1 \\" ) και αντικαταστήστε το καθένα με αυτές τις κεφαλίδες , με αυτή τη σειρά :

βιβλίο , datesold , netsale

Εκτός από τον πίνακα ( \\ " ελέγχου - s \\ " ) με την ονομασία \\ " βιβλία . \\ "
εικόνων 3

Δημιουργήστε ένα ερώτημα από τον πίνακα , και πατήστε το \\ "Esc \\ " κλειδί στο \\ " πίνακα δείχνουν \\ "παράθυρο διαλόγου . " . Προβολή SQL \\" Κάντε δεξί κλικ στην καρτέλα του ερωτήματος και επιλέξτε \\ Πληκτρολογήστε τα ακόλουθα στο παράθυρο κώδικα : .

SELECT * INTO βιβλία queryresults
ΑΠΟ βιβλία
WHERE ( ( ( books.book ) Like " * acc * ) )
GO

Εκτός από το ερώτημα ( \\" ελέγχου - s \\ ") και το όνομα \\ " vbaquery . \\ "
Η

4 Ανοίξτε το Excel και πατήστε \\ της γραμμής εργαλείων " Data > Από την Access \\ εικονίδιο " . Επιλέξτε το \\ " queryresults \\ " πίνακα στο παράθυρο διαλόγου \\ " Επιλογή πίνακα \\ " . Κάντε κλικ στο \\ "OK \\ " για το \\ παράθυρο διαλόγου " Εισαγωγή δεδομένων \\" και να παρατηρήσετε τα αποτελέσματα του ερωτήματος : μόνο οι \\ " σιδήρου john \\ " τα βιβλία που εμφανίζονται . Αποθηκεύστε το αρχείο Excel με οποιοδήποτε όνομα και κλείστε το .
5

Άνοιγμα ξανά των \\ " βιβλία \\ " βάση δεδομένων στην Access . Ανοίξτε το \\ " vbaquery \\" και να αναθεωρήσει του \\ " Κριτήρια : \\" πεδίο για να διαβάσετε \\ "Like " * acc * " \\ " ( Μην πληκτρολογείτε τα διπλά εισαγωγικά βάζετε το εσωτερικό , και μόνο . εισαγωγικά . ) Αποθηκεύστε ξανά το ερώτημα .
Η 6

Δημιουργήστε ένα νέο ερώτημα . Πληκτρολογήστε την ακόλουθη πρόταση SQL στο \\ " προβολή SQL \\ " παράθυρο , στη συνέχεια, αποθηκεύστε το ερώτημα ως \\ " dropqueryresults \\ " :

queryresults ΠΙΝΑΚΑΣ DROP ?

7

Εισάγετε το Visual Basic ολοκληρωμένο περιβάλλον ανάπτυξης ( IDE ) πατώντας \\ "alt - f11 , \\ " , στη συνέχεια, επιλέξτε \\ " Insert> Module . \\" Επικολλήστε τον ακόλουθο κώδικα στο κενό κωδικό της νέας μονάδας της παράθυρο :

Public Sub runquery ( ) />
On Error GoTo DO_QUERY
RunQueryForExcel ( \\ " dropqueryresults \\ " ) />

RunQueryForExcel ( \\ " vbaquery \\ " )
End Sub

Public Sub RunQueryForExcel ( qName Όπως String )
DoCmd.SetWarnings False
CurrentDb.Execute qName
DoCmd.SetWarnings True
End Sub
Τετάρτη 8

Τοποθετήστε το δρομέα σε οποιοδήποτε σημείο της \\ " runquery \\" υπορουτίνα και πατήστε \\ "F5 \\ " για να εκτελέσετε το ερώτημα . Ανοίξτε ξανά το βιβλίο εργασίας του Excel που ήδη ανοίξει και να παρατηρήσετε το επικαιροποιημένα στοιχεία : macro σας έχει αντικαταστήσει τις \\ " σιδήρου john \\ " σειρές με τα \\ " τυχαία τουριστική \\ " γραμμές . ( Access 2007 ή αργότερα, οι χρήστες μπορεί να σταματήσει εδώ . )
Η 9

( Για τους χρήστες της Access 2003 και νωρίτερα) . Χρησιμοποιήστε το βήμα 7 για να επικολλήσετε τον παρακάτω κώδικα σε μια νέα λειτουργική μονάδα στο IDE της Visual Basic :
'''''' '''''' '''''' '''''' '' '''''' '''''' '''''' '''''' '' '''' '
Public Sub pasteToExcel ( )

Const qName = \\ " vbaquery \\ "
Dim db Όπως DAO.Database
Dim recset Όπως DAO.Recordset
Dim s Όπως String
? Dim appXL Όπως Excel.Application
Δημ. ro , συν

'''''' '''''' '''''' '''' ' ''
Set appXL = CreateObject ( \\ " Excel.Application \\" )
appXL.Workbooks.Add

Set db = CurrentDb
Ορισμός recset = db.OpenRecordset ( qName )
s = \\ " το βιβλίο \\ " και \\ " , \\ " και \\ " dateddsold \\ " και \\ " ? , \\ " και \\ " netsale \\ " & vbCr
appXL.ActiveSheet.Cells ( 1 , 1 ) = s
ro = 2 />
s = \\ " \\ "
Do While Not recset.EOF
s = s & recset [ βιβλίο ] & \\ " , \\ " & ? ! recset [ datesold ] & \\ " , \\" & recset [ netsale ] & vbCr
appXL.ActiveSheet.Cells ( ro , συν ) = s
recset.MoveNext ro ro = + 1
s = \\ " \\ "

Loop recset.Close

db.Close ? appXL.ActiveWorkbook.SaveAs ( \\ " c : \\ \\ dataFromAccess.xls \\ " )
appXL.Quit

End Sub />
Επιλέξτε \\ " Εργαλεία> Αναφορές \\ " και επιλέξτε το \\ " Microsoft Excel Objects Library . \\ "
Η 10

Επιστροφή στην πρόσβαση και να κάνει τα βήματα 1 έως 3. Ωστόσο , για το βήμα 3 , επικολλήστε αυτόν τον κώδικα SQL στο παράθυρο SQL κώδικα :

SELECT βιβλία *
ΑΠΟ βιβλία
ΠΟΥ ( ( ( βιβλία . . book ) Όπως » * acc * ) ) ?

11

Επιστροφή στην Visual Basic IDE . Τοποθετήστε το δρομέα μέσα στο \\ " pasteToExcel \\ " λειτουργία και πιέστε \\ " F5 \\ " για να εκτελέσετε τη λειτουργία . Ανοίξτε το αρχείο \\ Excel "c : \\ \\ dataFromAccess.xls \\ " για να δείτε τα αποτελέσματα
Η
εικόνων .

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα