Oprettelse af en Microsoft Access-makro , der indsætter en forespørgslens resultater til Excel kan gøres ved at linke til Access fra Excel , eller ved at anvende makrokode til direkte kontrol Excel fra adgang
Bemærk: . alle, men de sidste tre trin gælder for brugere af Access (og Excel) 2007 . Hvis du har en tidligere version af Access , gå videre til tredje til sidste trin. Ting du skal
Microsoft Excel og Access
Vis Flere Instruktioner
1
I Access en tabel over eksempeldata skaber : Indtast følgende data i en ny tabel :
utilsigtet turist, 12/1/2009 , 6,01 dollar
utilsigtet turist, 2009/12/03 , 7,98 dollar
jern john , 12 /5/2009 , 4,98 dollar
jern john , 2009/12/06 , 5,98 dollar
2
Dobbeltklik på kolonneoverskrifterne (f.eks \\ " Felt1 \\ " ), og udskift hver med disse overskrifter , i denne rækkefølge:
bog, datesold , netsale
Gem tabellen ( \\ "kontrol - s \\ " ) med navnet \\ " bøger. \\ "
3
Opret en forespørgsel fra bordet , og tryk på \\ "Esc \\ " tasten i \\ "show table \\ "dialogboksen . Højreklik på forespørgslen fane og vælg \\ " SQL-visning \\ ". Indtast følgende i koden vinduet : .
SELECT bøger * INTO queryresults
FRA bøger
WHERE ((( books.book ) Ligesom ' * acc * ' ) )
GO
Gem forespørgslen ( \\ "kontrol - s \\ "), og navngive den \\ " vbaquery . \\ "
4
Open Excel og tryk i Toolbar \\ " Data > Fra Access \\ "-ikonet. Vælg \\ " queryresults \\ " tabel i \\ "Vælg Table \\ " dialogboksen . Klik \\ " OK \\" på \\ " Importer data \\ " dialogboksen og bemærk forespørgslens resultater : Kun \\ " jern john \\ " bøger vises. Gem Excel-fil med noget navn , og luk det .
5.
Genåbn \\ " bøger \\ " database i Access. Åbn \\ " vbaquery \\ ", og revidere sine \\ " Kriterier : \\ " for at læse \\ "Like " * acc * '\\ " (Må ikke skrive anførselstegn Må skrive det indre, single. citater. ) gem forespørgslen .
6
Opret en ny forespørgsel. Indtast følgende SQL-sætning i \\ " SQL-visning \\ " vinduet, derefter gemme forespørgslen som \\ " dropqueryresults \\":
DROP TABLE queryresults ;
< br > 7.
Indtast Visual Basic integrerede udviklingsmiljø (IDE) ved at trykke på \\ "alt - f11 , \\ " og derefter vælge \\ " Indsæt> modul . \\ " Indsæt følgende kode i det nye modul er blank kode vinduet :
Public Sub runquery ()
' slette resultater tabellen første
Ved fejl 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 Ægte
End Sub
8
Placer markøren et sted i \\ " runquery \\ " subrutine og tryk på \\ " F5 \\" for at køre forespørgslen . Genåbne Excel-projektmappe , du tidligere har åbnet , og bemærk de opdaterede data : din makro har erstattet \\ " jern john \\" rækker med \\ " utilsigtet turist \\" rækker. ( Access 2007 eller senere brugere kan stoppe her . )
9
( For brugere af Access 2003 og tidligere) . Brug trin 7 for at indsætte følgende kode i et nyt modul i Visual Basic IDE :
'''''''' '''''' '''''' '''''' '''''''' '''''' '''''' '''''' '''' '
Public Sub pasteToExcel ()
< br /> Const Qname = \\ " vbaquery \\ "
Dim db Som 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 = \\ "bog \\ " & \\ " , \\ " & \\ " dateddsold \\ " & \\ " , , \\ "& \\ " netsale \\ "& vbCr
appXL.ActiveSheet.Cells ( 1, 1) = s
ro = 2
co = 1 < ; br /> s = \\ "\\ "
Må Mens Ikke recset.EOF
s = s & recset [ bog ] & \\ " , \\ " & ! ; ! recset [ datesold ] & \\ " , \\ " & 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
'' '''''''' '''''''' '''''''' '''''''' '''''' '''''' '''''' '''' '
Vælg \\ "Funktioner > Referencer \\ " og tjek \\ "Microsoft Excel Objects Library . \\ "
10
Retur til Access og gøre trin 1 til 3 . Men for trin 3 , indsæt denne SQL-kode ind i SQL-koden vinduet : .
SELECT bøger *
fra bøger
hvor ( ( (bøger . bog) Ligesom ' * acc * ' )),
11
Retur til Visual Basic IDE. Placer markøren inde i \\ " pasteToExcel \\ " funktion, og tryk \\ " F5 \\ " for at køre funktionen. Åbn Excel-filen \\ "c: \\ \\ dataFromAccess.xls \\ " . At se resultaterne