MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Dúvida - Gerar relatório através de uma consulta

    Compartilhe

    zuuGG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 36
    Registrado : 29/10/2013

    [Resolvido]Dúvida - Gerar relatório através de uma consulta

    Mensagem  zuuGG em Seg 08 Ago 2016, 15:00

    Caros, bom dia!

    Gostaria de saber se é possível gerar um relatório através de uma consulta.

    Como? Da seguinte maneira, em um form eu tenho dois campos "Data Inicio" e "Data Fim" esse campos serão preenchidos manualmente informando um período, Ex: "08/08/2016" e "12/08/2016"

    Após preenchimento das datas tenho um botão "Gerar Relatório", esse botão iria realizar uma consulta em uma tabela, buscando os registros de data entre 08/08/2016 e 12/08/2016 após isso iria gerar um relatório excel com as informações que foram localizadas.

    O que eu fiz foi isso:
    Código:
        Dim RstRel As DAO.Recordset
        Dim dtini, dtfim As String
       
        dtini = Me.txt_DataInicial.Value
        dtfim = Me.txt_DataFinal.Value
         
        Set RstRel = CurrentDb.OpenRecordset("SELECT [Número], [Nome], [CPF], [Data de Registro]" & _
    " FROM tbl_REGISTROS WHERE [Data de Registro] >= """ & dtini & """ AND [Data de Registro] <= """ & dtfim & """;")
       
        DoCmd.OutputTo acOutputQuery, "RstRel", "MicrosoftExcelBiff8(*.xls)", "", True, "", 0

    Porém não deu certo.

    Alguém pode me dar uma ajuda?

    zuuGG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 36
    Registrado : 29/10/2013

    Re: [Resolvido]Dúvida - Gerar relatório através de uma consulta

    Mensagem  zuuGG em Ter 09 Ago 2016, 15:33

    Pessoal, bom dia!

    Consegui resolver meu problema, porém tive de fazer de outra maneira, não consegui fazer um relatório diretamente da consulta sem salvar em nenhuma tabela.

    Fiz da seguinte maneira, criei uma tabela temporária que recebe os valores do recordset e em seguida gera um relatório, abaixo o código que fiz:

    Código:
    Private Sub btn_GerarRel_Click()
       
        Dim RstRelCon As DAO.Recordset
        Dim RstRelNRC As DAO.Recordset
        Dim dtini, dtfim, resultado As String
       
        dtini = Me.txt_DataInicial.Value
        dtfim = Me.txt_DataFinal.Value
           
        DoCmd.RunSQL "DELETE * FROM Rel_Teste"
           
        Set RstRelTeste = CurrentDb.OpenRecordset("Rel_Teste")
        Set RstRelCon = CurrentDb.OpenRecordset("SELECT [Número], [Nome], [CPF], [Data de Registro]" & _
    " FROM tbl_REGISTROS WHERE (((tbl_REGISTROS.[Data de Registro])>=""" & dtini & """ And (tbl_REGISTROS.[Data de Registro])<=""" & dtfim & """));")
       
        Do While Not RstRelCon.EOF
       
        RstRelNRC.AddNew
       
        RstRelTeste("Número") = RstRelCon("Número")
        RstRelTeste("Nome") = RstRelCon("Nome")
        RstRelTeste("CPF") = RstRelCon("CPF")
        RstRelTeste("Data de Registro") = RstRelCon("Data de Registro")
           
        RstRelCon.MoveNext
       
       
        RstRelTeste.Update
       
        Loop
       
        resultado = MsgBox("Deseja gerar o relatório?", vbYesNo, "Relatório")

        If resultado = 6 Then
       
            DoCmd.OutputTo acOutputTable, "Rel_TESTE", acFormatXLS, "C:\User\ZuuG\Relatório Teste\Rel_TESTE" & ".xls", True, ""
        Else
       
            MsgBox "Relatório não gerado!", vbInformation, "Relatório"
           
        End If
       
    End Sub


      Data/hora atual: Ter 06 Dez 2016, 05:42