een Microsoft Access- macro die de resultaten van een query 's geplakt in Excel maken kan gedaan worden door het koppelen van de toegang vanuit Excel , of door het toepassen van macro -code om direct te controleren . blinken uit Access Opmerking : alle, maar de laatste drie stappen gelden voor gebruikers van Access ( en Excel ) 2007 . Als u een eerdere versie van Access , gaat u verder met de derde naar de laatste stap . Wat je nodig hebt Microsoft Excel en Access Toon Meer Aanwijzingen 1 In Access , een tabel maken van sample data : voer de volgende gegevens in een nieuwe tabel : de toevallige toerist , 2009/12/01 , $ 6,01 de toevallige toerist , 2009/12/03 , $ 7,98 ijzer john , 12 /5/2009 , $ 4,98 ijzer john , 2009/12/06 , $ 5,98 kopen van 2 Dubbelklik op de kolomkoppen (bijv. \\ " Veld1 \\ " ) en vervang elk met deze headers , in deze volgorde : boek , datesold , netsale Sla de tabel ( \\ "control - s \\ " ) met de naam \\ "boeken . \\ " 3 Maak een query van de tafel , en druk op de " \\ Esc " -toets \\ in \\ "toon tabel \\ "dialoogvenster . Klik met de rechtermuisknop op het tabblad van de query en selecteer \\ " SQL view \\ . " Voer de volgende code in het venster : . SELECT boeken * INTO queryresults UIT boeken WHERE ( ( ( books.book ) Like " * acc * ' ) ) GO Sla de query ( \\ " control - s \\ " ) en noem deze \\ " vbaquery . \\ " 4 Open Excel en druk op de werkbalk \\ " Data > From Access \\ "icoon . Selecteer de \\ " queryresults \\ " tafel in de \\ " Tabel selecteren \\ " dialoogvenster . Klik op \\ " OK \\ " op de \\ " Gegevens importeren \\ " dialoogvenster en ziet de resultaten van de query : alleen de \\ " ijzeren john \\ " boeken worden getoond . Sla het Excel-bestand met een willekeurige naam , en sluit het. 5 Open opnieuw de \\ "boeken \\ " -database in Access . Open het \\ " vbaquery \\ " en herziet deze \\ " Criteria : \\ " field te lezen \\ " Like " * acc * ' \\ ' ( Typ niet de dubbele aanhalingstekens Weet Typ de innerlijke , single. aanhalingstekens . ) Sla het nummer van de query. 6 Maak een nieuwe query . Typ de volgende SQL-instructie in het venster \\ " SQL view \\ " , sla de query als \\ " dropqueryresults \\ " : DROP TABLE queryresults ; < br > 7 Voer de Visual Basic geïntegreerde ontwikkelomgeving ( IDE ) door op \\ " alt - f11 , \\ " en selecteer \\ "Invoegen > module . \\ " Plak de volgende code in de nieuwe module lege code venster : Public Sub runquery ( ) 'delete de resultaten tafel eerste On Error GoTo DO_QUERY RunQueryForExcel ( \\ " dropqueryresults \\ " ) DO_QUERY : RunQueryForExcel ( \\ " vbaquery \\ " ) End Sub < br /> Public Sub RunQueryForExcel ( QName als Koord ) DoCmd.SetWarnings False CurrentDb.Execute qname DoCmd.SetWarnings True End Sub Position 8 de cursor ergens in de \\ " runquery \\ " subroutine en druk op \\ " F5 \\ " om de query uit te voeren . Open de Excel-werkmap die u reeds geopend en let op de bijgewerkte gegevens : uw macro heeft de \\ " ijzeren john \\ " rijen vervangen door de \\ "toevallige toerist \\ " rijen . ( Access 2007 of later gebruikers kunnen hier stoppen . ) 9 ( Voor gebruikers van Access 2003 en eerder ) . Gebruik stap 7 om de volgende code plakken in een nieuwe module in de Visual Basic IDE : '''''' '''''' '''''''' '''''' '''''''' '''''''' '''''' '''''''' ' Public Sub pasteToExcel ( ) < br /> Const qname = \\ " vbaquery \\ " Dim db als DAO.Database Dim recset Zoals DAO.Recordset Dim s As String , Dim appXL Zoals Excel.Application Dim ro , co '''''''' '''''''' '''''' ' '' Set appXL = CreateObject ( \\ " Excel.Application \\ " ) appXL.Workbooks.Add Set db = CurrentDb < br /> Set recset = db.OpenRecordset ( QName ) s = \\ " boek \\ " en \\ " , \\ " en \\ " dateddsold \\ " & \\ " , , \\ " en \\ " netsale \\ " & vbCr appXL.ActiveSheet.Cells ( 1 , 1 ) = s ro = 2 co = 1 < , br /> s = \\ " \\ " Weet Terwijl Niet recset.EOF s = s & recset [boek] & \\ " , \\ " & ! ; ! 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 '' '''''''' '''''''' '''''' '''''' '''''' '''''''' '''''''' '''' ' Select \\ ' Extra > Referenties \\ " en controleer de \\ " Microsoft Excel Objects Library . \\ " 10 Keer terug naar Access en doen stappen 1 tot 3 . Echter , voor stap 3 , plak deze SQL- code in de SQL- code venster : . SELECT boeken * FROM boeken WHERE ( ( (boeken . book ) Like ' * acc * " ) ) ; 11 Terug naar de Visual Basic IDE . Plaats de cursor in het \\ " pasteToExcel \\ " functie en druk op \\ " F5 \\ " om de functie uit te voeren . Open het Excel-bestand \\ " c: \\ \\ dataFromAccess.xls \\ " . Om de resultaten te zien
|