Opprette en Microsoft Access makro som limer en spørring resultater i Excel kan gjøres ved å koble til Access fra Excel , eller ved å bruke makro kode til direkte kontroll Excel fra tilgang
. Merk: alle bortsett fra de tre siste trinnene gjelder for brukere av Access (og Excel ) 2007 . Hvis du har en tidligere versjon av Access , går du videre til tredje til siste trinn. Du trenger
Microsoft Excel og Access
Vis flere instruksjoner
en
I Access opprette en tabell av prøven data : skriv inn følgende data i en ny tabell :
tilfeldig turist, 12/1/2009 , $ 6,01
tilfeldig turist, 12/3/2009 , $ 7,98
jern john , 12 /5/2009 , $ 4,98
jern john , 12/6/2009 , $ 5,98
2
Dobbeltklikk kolonneoverskriftene (f.eks \\ " Felt1 \\" ) og erstatte hver med disse overskriftene , i denne rekkefølgen:
bok, datesold , netsale
Lagre tabellen ( \\ " kontroll - s \\" ) med navnet \\ "bøker . \\"
3
Lag en spørring fra bordet, og trykk på \\ "Esc \\ "-tasten i \\ "show tabellen \\ "i dialogboksen . Høyreklikk på spørring kategorien og velg \\ " SQL-visning \\. " Skriv inn følgende i koden vinduet: .
Velge bøker * INTO queryresults
FRA bøker
WHERE ( ( ( books.book ) Liker '* acc * ') )
GO
Lagre spørringen ( \\ " kontroll - s \\ " ) og gi den navnet \\" vbaquery . \\ "
4
Åpne Excel og trykk på verktøylinjes \\ " Data > Fra Tilgang \\ "-ikonet. Velg \\ " queryresults \\" bord i \\ " Select Table \\ " i dialogboksen . Klikk \\ " OK \\" på \\ " Importer data \\ " i dialogboksen og merker spørringen resultater : bare \\ "jern john \\ " bøker vises. Lagre Excel -fil med det navnet , og lukke den.
5
gjenåpne den \\ "bøker \\ " database i Access. Åpne \\ " vbaquery \\" og revidere sine \\ " Kriterier : \\" -feltet for å lese \\ "Like " * acc * '\\ "( Ikke skriv de doble anførselstegnene må skrive den indre, singel. anførselstegn. ) resave spørringen .
6
Opprett en ny spørring . Skriv inn følgende SQL-setning i \\ "SQL view \\ "-vinduet , og deretter lagre spørringen som \\ " dropqueryresults \\":
DROP TABLE queryresults ;
7
Oppgi Visual Basic integrert utviklingsmiljø (IDE ) ved å trykke \\ "alt - f11 , \\ " og velg \\ "Insert > module . \\" Lim inn følgende kode inn i den nye modulen blank kode vindu :
Public Sub RunQuery ( )
'slett resultater bordet først
On Error GoTo DO_QUERY
RunQueryForExcel ( \\ " dropqueryresults \\ " )
DO_QUERY :
RunQueryForExcel ( \\" vbaquery \\ " )
End Sub
< br /> Public Sub RunQueryForExcel ( QName As String )
DoCmd.SetWarnings False
CurrentDb.Execute QName
DoCmd.SetWarnings Ekte
End Sub
Side 8
Plasser markøren hvor som helst i \\ " RunQuery \\" subrutine og trykk \\ "F5 \\" for å kjøre spørringen . Gjenåpne Excel arbeidsbok du tidligere har åpnet og legger merke til oppdaterte data : makroen har erstattet de \\ " jern John \\ " rader med \\ " tilfeldig turist \\ " rader . ( Access 2007 eller senere brukere kan stoppe her . )
9
(For brukere av Access 2003 og tidligere) . Bruk trinn 7 for å lime inn følgende kode inn i en ny modul i Visual Basic IDE :
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
Public Sub pasteToExcel ( )
< br /> Konst QName = \\ " vbaquery \\"
Dim db As DAO.Database
Dim RECSET Som DAO.Recordset
Dim s As String
; Dim appXL Som Excel.Application
Dim ro , co
'' '' '' '' '' '' '' '' '' '' '' ' ''
Set appXL = CreateObject ( \\ " Excel.Application \\ " )
appXL.Workbooks.Add
Set db = CurrentDb < br /> Set RECSET = db.OpenRecordset ( QName )
s = \\ "bok \\ " & \\ " , \\ " og \\ " dateddsold \\ " & \\ " , , \\ " og \\ " netsale \\ "& vbCr
appXL.ActiveSheet.Cells ( 1 , 1 ) = s
ro = 2
co = 1 < ; br /> s = \\ "\\ "
gjøre mens Ikke recset.EOF
s = s & RECSET [ bok ] og \\ " , \\ " & ! ; ! RECSET [ datesold ] og \\ " , \\ " & RECSET [ netsale ] & vbCr
appXL.ActiveSheet.Cells (ro , co ) = s
recset.MoveNext < ; br /> ro = ro + 1
s = \\ "\\ "
Loop
recset.Close
db.Close
; appXL.ActiveWorkbook.SaveAs ( \\ "c : \\ \\ dataFromAccess.xls \\ " )
appXL.Quit
End Sub
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
Velg \\ " Verktøy> Referanser \\" og sjekk \\ "Microsoft Excel Objects Library. \\"
10
Tilbake til Access og gjøre trinn 1 til 3 . Men for trinn 3, lim inn denne SQL-kode inn i SQL-kode vinduet: .
Velge bøker *
fra bøker
der ( ( (bøker . bok) Som ' * acc * ' ));
11
Tilbake til Visual Basic IDE . Plasser markøren inne i \\ " pasteToExcel \\" funksjon, og trykk \\ "F5 \\" å kjøre funksjonen . Åpne Excel- fil \\ "c : \\ \\ dataFromAccess.xls \\" . Å vise resultatene