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]Enviar dados para txt com filtro

    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    [Resolvido]Enviar dados para txt com filtro Empty [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alberto Moura 16/6/2015, 17:25

    Caro amigos, ainda só iniciante no access, tenho que consultar os universitários ( Very Happy ).
    com ajuda do mestre ahteixeira, montei BD com envio dados para txt, funcionou tudo perfeito,
    tentei inserir um filtro na data, para envio de dados para txt por data, o mesmo não deu certo (No).
    Como devo proceder? conto com ajuda de vcs, segue anexo o BD.
    Desde já grato!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alvaro Teixeira 17/6/2015, 00:08

    Olá Alberto, a propósito do seu tópico aproveitei para fazer uma questão aqui no fórum utilizando o seu exemplo (link)

    Nos meus projectos também tenho várias consultas que depois resulta noutra que é a que utilizo no código (VBA).
    Ora bem, temos (eu também) que aprofundar o conhecimento das instruções em SQL e assim fica mais fácil.
    No seu caso tem duas consultas e no código VBA outra onde é efectuada a união e terá que ser efectuado aqui o "filtro".

    Antes de responder à questão colocada, tenho uma questão a fazer em relação à sua tabela "Banco_dados"
    A sua tabela está assim, existe alguma razão especial:
    [Resolvido]Enviar dados para txt com filtro Sesras

    A modelagem de dados é muito importante e evitamos erros futuros, não acha que poderia ser assim:
    [Resolvido]Enviar dados para txt com filtro I3yt8p
    Repare que tem a mesma informação e o "indentificador" (caso seja necessário) assim conseguimos obter os mesmo resultado através da tabela.

    Bom, respondendo à sua questão, no campo data deve ser do tipo "data", altere, veja:
    [Resolvido]Enviar dados para txt com filtro 27ymj37

    Nas consultas (1 e 2) coloque assim:
    [Resolvido]Enviar dados para txt com filtro 4uj70i

    Abraço


    Última edição por ahteixeira em 17/6/2015, 08:22, editado 1 vez(es)
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alberto Moura 17/6/2015, 00:28

    Boa noite ahteixeira, obrigado pelo retorno, utilizo outro bd bem maior, fiz esse modelo só de exemplo,
    o q não estou conseguindo é enviar os dados com filtro para txt, o mesmo gerar um erro na linha  
    Set RS = db.OpenRecordset(strSQL), quando retiro os filtro da consulta1 e consulta1, ele funciona direitinho.
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alberto Moura 17/6/2015, 12:41

    Olá ahteixeira, tentei modificar a origem dos dados de consulta1 e consulta2, para o formulário (frm_exportar) onde procedo o filtro nos dados, mas não deu certo, continua com erro (confused), segue o código, conto com ajuda de vcs.

    Código:
    Public Sub fConexao()
    'Alvaro Teixeira 2015
    ficheiro = Forms!frm_exportar!Diretorio & "\" & Forms!frm_exportar!Combinação3 & ".txt" 'caminho e ficheiro

       Open ficheiro For Output As #1 'abrir ficheiro para escrita
                    
            Dim db As Database, RS As Recordset
            Dim strSQL As String
            Set db = CurrentDb
                strSQL = "TABLE [Consulta1] UNION ALL SELECT *  FROM Consulta2;" 'origem dos dados, neste caso consulta União
                Set RS = db.OpenRecordset(strSQL)
                Print #1, Chr(34) & "UF" & """;"""; "MUN" & """;"""; "DATA" & """;"""
                With RS
                    Do While Not .EOF 'vai correr e adicionar linha a linha
                        Print #1, Chr(34) & RS.Fields(0) & """;""" & RS.Fields(1) & """;""" & RS.Fields(2) & Chr(34)
                        .MoveNext
                    Loop
                End With
            
            RS.Close
            db.Close

        Close #1

        MsgBox "Arquivo gerado com sucesso!", vbInformation, "Exportação"
    End Sub
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alvaro Teixeira 17/6/2015, 12:59

    Olá Alberto,
    1) Respondendo sua última questão o erro deve ser a instrução Sql, será melhor dizer qual o código do erro.

    Verifico que está a colocar outra questão sem dar o retorno de como correu as indicações da mensagem nº 2, resolveu? Funcionou?
    Além das questões ou assunto que abordei???
    Como sabe este fórum é a interajuda de utilizadores, sem essa informação não podemos partilhar para outros utilizadores com a mesma situação.

    No seguimento, pergunto:
    2) Compreendeu a diferença da estrutura dos dados na tabela, não sei se é uma aplicação terceira que esta a gerar a tabela nesse formato ou se é de um projeto que está a construir.
    Repare que ficava mais fácil e melhor estruturada (na minha opinião). Atenção que não quer dizer que esteja mal assim
    Deve analisar o ponto de situação e o que é mais conveniente.

    No aguardo
    Abraço
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alberto Moura 17/6/2015, 13:17

    ahteixeira, não consegui resolver No, acho q me expressei mal no início, meu problema todo e q não consigo converter os dados para txt, com filtro utilizado no formulário (frm_exportar), pq a origem dos dados estão na consulta1 e consulta2 (strSQL = "TABLE [Consulta1] UNION ALL SELECT *  FROM Consulta2;"), queria modificar a origem dos dados para o formulário onde consta a list_consulta1 e list_consulta2, onde procedo o filtro por data; com relação a estrutura do BD tem q ser dessa forma, pois cadastro em cada linha do bd duas partes, ou seja, NOME1 e NOME2; vc baixou o anexo acima, ele já ta com filtro, mas gera um erro ao enviar os dados para txt (creio q seja devido a origem dos dados). obrigado pelo seu empenho em me ajudar.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alvaro Teixeira 17/6/2015, 13:34

    Sim, mas no formulário ficou a filtar?
    Alterou na tabela para o tipo data?

    Conforme referi, deve ser efecuado tudo via instruçao sql.

    Teste código abaixo:

    strSQL = "SELECT UF1, Mun1, Data1 FROM Banco_dados WHERE " _
    & "Banco_dados.Data1 >= #" & Format([Forms]![frm_exportar]![txtdatainicial], "mm/dd/yyyy") _
    & "# And Banco_dados.Data1 <= #" & Format([Forms]![frm_exportar]![txtdatafinal], "mm/dd/yyyy") _
    & "# UNION SELECT UF2, Mun2, Data2 FROM Banco_dados WHERE " _
    & " Banco_dados.Data2 >= #" & Format([Forms]![frm_exportar]![txtdatainicial], "mm/dd/yyyy") _
    & "# And Banco_dados.Data2 <= #" & Format([Forms]![frm_exportar]![txtdatafinal], "mm/dd/yyyy") & "#;"

    Abraço
    avatar
    Alberto Moura
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 71
    Registrado : 13/01/2015

    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alberto Moura 17/6/2015, 14:13

    Muito obg. ahteixeira, tudo que precisava  cheers  cheers ,
    tentei várias formas montar o código, ñ cheguei nem perto do seu (Laughing),
    segue o BD já modificado com filtro na data para estudo de todos do Forum.
    OBRIGADO mais uma vez pelo seu empenho em me ajudar....
    Abraço....
    Anexos
    [Resolvido]Enviar dados para txt com filtro AttachmentTESTE.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (626 Kb) Baixado 2 vez(es)


    Última edição por Alberto Moura em 17/6/2015, 15:15, editado 2 vez(es)
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Alvaro Teixeira 17/6/2015, 14:30

    Alberto, obrigado pelo retorno, no entanto é melhor começar a estudar os exemplos e perceber o que estamos a fazer.
    Volto a insistir, o retorno mais detalhado é muito importante para o enriquecimento do fórum.
    Os utilizadores do fórum agradecem.
    Abraço

    Conteúdo patrocinado


    [Resolvido]Enviar dados para txt com filtro Empty Re: [Resolvido]Enviar dados para txt com filtro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 19:29