locked
Exportar varias consultas do Access para mesmo documento excel via macro

    Pergunta

  • Olá galera ,

    Podem ajudar neste codigo ?

    Pesquisei no forum e localizei este codigo para exportar para o excel , esta funcionando para uma consulta , podem auxiliar para executar varias consultas mas disponibilizar o conteudo em um mesmo excel ?

    Sub Comando0_Click()
    On Error GoTo Err_Comando0_Click
    'Declarei as variáveis strConsulta e strNomePlanilha
    Dim strConsulta, strNomePLanilha

    'Na variável strConsulta eu informei o nome exato da minha consulta
    strConsulta = "Consulta1"


    'Na varivável strNomePlanilha eu informei o local e o nome do arquivo a ser gerado.
    strNomePLanilha = "c:/relatoriodomes.xls"

    'Aqui foi montado a expressao que faz exportar a cunsulta em um arquivo de excel.
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strConsulta, strNomePLanilha

    Exit_Comando0_Click:
        Exit Sub

    Err_Comando0_Click:
        MsgBox Err.Description
        Resume Exit_Comando0_Click
       
    End Sub

    Outro ponto é como coloco este procedimento em uma macro do access para executar todos os dias em um horario determinado ?

    antecipadamente grato;

    Bruno

     

    domingo, 19 de setembro de 2010 10:26

Respostas

  • Você pode repetir essas linhas tantas vezes quantas forem as consultas, por exemplo:

    strConsulta = "Consulta1"
    strNomePLanilha = "c:/relatoriodomes.xls"
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strConsulta, strNomePLanilha
    
    strConsulta = "Consulta2"
    strNomePLanilha = "c:/relatoriodomes.xls"
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strConsulta, strNomePLanilha
    
    strConsulta = "Consulta3"
    strNomePLanilha = "c:/relatoriodomes.xls"
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strConsulta, strNomePLanilha
    

    Serão criadas pastas na mesma planilha, uma para cada consulta.

    Para executar esse código diariamente em determinado horário, use o evento No timer de um formulário, definindo a propriedade Intervalo do cronômetro com o valor 60000 e verificando o horário, por exemplo:

    If Time() >= #6:00:00 PM# And Time() <= #6:01:00 PM# Then
     Call Sub Comando0_Click()
    End If
    
    
    • Marcado como Resposta BRUNOJUL sábado, 2 de outubro de 2010 12:55
    domingo, 19 de setembro de 2010 19:13

Todas as Respostas

  • Você pode repetir essas linhas tantas vezes quantas forem as consultas, por exemplo:

    strConsulta = "Consulta1"
    strNomePLanilha = "c:/relatoriodomes.xls"
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strConsulta, strNomePLanilha
    
    strConsulta = "Consulta2"
    strNomePLanilha = "c:/relatoriodomes.xls"
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strConsulta, strNomePLanilha
    
    strConsulta = "Consulta3"
    strNomePLanilha = "c:/relatoriodomes.xls"
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strConsulta, strNomePLanilha
    

    Serão criadas pastas na mesma planilha, uma para cada consulta.

    Para executar esse código diariamente em determinado horário, use o evento No timer de um formulário, definindo a propriedade Intervalo do cronômetro com o valor 60000 e verificando o horário, por exemplo:

    If Time() >= #6:00:00 PM# And Time() <= #6:01:00 PM# Then
     Call Sub Comando0_Click()
    End If
    
    
    • Marcado como Resposta BRUNOJUL sábado, 2 de outubro de 2010 12:55
    domingo, 19 de setembro de 2010 19:13
  • Bruno onde vossa põem esse código?

     

    Abriu um botão no access? Como faz isso?

    segunda-feira, 2 de maio de 2011 13:09
  • Ja percebi e ja consegui por o codigo a funcionar....mas ainda não percebi como ponho o codigo no botão!

     

    Na parte do timer onde escrevo isso?

    segunda-feira, 2 de maio de 2011 15:30
  • Alguem ai?

     

    Este forum está morto???????????

    terça-feira, 3 de maio de 2011 15:30