MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5121
    Registrado : 20/04/2011

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Silvio 29/3/2022, 12:54

    Prezados bom dia / boa tarde / boa noite.

    Precisa de uma ajuda !!!

    Estou a usar o Access 2013 32 bits, antes usava o 2010 32bits.

    Estou com uma dificuldade de exportar uma consulta filtrada para o Excel para gerar um gráfico, coisa que no Access 2010 era nativo dele gerar o gráfico.

    Tenho os seguintes campos nessa consulta conforme a figura abaixo:

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Forum23

    Só que quando faço a exportação, não está sendo respeitada a filtragem na coluna data pedido.

    Alguém pode me dar uma força nesse caso ?

    Desde já, meus agradecimentos.

    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5121
    Registrado : 20/04/2011

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Silvio 29/3/2022, 15:33

    Estou a utilizar uma rotina criada pelo JPaulo, com uma modificação....mas mesmo assim....todos os dados estão indo, não está ocorrendo a filtragem.

    Public Sub CriaExcel()
    'By JPaulo ® Maximo Access
    '2017-09-15
    Dim strLivro As String
    Dim xls As Object
    Dim db As Database
    Dim rst As DAO.Recordset
    Dim strSQL
    Dim intUltimaCelula%
    Dim xlsht As Excel.Worksheet



    Set db = CurrentDb
    Set xls = CreateObject("Excel.Application")
    strLivro = "C:\teste.xlsx" 'diretorio completo do ficheiro
    xls.Workbooks.Open (strLivro)
    Set xlsht = xls.Worksheets(1) ' 1 é o primeiro sheet
    xls.Visible = True 'torna o excel visivel

    strSQL = "SELECT * FROM QrygraficoVendas Where DataPedido = between " & Format(Forms!frmbuscagrafico!di, "dd-mm-yyyy") & "#" And Format(Forms!frmbuscagrafico!df, "dd-mm-yyyy") & "#"

    Set rst = CurrentDb.OpenRecordset(strSQL)

    If rst.RecordCount = 0 Then Exit Sub 'se não tem registros, morre aqui
    xls.Worksheets(1).Activate
    xls.ActiveSheet.Range("A1").Select 'seleciona a primeira celula
    intUltimaCelula = xlsht.Cells(xlsht.Rows.Count, 1).End(xlUp).Row 'obtem a ultima celula preenchida
    intUltimaCelula = intUltimaCelula + 1 'acrescenta mais uma celula, que será a vazia
    xls.ActiveSheet.Range("A" & intUltimaCelula).Select 'seleciona-a
    xls.ActiveCell.CopyFromRecordset rst 'copia os dados da consulta

    'fecha o recordset e limpa a memoria
    rst.Close: Set rst = Nothing
    'salva o excel
    xls.ActiveWorkbook.Save
    'fecha o excel
    xls.Application.Quit
    'limpa a memoria
    Set xls = Nothing
    End Sub


    Em vermelho, onde ocorre o erro.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3501
    Registrado : 13/12/2016

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Alexandre Fim 29/3/2022, 16:26

    Silvio,

    Instrução SQL está equivocada. Segue correção:

    Código:

        strSQL = "SELECT * FROM QrygraficoVendas "
        strSQL = strSQL & " WHERE DataPedido BETWEEN #" & Format(Forms!frmbuscagrafico!di, "dd-mm-yyyy") & "#"
        strSQL = strSQL & " AND #" & Format(Forms!frmbuscagrafico!df, "dd-mm-yyyy") & "#"

    É isso


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Setinf11
    Sistemas e Tecnologia Ltda
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5121
    Registrado : 20/04/2011

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Silvio 29/3/2022, 18:00

    Alexandre, boa tarde.

    Grato por me estar dando uma força, mas, devo lhe dizer que .....não surtiu o efeito desejado na exportação do mesmo.

    Em anexo, apenas as partes envolvidas para uma melhor compreensão.

    Coloque como data inicial e final apenas o mês de março, irá ver que vai entrar o mês de abril junto no Excel.

    Se puder me ajudar eu fico agradecido.

    Abraços.
    Anexos
    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel AttachmentForum.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (43 Kb) Baixado 9 vez(es)


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3501
    Registrado : 13/12/2016

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Alexandre Fim 29/3/2022, 18:37

    Ok Silvio,

    Vou baixar e analisar.

    Ate+


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Setinf11
    Sistemas e Tecnologia Ltda
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3501
    Registrado : 13/12/2016

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Alexandre Fim 29/3/2022, 18:50

    Silvio,

    O filtro não vai funcionar de jeito nenhum!!! rssss
    Existem 2 equivocos que seguem:

    1 - instrução para carregar o recordset vem antes do SELECT para carregá-lo. Essa instrução tem ir depois de montar a string com a instrução.
    2 - A formatação de data também está incorreta. Deve se usar o formato "mm/dd/yyyy"

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Erro_s10

    Segue correção do código:

    Código:


        '-- Montar a string para carregar o recordset
        strSQL = "SELECT * FROM QryGraficoVendas "
        strSQL = strSQL & " WHERE DataPedido BETWEEN #" & Format(Forms!FrmBuscaGrafico!di, "mm/dd/yyyy") & "#"
        strSQL = strSQL & " AND #" & Format(Forms!FrmBuscaGrafico!df, "mm/dd/yyyy") & "#"
        
        '-- CArregar recordset conforme instrução SQL
        Set rst = CurrentDb.OpenRecordset(strSQL)
        



    É isso


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Setinf11
    Sistemas e Tecnologia Ltda
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5121
    Registrado : 20/04/2011

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Silvio 29/3/2022, 19:05

    Alexandre.....nada de filtrar ainda.....

    Mesmo com as alterações que me passou, não ocorre a filtragem.

    Do jeito que me passou, fiz a inclusão, será que eu posso ter errado, equivocado em algo ??

    Public Sub CriaExcel()
    'By JPaulo ® Maximo Access
    '2017-09-15
    Dim strLivro As String
    Dim xls As Object
    Dim db As Database
    Dim rst As DAO.Recordset
    Dim strSQL
    Dim intUltimaCelula%
    Dim xlsht As Excel.Worksheet



    Set db = CurrentDb
    Set xls = CreateObject("Excel.Application")

    strLivro = "C:\teste.xlsx" 'diretorio completo do ficheiro
    xls.Workbooks.Open (strLivro)
    Set xlsht = xls.Worksheets(1) ' 1 é o primeiro sheet
    xls.Visible = True 'torna o excel visivel


    '-- Montar a string para carregar o recordset
    strSQL = "SELECT * FROM QryGraficoVendas "
    strSQL = strSQL & " WHERE DataPedido BETWEEN #" & Format(Forms!FrmBuscaGrafico!di, "mm/dd/yyyy") & "#"
    strSQL = strSQL & " AND #" & Format(Forms!FrmBuscaGrafico!df, "mm/dd/yyyy") & "#"
    '-- CArregar recordset conforme instrução SQL
    Set rst = CurrentDb.OpenRecordset(strSQL)


    If rst.RecordCount = 0 Then Exit Sub 'se não tem registros, morre aqui
    xls.Worksheets(1).Activate
    xls.ActiveSheet.Range("A1").Select 'seleciona a primeira celula
    intUltimaCelula = xlsht.Cells(xlsht.Rows.Count, 1).End(xlUp).Row 'obtem a ultima celula preenchida
    intUltimaCelula = intUltimaCelula + 1 'acrescenta mais uma celula, que será a vazia
    xls.ActiveSheet.Range("A" & intUltimaCelula).Select 'seleciona-a
    xls.ActiveCell.CopyFromRecordset rst 'copia os dados da tabela




    'fecha o recordset e limpa a memoria
    rst.Close: Set rst = Nothing
    'salva o excel
    xls.ActiveWorkbook.Save
    'fecha o excel
    xls.Application.Quit
    'limpa a memoria
    Set xls = Nothing
    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3501
    Registrado : 13/12/2016

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Alexandre Fim 29/3/2022, 20:19

    Silvio,

    Retire o critério que está na consulta. É por isso que não está funcionando.
    Você já esta filtrando os dados via código.

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Erro_s11


    E acredito que vai funfar !!!!



    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Setinf11
    Sistemas e Tecnologia Ltda
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5121
    Registrado : 20/04/2011

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Silvio 29/3/2022, 20:42

    Alexandre, boa tarde novamente..

    Mesmo retirando o critério na consulta, não filtrou !!

    O que eu fiz...

    Código:
    Public Sub CriaExcel()

    Dim strConsulta, strNomePLanilha
    Dim contaReg As Integer
    strConsulta = "QryExportaComissao"
    strNomePLanilha = "c:/Grafico/Grafico.xls" ' criar a pasta para receber o arquivo
    contaReg = DCount("Representada", "QryGraficoVendas")


    If MsgBox("Deseja exportar " & contaReg & " registros ?", vbYesNo, Me.Caption) = vbNo Then
    MsgBox "Ação cancelada pelo usuário !", vbInformation, Me.Caption
    Exit Sub

    Else
    'criando a pasta na raiz do drive C
    On Error Resume Next
    If Len(Dir("C:\Grafico", vbDirectory) & "") > 0 Then
    MsgBox "Esta pasta já existe"
    Else
    MkDir "C:\Grafico"
    End If

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, strConsulta, strNomePLanilha

    MsgBox "Foram exportados para a planilha grafico.XLS um total de...  " & contaReg & " Registros !", vbInformation, Me.Caption

        End If
        

    End Sub


    Desse modo que está acima, mesmo mantendo o critério na data do pedido, ele filtra a consulta e faz a exportação para o Excel.

    No Access 2010 o gráfico era nativo e fácil de montar.   Agora no 2013 para frente, não temos mais esse recurso nele o que é uma pena.

    Agradeço imensamente a tua ajuda e disposição em me ajudar...agradeço mesmo.

    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3501
    Registrado : 13/12/2016

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Alexandre Fim 29/3/2022, 20:52

    Silvio,

    Eu rodei sua aplicação aqui no meu Access 2016 e gerou a planilha normal e sem erros.

    Boa sorte e sucesso.
    O forum sempre a agradece.

    Abs


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Setinf11
    Sistemas e Tecnologia Ltda

    Conteúdo patrocinado


    [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel Empty Re: [Resolvido]Exportar consulta * filtrada * com data inicial e final para uma planilha do Excel

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/12/2024, 10:14