Jump to content
Fórum Script Brasil
  • 0

Relatório ACCESS para EXCEL incluso design


zebra2011

Question

Boa tarde, pessoal!

Venho aqui pedir ajuda ao Fórum do SCRIPTBRASIL referente a uma dúvida e dificuldade na qual tenho, não somente eu e sim, outras pessoas que poderão resolver esta dúvida com esse fórum.

Tenho uma tabela na qual contém os campos NOME, E-MAIL, NOTA e TELEFONE, e de padrão o ID do registro no ACCESS, transformeu o mesmo em modo FORMULÁRIO estiloso, e em seguida coloquei um botão no formulário para abrir o relatório em modo "Exibição de Relatório", na qual apliquei a função "CONDICIONAL" que pinta a linha toda de amarelo caso a nota seja menor que 1% "... [NOTA]<'1%'..." - até ai tudo bem, ele pinta normalmente, todo funcional.

A dúvida é, quando faço a exportação pro EXCEL ou quando seleciona todo e copio no EXCEL, ele não vai com o DESIGN do relatório que criei, quero saber, como faço para exportar para o EXCEL já com todos os resultados inclusive com o DESIGN do relatório (colunas pintadas em amarelo se a nota for 0%).

Andei pesquisando na internet, há muitas respostas, porém a maioria são incompletas, não explica passo-a-passo. Existe a possibilidade vincular o ACCESS com o EXCEL (criar um design no próprio EXCEL) depois só clicar no botão RELATORIO que abre a plainhla do EXCEL já com as cores desejados? Não sei se fui claro.

O ideial seria quando abro o RELTORIO DO ACCESS ele desse opção para passar pro excel só que com o DESIGN já montado, porque não tem graça, quando exporto pro excel e depois ter que ficar arrumando o design (toma muito tempo).

Alguém pode me ajudar?

Link to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 0

Usa esse código:

DoCmd.OutputTo ObjectType:=acOutputReport, ObjectName:="NomeDoRelatorio", OutputFormat:="xls"

E troca NomeDoRelatorio pelo nome do seu relatório entre " (aspas) mesmo

Se você quiser pode colocar sem o , OutputFormat:="xls" que daí ele pergunta em que formato você quer exportar

Edited by Iceguy
Link to comment
Share on other sites

  • 0

Isso é um código de VBA

no botão exportar que você fez, clique com o botão direito nele e selecione "Construir Evento..." aí abre essa tela

construtor.jpg

Aí você seleciona Construtor de código. Na tela que vai abrir tem lá uma função +- assim:

Private Sub Comando0_Click()

End Sub
aí você coloca o código lá dentro da Sub, fica assim:
Private Sub Comando0_Click()

DoCmd.OutputTo ObjectType:=acOutputReport, ObjectName:="NomeDoRelatorio", OutputFormat:="xls"

End Sub

Link to comment
Share on other sites

  • 0

acho que isso pode ser util pois pra mim resolveu...... veja os exemplos a baixo ok

Para importar:

Const acAppendData = 2

Set objAccess = CreateObject("Access.Application")

objAccess.OpenCurrentDatabase "C:\XML\XML2.mdb"

objAccess.ImportXML "C:\XML\FUNCI.xml", acAppendData

Para exportar:

Const acExportTable = 0

Set objAccess = CreateObject("Access.Application")

objAccess.OpenCurrentDatabase "C:\XML\XML2.mdb"

objAccess.ExportXML acExportTable, "FUNCIONARIOS", "c:\XML\FUNCI.xml"

Declarar o objAccess:

Set objAccess = CreateObject("Access.Application")

=====================================================================================================

Que tal este exemplo?

Public Function exportar_dadosExcel()

strfich = "C:\testes2000\tassociados.xls"

Kill strfich

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tASSOCIADOS", strfich, True, ""

End Function

João Mateus

=====================================================================================================

DoCmd.TransferSpreadsheet acExport, 8, "Cns_201_Exportar", "C:\Fatura82004\Julho04.xls", True, "Sheet3!"

=====================================================================================================

DoCmd.TransferSpreadsheet acExport, 0, "NOME_DA_CONSULTA", "C:\PLANILHA.XLS", False, ""

=====================================================================================================

DoCmd.TransferSpreadsheet acExport, 0, "NOME_DA_CONSULTA", "C:\PLANILHA.XLS", False, "USERS!b2:j2500"

=====================================================================================================

Gostaria de saber se tem como especificar a partir de que célula ele vai jogar os valores no excel ( Ex.: C3 )

Public Sub ExcelTeste()

Dim objAPP As Object

Dim objwk As Object

Dim objSh As Object

Dim rst As ADODB.Recordset

Set objAPP = CreateObject("Excel.application")

objAPP.SheetsInNewWorkbook = 1

Set objwk = objAPP.Workbooks.Add

Set objSh = objwk.ActiveSheet

Set rst = CurrentProject.Connection.Execute("Select * from tabela")

objSh.Cells(3, 3).CopyFromRecordset rst

rst.Close

objwk.SaveAs "C:\teste.xls"

objwk.Close

objAPP.Quit

tambem tem este que pode ser util em alguns casos......

Exemplo:

Exemplo de como transferir uma tabela do Access através de Macro para uma planilha do Excel em células ou pastas específicas:

Nome da pasta: teste.xls

Nome da guia (planilha): teste1

Células: C3 a G10

A Macro abaixo executa essa tarefa:

Ação Argumentos

-------------------------------------------------------------------------

TransferirPlanilha Tipo de transferência - Exportar

Tipo de planilha eletrônica - Microsoft Excel 97

Nome da Tabela - Nome da tabela no mdb

Nome do Arquivo - C:\caminho\teste.xls

Contém nomes de campos - Sim

Intervalo - teste1!C3:G10

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...