Ir para conteúdo
Fórum Script Brasil
  • 0

Exportar Dados Para O Excel


Dequinha®

Pergunta

13 respostass a esta questão

Posts Recomendados

  • 0

Não seria mais simples fazer uma consulta ao banco de dados access direto no excel ? Tipo, obter dados externos?

Se puder me manda um arquivo de exemplo pra eu entender melhor...

Duas cabeças pensam melhor que uma... wink.gif

Falow cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Não seria mais simples fazer uma consulta ao banco de dados access direto no excel ? Tipo, obter dados externos?

Se puder me manda um arquivo de exemplo pra eu entender melhor...

Duas cabeças pensam melhor que uma... wink.gif

Falow cool.gif

Bom dia pessoal,

Dequinha se você quer trazer qualquer dado do Access para o excel, o melhor é você fazer o que o Coringa disse:

-Dados/obter dados externos/criar nova consulta ao banco de dados

-Escolha "Banco de dados Ms Access*"

-Selecione o banco

-Selecione a tabela ou consulta / os campos / avançar... e concluir

Observação:

Antes de você fazer isso você pode ligar a macro, ai depois é só colocar em um botão que ele puxará direto do access p/ o Excel.

Abs

Lisandro Oliveira

Link para o comentário
Compartilhar em outros sites

  • 0
OK..

A macro cria um select que faz a busca na consulta no access...

.CommandText = Array( SELECT * FROM `caminho\teste.mdb`.`Consulta1`")

Mas como colocar a clausula where no select? Qual a sintaxe?

Ufa..., Funcionou...

Vamos lá:

Sub Macro1()

Dim dataini, datafim As Date

dataini = InputBox("Digite a data Inicial", , "01/01/2004")

datafim = InputBox("Digite a data Final", , "01/04/2004")

di = Format(dataini, "yyyy-mm-dd")

df = Format(datafim, "yyyy-mm-dd")

With ActiveSheet.QueryTables.Add(Connection:= _

"ODBC;DSN=Banco de dados MS Access;DBQ=C:\temp\lis.mdb;DefaultDir=C:\temp;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _

, Destination:=Range("A5"))

.CommandText = Array( _

"SELECT cliente.codigo, cliente.nome, cliente.data" & Chr(13) & "" & Chr(10) & "FROM `C:\temp\lis`.cliente cliente" & Chr(13) & "" & Chr(10) & "WHERE (cliente.data >= {ts '" + di + " 00:00:00'} And cliente.data<={ts '" + df + " 00:00:00'})" _

)

.Name = "Consulta de Banco de dados MS Access"

.FieldNames = True

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.BackgroundQuery = True

.RefreshStyle = xlInsertDeleteCells

.SavePassword = True

.SaveData = True

.AdjustColumnWidth = True

.RefreshPeriod = 0

.PreserveColumnInfo = True

.Refresh BackgroundQuery:=False

End With

End Sub

Parece tá meio confuso né??, mas como você disse a parte do select é a chave:

.CommandText = Array( _

"SELECT cliente.codigo, cliente.nome, cliente.data" & Chr(13) & "" & Chr(10) & "FROM `C:\temp\lis`.cliente cliente" & Chr(13) & "" & Chr(10) & "WHERE (cliente.data >= {ts '" + di + " 00:00:00'} And cliente.data<={ts '" + df + " 00:00:00'})" _

)

Veja bem, o "+ di +"

o sinal de "+" é a concatenação, e o di e o df são suas variaves que foram definidas no começo do codigo:

Dim dataini, datafim As Date

dataini = InputBox("Digite a data Inicial")

datafim = InputBox("Digite a data Final")

di = Format(dataini, "yyyy-mm-dd")

df = Format(datafim, "yyyy-mm-dd")

Dessa forma será exibida uma janela para digitar a data inicial e a data final.

veja aí, qualquer coisa retorne

Até mais

Abs

Lisandro Oliveira

Link para o comentário
Compartilhar em outros sites

  • 0

ah so mais uma coisinha, a data do inputbox você tira fora!!!

dataini = InputBox("Digite a data Inicial", , "01/01/2004")

datafim = InputBox("Digite a data Final", , "01/04/2004")

deixando so assim:

dataini = InputBox("Digite a data Inicial")

datafim = InputBox("Digite a data Final")

eu utilizei essas datas somente para testar, beleza??

fui...

blink.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Voltando ao assunto...

Quando são 2 querys...onde a primeira serve de origem para segunda? Como fazer? o excel não aceita...

Depende, como seria a consulta?? uma filtrando com data e a outra...??, se for o caso pode-se criar uma tabela temporaria e jogar a 1º query lá, depois fazer outra query...

abs

Lisandro Oliveira

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...