Página 1 de 1

Exportar consulta para planilha Excel existente !!!

Enviado: 11 Mai 2017, 18:50
por leandroandrea07
Bom dia,

tenho uma planilha do Excel, com varias formulas e gráficos , e gostaria de acrescentar algumas informações.

Seria possível eu enviar uma consultar dos Access, para essa planilha, escolhendo a sheet e a célula que desejo ?

Por exemplo:
1º -Enviar a consulta AREA0 para a planilha (que já existe) "Mapa", na Sheet "AREA0" na celula "A358"
2º -Enviar a consulta AREA1 para a planilha (que já existe) "Mapa", na Sheet "AREA1" na celula "A421"
3º -Enviar a consulta AREA2 para a planilha (que ja existe) "Mapa", na Sheet "AREA2" na celula "F254"

Isso é possível ?

Tentei o comando "TransferSpreadsheet" mas não obtive resultado.

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 11 Mai 2017, 19:49
por Avelino Sampaio

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 12 Mai 2017, 12:29
por leandroandrea07
Bom dia Avelino,

é quase isso que preciso.

O que não estou conseguindo é usar o "objSheet.Cells" para enviar uma consulta.
Preciso que ao inves de colocar uma informação na célula, eu envie um consulta para a celula determinada.

Estou tentando algo do tipo:
objSheet0.cells(8, 1).Value = "(DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "AREA0Loc", "C:\Users\xzxxnr\Desktop\Mapa.xls", False)"


Mas não estou conseguindo.

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 12 Mai 2017, 13:06
por Avelino Sampaio

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 12 Mai 2017, 15:11
por leandroandrea07
Avelino,

o getString foi minha primeira opção, mas confesso que não consegui adaptar ao meu projeto, mesmo passando dias estudando e tentando. Talvez eu ainda não esteja nesse nível.

O objSheet.cells().Value tem funcionado para envio de "dados" para a célula indicada, mas confesso que não consegui uma forma de enviar uma tabela inteira.

Tentei:

Dim tbl As String
tbl = Select * From AREA0Loc
objSheet.cells(1,1).Value = tbl

Mas ele envia "Select * From AREA0Loc", como texto na célula 1, 1

Me desculpe, mas não sei onde estou errando ou o que estou deixando passar.

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 12 Mai 2017, 17:22
por leandroandrea07
Avelino,

usando seu exemplo com exatidão (alterando apenas a tabela), tambem não consegui usar o getString:

Capturar.PNG



Onde estou errando ?

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 22 Mai 2017, 04:51
por neros
Leandro, verifique se nas referências você adicionou o Microsoft Activex Data Object. Eu recomendo a versão 2.6.

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 23 Mai 2017, 11:14
por leandroandrea07
Bom dia Neros,

sim, era isso mesmo, apos adicionar na referencia o problema foi resolvido.

Mas ainda não consegui resolver a questão do envio da tabela.


Grato

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 25 Mai 2017, 14:51
por Avelino Sampaio
Leandro,

o que eu acho estranho é vc querer inserir vários registros de uma consulta em uma única célula da planiha. É isso mesmo que vc quer , todo os registros numa única celula (Sheet) ?

Bom, vc pode usar um loop pelo recordset e assim vai inserindo as informações nas células desejadas

Aguardamos

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 25 Mai 2017, 18:50
por leandroandrea07
Boa tarde Avelino,

veja, tenho uma planilha de excel com varias sheets contendo Gráficos e alguns cálculos.
Uma dessas sheets, se chama "Resumo", e é dela que retiro as informações que abastecem todas as outras sheets.

Na sheet "Resumo", tenho duas tabelas geradas pelo Access (tbl1 e tbl2).

Então, preciso enviar a "tbl1" para a sheet "Resumo" a partir da célula A1 e a "tbl2" para a sheet "Resumo" a partir da célula G1.

Atualmente eu copio as tbls manualmente e colo nos locais desejados da planilha do excel. Mas como serão algumas planilhas, minha ideia era atualizar automaticamente.

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 25 Mai 2017, 19:39
por Avelino Sampaio
Leandro,

pode oferecer uma planilha exemplo, somente com a parte resumo para eu entender melhor ?

Aguardamos

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 26 Mai 2017, 12:47
por leandroandrea07
Bom dia Avelino,

conforme solicitou, a planilha exemplo.
Note que temos 3 sheets, a RESUMO, a CONSOLIDADO e a AREA1.

Preciso enviar do access a tabela "0_Resultado" para a sheet "RESUMO" na célula "A1".
Enviar do access a tabela "0_ResumoItem" para a sheet "CONSOLIDAO" na célula "A1" e a tabela "0_ResumoLoc" para a mesma sheet só que para a célula "G'".

Forum.zip



Grato

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 08 Set 2017, 17:15
por Avelino Sampaio
Leandro,

tente utilizar o comando CopyFromRecordset. Algo assim:

Código:
strSql = "SELECT * FROM 0_resultado;"
Set Rs = CurrentDb.OpenRecordset(strSql, dbOpenForwardOnly)
If Rs.RecordCount <> 0 Then
Xls.activesheet.Range("A1").Select
Xls.ActiveCell.copyfromrecordset Rs
End If
Rs.Close
Set Rs = Nothing


Aguardamos

Re: Exportar consulta para planilha Excel existente !!!

Enviado: 26 Set 2017, 12:26
por leandroandrea07
Bom dia Avelino,

desculpe a demora em responder, mas eu estava de ferias, e desliguei um pouco da internet.

Eu resolvi o problema, sem usar programação. Deu mais trabalho, pois criei uma tabela unica, e puxei as informações para cada planilha usando formulas do Excel. No final, acabou funcionando. Assim que eu tiver um tempo, tentarei usar CopyFromRecordset, e retorno pra dizer se funcionou.


Obrigado