“Conocimientos software>Microsoft Access

Cómo crear una macro para ejecutar una consulta de Access y pegar el resultado en Excel

2014/1/25
Crear una macro de Microsoft Access que pega los resultados de una consulta en Excel se puede hacer mediante la vinculación a Access desde Excel , o mediante la aplicación de código de macro para controlar directamente desde Excel Acceso

Nota : . todo menos los últimos tres pasos se aplican a los usuarios de acceso (y Excel) 2007 . Si usted tiene una versión anterior de Access , vaya a la tercera al último paso. Cosas que necesitará
Microsoft Excel y Access
Ver Más instrucciones
1

En Access, crear una tabla de datos de ejemplo : introducir los siguientes datos en una nueva tabla :

el turista accidental , 12/1/2009 , 6,01 dólares
el turista accidental, 12/3/2009 , 7,98 dólares
hierro juan, 12 /5/2009 , 4,98 dólares
hierro juan, 12/6/2009 , $ 5.98

2 Haga doble clic en los encabezados de columna (por ejemplo, \\ " Campo1 \\ ") y vuelva a colocar cada uno de estos encabezados , en este orden:

libro, datesold , netsale

Guarde la tabla ( \\ "control - s \\ " ) con el nombre \\ " libros. \\ "
3

Crear una consulta de la tabla , y pulse la tecla \\ "Esc \\" en la "mesa \\ espectáculo " cuadro de diálogo \\. Haga clic en la ficha de la consulta y seleccione \\ " vista SQL \\ ". Escriba lo siguiente en la ventana de código : .

Libros SELECT * EN queryresults
DE libros
WHERE ( ( ( books.book ) Like ' * acc * '))
GO

Guarde la consulta ( \\ "control - s \\ ") y el nombre de \\ " vbaquery . \\ "
4

Abrir Excel y pulse \\ de la barra de herramientas " Datos > de Access \\ " icono. Seleccione la tabla \\ " queryresults \\ " de la \\ cuadro de diálogo " Seleccione \\ Table" . Haga clic en \\ " Aceptar \\ " en el cuadro de diálogo \\ " Importar datos \\ " y notar los resultados de la consulta : sólo el \\ "hierro john \\ " se muestran libros. Guarde el archivo de Excel con cualquier nombre , y ciérrelo.
5

reabrir el \\ database " libros \\ " en Access. Abra el \\ " vbaquery \\ " y \\ " revisar sus criterios : \\ " campo de leer \\ "Like " * acc * '\\ " (no escriba las comillas dobles No escriba el interior , individual. comillas. ) Vuelva a guardar la consulta.
6

Crear una nueva consulta. Escriba la siguiente instrucción SQL en la ventana \\ "SQL vista \\ " , a continuación, guarde la consulta como \\ " \\" dropqueryresults :

queryresults DROP TABLE ;

7

Ingrese el entorno de desarrollo integrado de Visual Basic ( IDE ) pulsando \\ "alt - f11 , \\ " y seleccione \\ " Insertar> módulo . \\ " Pega el siguiente código en código en blanco del nuevo módulo ventana:

runQuery Public Sub ()
eliminar los resultados de la tabla primero
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 verdadero End Sub
Página 8

Coloque el cursor en cualquier lugar de la " runQuery \\ " \\ subrutina y pulse \\ "F5 \\ " para ejecutar la consulta. Vuelva a abrir el libro de Excel que abrió previamente y observe los datos actualizados : la macro ha sustituido a los \\ " Iron John \\ " filas con los \\ " \\ turista accidental " filas . (Access 2007 o posterior usuarios pueden parar aquí . )
9

(para usuarios de Access 2003 y versiones anteriores ) . Utilice el paso 7 para pegar el código siguiente en un nuevo módulo en el IDE de Visual Basic :
'''''' '''''' '''''' '''''' '' '''''' '''''' '''''' '''''' '''''' '
Public Sub pasteToExcel ( )
< br /> Const qName = \\ " vbaquery \\ "
db As DAO.Database
recset As DAO.Recordset
s As String Dim
; appXL As Excel.Application
ro Dim , co

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

Set db = CurrentDb < br /> Set recset = db.OpenRecordset ( qName )
s = \\ " libro \\ " y \\ " , \\ " y \\ " dateddsold \\ " y \\ " ; , \\ " y \\ " netsale \\ "& vbCr
appXL.ActiveSheet.Cells ( 1 , 1 ) = s
ro = 2
co = 1 < ; br /> s = \\
Aunque no recset.EOF
s = s y recset [ libro ] y \\ " , \\ " & ! ; ! recset [ datesold ] y \\ " , \\ " y recset [ netsale ] y vbCr
appXL.ActiveSheet.Cells (ro, co) = s
recset.MoveNext < ; br /> ro = ro + 1
s = \\


recset.Close db.Close
; appXL.ActiveWorkbook.SaveAs ( \\ "c: \\ \\ dataFromAccess.xls \\ ")
appXL.Quit


End Sub '' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''''' '''' '
Seleccione \\ "Herramientas > Referencias \\ " y compruebe el \\ " Microsoft Excel Library Objects. \\ "
10

Volver a acceder y hacer los pasos 1 a 3. Sin embargo , para el paso 3 , pegar el código SQL en la ventana de código SQL: .

Libros SELECT * FROM libros

Donde ( ( (libros . book) Like ' * acc * ')) ;
11

Volver al IDE de Visual Basic . Coloque el cursor dentro de la \\ " pasteToExcel \\ " la función y pulse \\ "F5 \\ " para ejecutar la función. Abra el archivo de Excel \\ "c: \\ \\ dataFromAccess.xls \\ " . Para ver los resultados

Microsoft Access
Cómo hacer histogramas agrupados en Excel
Cómo hacer una tarjeta de Tiempo en Excel
¿Cómo puedo poner un generador de números aleatorios Into My hoja de cálculo Excel
Cómo hacer tarjetas con Microsoft Access
Cómo hacer un cuadro de la leyenda más grande en Excel
Cómo agregar en curso varias celdas en Excel
Cómo cambiar superior a minúsculas en Excel
Funciones básicas de Excel
Conocimientos Informáticos © http://www.ordenador.online