-
- hur man skapar ett makro att köra en tillgång Query & klistra in resultatet i Excel
- Postad av:Jeanette Morales
- Skapa ett Microsoft Access-makro som klistrar en frågans resultat i Excel kan göras genom att länka till Access från Excel, eller genom att makrokod att direkt styra Excel från Access
. Notera: alla utom de sista tre stegen tillämpas på användare av Access (och Excel) 2007. Om du har en tidigare version av Access, gå till den tredje till sista steget Du behöver:.
Microsoft Excel och Access
1
i. . Access skapar du en tabell med exempeldata: Skriv in följande data i en ny tabell:
Den tillfällige turisten, 12/1/202C $ 6. 01
Den tillfällige turisten, 12/3/202C $ 7,98
järn John, 12/5/202C $ 4,98
järn John, 12/6/202C $ 5,98
2.
Dubbelklicka på kolumnrubrikerna (t. ex. "Fält1") och ersätta alla med dessa rubriker i denna ordning:
bok, datesold, netsale
Spara tabellen ("kontroll-s") med namnet "böcker".
3.
Skapa en fråga från bordet och tryck på "Esc" knappen i "visa tabell" dialogrutan. Högerklicka på frågans fliken och välj "SQL-vyn. " Skriv in följande i koden fönstret:
SELECT böcker. * I queryresults
från böcker
VAR (((books. book) I likhet med "* ACC *'));
Spara frågan (" kontroll-s ") och namn det "vbaquery. "
4.
Öppna Excel och trycker på Verktygsfält "Data> Från Access"-ikonen. Välj "queryresults" bord i "Välj tabell" i dialogrutan. Klicka på "OK" på "Importera data" i dialogrutan och märker frågans resultat: endast "Iron John" böcker visas. Spara Excel-filen med något namn, och stäng det.
5.
Öppna "Böcker" databas i Access. Öppna "vbaquery" och se över sina "Kriterier:"-fältet till "Like" * ACC * '"(skriv inte det dubbla citationstecken. Har typ de inre, enkla citattecken. ) Spara om frågan.
6.
Skapa en ny fråga. Skriv följande SQL-sats i "SQL-vyn" fönster, spara sedan frågan som "dropqueryresults".
DROP TABLE queryresults;
7
Ange Visual Basic integrerad utvecklingsmiljö (IDE) genom att trycka "Alt-F11," välj sedan "Infoga> Module. " Klistra in följande kod i den nya modulen är tomt kod fönster:
Public Sub runquery ()
"radera resultattabellen första
On Error GoTo DO_QUERY
RunQueryForExcel (" dropqueryresults ")
DO_QUERY:
RunQueryForExcel (" vbaquery ")
End Sub
Public Sub RunQueryForExcel (QName As String)
DoCmd . SetWarnings Falska
CurrentDb. Execute QName
DoCmd. SetWarnings True
End Sub
8.
Placera markören någonstans i "runquery" subrutin och tryck "F5" för att köra frågan. Återuppta Excel-arbetsboken du tidigare öppnade och märker uppdaterade uppgifter: ditt makro har ersatt "Iron John" rader med "oavsiktlig turist" rader. (Access 2007 eller senare användare kan sluta här. )
9.
(För användare av Access 2003 och tidigare). Använd steg 7 för att klistra in följande kod i en ny modul i Visual Basic IDE:
'''''''''''''''''''''''''''' '''''''''''''''''''''''''''''
Public Sub pasteToExcel ()
Const QName=" vbaquery "
Dim db Som DAO. Databas
Dim recset Som DAO. Recordset
Dim s As String Dim
appXL Som Excel. Application
Dim ro,
samarbete
''''' ''''''''''''''''''''
Ange appXL=CreateObject ("Excel. Application")
appXL. Workbooks. Add
Ställ db=CurrentDb
Set recset=db. OpenRecordset (QName)
s="bok" "," "dateddsold" "," "netsale" vbCr
appXL. ActiveSheet. Cells (1, 1)=s
ro=2
co=1
s=""
Har visserligen inte recset. EOF
s=s recset! [bok] "," recset! [datesold] "," recset! [netsale]
vbCr appXL. ActiveSheet. Cells (ro, CO)=s
recset. MoveNext
ro=ro + 1
s=""
Loop
recset. Close
db. Close
appXL. ActiveWorkbook. SaveAs ("c: \ dataFromAccess. xls")
appXL. Quit
End Sub
''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''
Välj "Verktyg> Referenser" och markera "Microsoft Excel Objects Library. "
10.
tillbaka till Access och göra steg 1 till 3. Men för steg 3, klistra in den här SQL-kod i SQL-koden fönster:
SELECT böcker. *
Ur böcker
DÄR (((books. book) I likhet med "* enligt *'));
elva.
Tillbaka till Visual Basic IDE. Placera markören innanför "pasteToExcel" funktion och tryck på "F5" för att köra funktionen. Öppna Excel-filen "C \ dataFromAccess. xls" för att se resultat
.
Relaterade artiklar
Hur ställer jag upp en Mac-dator lab för k-5?
hur man kan kontrollera nätanvändning internet bandbredd
agent kommunikationsprotokoll
Varför är långsam min hög hastighet modem?
programvara för en FTP-server
hur man gör datorn snabbare streaming
hur man får ett förlorat lösenord
hur du ställer in en nätverksanslutning med Windows Vista och Windows XP
gemensamma TCP / IP-protokoll
hur du synkroniserar med en Microsoft Exchange Server