Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť makro spustiť Access dotaz a vložiť výsledok do Excelu

Vytvorenie makra programu Microsoft Access , ktorý pasty výsledky dotazu je do programu Excel môže byť vykonané prepojenie Access z programu Excel , alebo použitím kódu makra priamo ovládať Excel od . Prístup

Poznámka : všetky , ale posledné tri kroky platia pre užívateľa programu Access ( a Excel ) 2007 . Ak máte staršiu verziu programu Access , prejdite na tretí až posledný krok . Veci , ktoré budete potrebovať v Microsoft Excel a Access
Zobraziť ďalšie inštrukcie Cestuj 1

V programe Access vytvoriť tabuľku vzorky údajov : zadajte nasledujúce údaje do novej tabuľky :

náhodný turista , 12.1.2009 , 6,01 dolárov
náhodný turista , 12.3.2009 , 7,98 dolárov
železo john , 12 /5 /2009 , 4,98 dolárov
železo john , 12.6.2009 , 5,98 dolárov
2

Dvakrát kliknite na záhlavie stĺpcov ( napr. \\ " pole1 \\ " ) a nahradiť každý s týmito záhlavia , v tomto poradí :

kniha , datesold , netsale

Uložte tabuľku ( \\ " control - s \\ " ) s ​​názvom \\ " knihy . \\ "
3

Vytvorte dotaz z tabuľky , a stlačte \\ " Esc \\ " na kľúč v \\ " Zobraziť tabuľku \\ dialógové okno " . " . SQL názor \\ " Kliknite pravým tlačidlom myši na kartu dotazu a vyberte \\ Zadajte nasledujúce v okne kódu : .

SELECT * INTO knihy queryresults
Z knihy
WHERE ( ( ( books.book ) Like " * podľa * " ) )
GO

Uložiť dotaz ( \\ " control - y \\ " ) a názov \\ " vbaquery . \\ "
4

Otvorte Excel a stlačte tlačidlo na paneli nástrojov \\ " dát > Z ikonu Access \\ " . Vyberte \\ " queryresults \\ " tabuľky v dialógovom okne \\ " Vybrať tabuľku \\ " . Kliknite na \\ " OK \\ " na \\ dialógové okno " Importovať dáta \\ " a všimnite si , výsledky dotazu : sú zobrazené iba \\ " železo john \\ " knihy . Uložte súbor programu Excel s ľubovoľným názvom a zatvorte ho .
5

Znovu otvoriť \\ " knihy \\ " databázy v programe Access . Otvorte \\ " vbaquery \\ " a revidovať svoje \\ " Kritériá : \\ " pole pre čítanie \\ " Like " * podľa * " \\ " ( nezadávajte úvodzoviek Ešte typu vnútorné, jeden . citácie . ) Znova uložte dotaz .
6

Vytvoriť nový dotaz . Zadajte nasledujúci príkaz SQL v okne \\ " pohľad SQL \\ " , uložte dotaz ako \\ " dropqueryresults \\ " :

DROP TABLE queryresults ;

7

Zadajte Visual Basic integrované vývojové prostredie ( IDE ) , stlačením tlačidla \\ "alt - f11 , \\ " a vyberte \\ " Vložiť > modul . \\ " vložte nasledujúci kód do prázdneho kód nového modulu okno :

Public Sub runquery ( )
" odstrániť tabuľku výsledkov prvej
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 Sk True
End Sub
stránka 8

Umiestnite kurzor na ľubovoľné miesto v \\ " runquery \\ " podprogram a stlačte \\ " F5 \\ " pre spustenie dotazu . Znova otvoríte zošit programu Excel , ktoré ste predtým otvorili a všimnite si , aktualizované údaje : vaše makro nahradil \\ " železo john \\ " riadky s \\ " náhodný turista \\ " riadkov . ( Access 2007 alebo novší užívatelia môžu tu zastaviť . )
9

( Pre používateľov programu Access 2003 a predchádzajúce ) . Použite krok 7 a vložte nasledujúci kód do nového modulu Visual Basic IDE :
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
Public Sub pasteToExcel ( )
< br /> Const QName = \\ " vbaquery \\ "
Dim db As DAO.Database
Dim recset Ako DAO.Recordset
Dim s As String
; Dim appXL Ako Excel.Application
Dim ro , čo

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

Set db = CurrentDb < br /> Nastavenie recset = db.OpenRecordset ( QName )
s = \\ " knižnej \\ " a \\ " , \\ " a \\ " dateddsold \\ " a \\ " , , \\ " a \\ " netsale \\ " a vbCr
appXL.ActiveSheet.Cells ( 1 , 1 ) = s
ro = 2
CO = 1 < ; ! br /> s = \\ " \\ "
robiť , keď nie je recset.EOF
s = s & recset [ kniha ] a \\ " , \\ " & ; ! recset [ datesold ] a \\ " , \\ " a recset [ netsale ] a vbCr
appXL.ActiveSheet.Cells ( ro , ko ) = y
recset.MoveNext < , br /> ro = ro + 1
s = \\ " \\ "
Loop
recset.Close
db.Close
; appXL.ActiveWorkbook.SaveAs ( \\ " c : \\ \\ dataFromAccess.xls \\ " )
appXL.Quit

End Sub
'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
Zvoľte \\ " Tools > Referencie \\ " a skontrolujte \\ " Microsoft Excel Objects Library . \\ "
10

Späť na Access a to kroky 1 až 3. Avšak , pre krok 3 , vložte tento kód SQL do okna SQL kód :

SELECT kníh *
Z kníh
WHERE ( ( ( knihy. . book ) ako " * acc * " ) ) ;
11

Späť na vývojovom prostredí Visual Basic . Umiestnite kurzor do funkcie \\ " pasteToExcel \\ " a stlačte tlačidlo \\ " F5 \\ " pre spustenie funkcie . Otvorte súbor \\ Excel "c : \\ \\ dataFromAccess.xls \\ " , ak chcete zobraziť výsledky
.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené