Criar uma macro do Microsoft Access que cola resultados de uma consulta para o Excel pode ser feito através da ligação de serem acessados do Excel, ou pela aplicação de código de macro para controlar diretamente a partir de Excel . Acesso
Nota: todos, mas os últimos três etapas se aplicam a usuários de acesso ( e Excel) 2007. Se você tiver uma versão anterior do Access, avançar para a terceira a última etapa. Coisas que você precisa
Microsoft Excel e Access
Show Mais instruções
1
Access, criar uma tabela de dados de exemplo: inserir os seguintes dados em uma nova tabela :
o turista acidental, 12/1/2009 , 6,01 dólares
o turista acidental, 12/3/2009 , 7,98 dólares
ferro john, 12 /5 /2009, de $ 4,98
ferro john, 12/6/2009 , 5,98 dólares
2
clique duas vezes nos cabeçalhos de coluna (por exemplo, \\ " campo1 \\ " ) e recoloque cada um com esses cabeçalhos , nesta ordem :
livro, datesold , netsale />
Salve a tabela (\\ " controle - s \\" ) com o nome \\ " livros. \\ "
3
Crie uma consulta da mesa, e pressione o \\ "Esc \\ " chave no show mesa de \\ " \\ caixa de diálogo " . " . Vista SQL \\ ", clique com o botão direito na aba da consulta e selecione \\ Digite o seguinte na janela de código: .
Livros SELECT * INTO QueryResults
DE livros
WHERE ( ( ( books.book ) Like ' * acc * '))
GO
Salvar a consulta (\\ " controle -s \\ ") e nomeá-la \\ " vbaquery . \\ "
4
Abra o Excel e pressione \\ da barra de ferramentas " Dados > From ícone Access \\ " . Selecione as \\ mesa " QueryResults \\ " na caixa de diálogo \\ " Selecionar tabela \\ " . Clique em \\ caixa de diálogo " OK \\ " na \\ " Import Data \\ " e observe os resultados da consulta : só os \\ livros " João de Ferro \\" são mostrados. Salve o arquivo do Excel com qualquer nome, e fechá-lo .
5
Reabrir os livros \\ " \\ " banco de dados em Access. Abra o \\ " vbaquery \\" e \\ " revisar suas Critérios: \\ " campo de ler \\ "Like '* acc * ' \\ " (não digite as aspas duplas Não digite o interior, único . citações .) Salve novamente a consulta.
6
Crie uma nova consulta . Digite a seguinte instrução SQL na janela \\ " vista SQL \\ " , então salve a consulta como \\ " \\" dropqueryresults :
QueryResults DROP TABLE ;
7
Digite o Visual Basic ambiente de desenvolvimento integrado (IDE ), pressionando \\ "alt - f11 , \\ " e selecione \\ " Inserir> módulo . \\ " cole o seguinte código no código em branco do novo módulo janela :
Public Sub RunQuery ()
' excluir a tabela de resultados do primeiro
On Error GoTo DO_QUERY
RunQueryForExcel (\\ " dropqueryresults \\ ")
DO_QUERY :
RunQueryForExcel (\\ " vbaquery \\ ")
End Sub
< br /> Public Sub RunQueryForExcel ( QNAME As String)
DoCmd.SetWarnings Falso
CurrentDb.Execute QNAME
DoCmd.SetWarnings verdadeira
End Sub
8
Posicione o cursor em qualquer lugar do \\ sub-rotina " RunQuery \\" e pressione \\ " F5 \\" para executar a consulta. Abra novamente a pasta de trabalho do Excel que você previamente aberto e observe os dados atualizados : o macro substituiu os \\ " João de Ferro \\" linhas com as \\ " acidental \\" turista linhas. ( Access 2007 ou posterior usuários podem parar por aqui. )
9
( Para usuários do Access 2003 e anteriores). Use a etapa 7 para colar o seguinte código em um novo módulo no Visual Basic IDE:
'''''''' '''''' '''''' '''''' '''''''' '''''''' '''''''' '''''' '
Public Sub pasteToExcel ()
< br /> Const QNAME = \\ " vbaquery \\ "
Dim db As DAO.Database
Dim RecSet Como DAO.Recordset
Dim s As String
, Dim appXL Como Excel.Application
ro Dim , co />
'''''''' '''''''' '''''' ' ''
Set appXL = CreateObject (\\ " Excel.Application \\")
appXL.Workbooks.Add
Set db = CurrentDb < br /> Definir RecSet = DB.OpenRecordSet ( QNAME )
s = \\ " livro \\ " e \\ ", \\ " e \\ " dateddsold \\ " e \\ " , \\ " e \\ " netsale \\ "& vbCr
appXL.ActiveSheet.Cells ( 1, 1 ) = s
ro = 2
co = 1 < ; ! br /> s = \\ "\\"
Do While Not recset.EOF
s = s & RecSet [ livro ] & \\ ", \\ " & ; ! 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 \\ " Ferramentas> Referências \\ " e marque a \\ "Microsoft Excel Objects Library. \\ "
10
Retornar para Access e fazer os passos 1 a 3. No entanto, para a etapa 3 , cole este código SQL na janela de código SQL:
livros SELECT *
De livros ONDE ((( livros. . book) Like ' * acc * '));
11
Retorne ao IDE Visual Basic. Coloque o cursor dentro da função \\ " pasteToExcel \\" e pressione \\ " F5 \\ " para executar a função. Abra o arquivo \\ Excel "c: \\ \\ dataFromAccess.xls \\" para ver os resultados
.