MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Compartilhe
    avatar
    percoski
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 27/02/2013

    [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  percoski em 27/6/2018, 02:44

    Olá boa noite, preciso gerar um arquivo no seguinte formato
    "{"ID":"1","NOME":"Fernando","SENHA":"123456","MAXIMO_DESCONTO":"10"},"
    cheguei neste aki,
    "{ID:1,NOME:Administrador,SENHA:123, MAXIMODESCONTO:10},"
    eis a linha que gera o arquivo com os dados,

    Código:
    Print #1, "{" & "ID" & ":" & rs("idUsuario") & ",NOME" & ":" & rs("Usuario") & ",SENHA:" & rs("Senha") & ", MAXIMODESCONTO:" & rs("desconto") & "},"


    se alguem puder me ajudar agradeço


    Última edição por percoski em 27/6/2018, 13:17, editado 1 vez(es)
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  CassioFabre em 27/6/2018, 11:09

    Bom dia,

    O campo da "Bloqueado" da tabela em que está fazendo o recordset (rs("Bloqueado")) é do tipo booleano (Sim/Não)?

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    percoski
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 27/02/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  percoski em 27/6/2018, 13:18

    corrigido a linha, mas o formato é diferente
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  CassioFabre em 28/6/2018, 12:46

    Bom dia,

    Mas então, qual a dúvida ao certo? Porque me parece que esse código de concatenação está correto. A dúvida é em "gerar o arquivo" propriamente dito ou na concatenação de fato?

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    percoski
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 27/02/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  percoski em 28/6/2018, 15:30

    ele gera a linha que indiquei:
    {ID:1,NOME:Administrador,SENHA:123, MAXIMODESCONTO:10},
    mas preciso gerar ela assim:
    {"ID":"1","NOME":"Fernando","SENHA":"123456","MAXIMO_DESCONTO":"10"},
    e não estou conseguindo concatenar para adicionar as aspas como no exemplo acima
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  ahteixeira em 28/6/2018, 16:39

    Olá a todos,

    Marcio Percoski, a questão não está muito bem formulada (irei ajustar o título).
    O que pretende pelos visto é incluir a Aspa Dupla, para isso usamos o Chr(34) na instrução:

    Veja se é isto:
    Código:
    Print #1, "{" & Chr(34) & "ID" & Chr(34) & ":" & Chr(34) & rs("idUsuario") & ",NOME" & Chr(34) & ":" & Chr(34) & rs("Usuario") & ",SENHA:" & rs("Senha") & ", MAXIMODESCONTO:" & rs("desconto") & Chr(34) & "},"

    Abraçoa todos
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  CassioFabre em 28/6/2018, 17:11

    Boa tarde,

    O que o Ahteixeira mostrou acima é a resposta pra sua pergunta. Porém, visto que está exportando dados de usuários do sistema, do ponto de vista da segurança, nao é aconselhável que você mostre especificamente o que cada parâmetro representa, pois nas mãos de um usuário mal intensionado, ele poderá acessar de fazer o que quiser (ou tiver permissão) no sistema. Então sugiro que exporte seus dados da seguite forma:

    {ID;SENHA;MAXIMODESCONTO}

    O código fica:
    Código:
    Print #1, "{" & rs("idUsuario") & ";" & rs("Senha") & ";" & rs("desconto") & "}"

    O resultado é:
    {1;123;10}

    A não ser que o usuário saiba que os códigos estão na ordem ID;SENHA;MAXIMODESCONTO será impossível pra ele saber o que esses números significam.

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    percoski
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 27/02/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  percoski em 29/6/2018, 02:44

    Demorei mas entendi sua dica, cheguei aki,
    [
    {"ID":"1","NOME":"Administrador","SENHA":"123","MAXIMO_DESCONTO":"Falso"},
    {"ID":"2","NOME":"Master","SENHA":"master","MAXIMO_DESCONTO":"Falso"},
    {"ID":"3","NOME":"PERCOSKI","SENHA":"12345","MAXIMO_DESCONTO":"Falso"},
    ]
    Código:
    Open Application.CurrentProject.Path & "\Monitor\usuarios.json" For Output As #1
      Print #1, "["
        Do While Not rs.EOF
            strPalavra = rs!idusuario
            strLinha = " {"  'rs!idusuario &
            Do While strPalavra = rs!idusuario
                strLinha = strLinha & Chr(34) & "ID" & Chr(34) & ":" & Chr(34) & rs!idusuario & Chr(34) & "," & Chr(34) & _
                "NOME" & Chr(34) & ":" & Chr(34) & rs!usuario & Chr(34) & "," & Chr(34) & "SENHA" & Chr(34) & ":" & Chr(34) & _
                rs!Senha & Chr(34) & "," & Chr(34) & "MAXIMO_DESCONTO" & Chr(34) & ":" & Chr(34) & rs!Bloqueado & Chr(34) & ","
                rs.MoveNext
                If rs.EOF Then Exit Do
            Loop
            strLinha = Left(strLinha, Len(strLinha) - 1)
            strLinha = strLinha & "},"
            Print #1, strLinha
        Loop
        Print #1, "]"
        rs.Close
        Set rs = Nothing
    Close #1
    mas a ultima virgula não pode ficar o correto seria assim,

    [
    {"ID":"1","NOME":"Administrador","SENHA":"123","MAXIMO_DESCONTO":"Falso"},
    {"ID":"2","NOME":"Master","SENHA":"master","MAXIMO_DESCONTO":"Falso"},
    {"ID":"3","NOME":"PERCOSKI","SENHA":"12345","MAXIMO_DESCONTO":"Falso"}
    ]

    Mas ta quase
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  ahteixeira em 2/7/2018, 13:55

    Olá Marcio Percoski,

    Acho que com um IIF, resolve, onde tem:
    rs!Senha & Chr(34) & "," & Chr(34) & "MAXIMO_DESCONTO" & Chr(34) & ":" & Chr(34) & rs!Bloqueado & Chr(34) & ","

    altere por:
    rs!Senha & Chr(34) & "," & Chr(34) & "MAXIMO_DESCONTO" & Chr(34) & ":" & Chr(34) & rs!Bloqueado & Chr(34) & IIf(rs.EOF, "", ",")


    Abraço
    avatar
    percoski
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 27/02/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  percoski em 2/7/2018, 16:28

    Código:
      Print #1, "["
        Do While Not rs.EOF
            strPalavra = rs!idusuario
            strLinha = " {"
           
            Do While strPalavra = rs!idusuario
                strLinha = strLinha & Chr(34) & "ID" & Chr(34) & ":" & Chr(34) & rs!idusuario & Chr(34) & "," & Chr(34) & _
                "NOME" & Chr(34) & ":" & Chr(34) & rs!usuario & Chr(34) & "," & Chr(34) & "SENHA" & Chr(34) & ":" & Chr(34) & _
                rs!Senha & Chr(34) & "," & Chr(34) & "MAXIMO_DESCONTO" & Chr(34) & ":" & Chr(34) & rs!Bloqueado & Chr(34) & ","
                rs.MoveNext
                If rs.EOF Then Exit Do
            Loop
            strLinha = Left(strLinha, Len(strLinha) - 1)
          strLinha = IIf(rs.EOF, strLinha & "}", strLinha & "},")
            'strLinha = strLinha & "},"
            Print #1, strLinha
        Loop
        Print #1, "]"
        rs.Close
        Set rs = Nothing
    Close #1
    isso mesmo ja tinha resolvido obrigado
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  ahteixeira em 2/7/2018, 16:36

    Olá Marcio, obrigado pelo retorno.
    O fórum agradece.

    Abraço
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  CassioFabre em 3/7/2018, 14:44

    Bom dia,

    Reitero a dica de segurança que dei a cima. Mas que bom que resolveu!

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  ahteixeira em 3/7/2018, 14:51

    Olá a todos,

    Cassio, concordo não devemos descurar a proteção.
    Se fosse para rodar na União Europeia, ao abrigo da nova legislação RGPD, numa auditoria já tinha uma falha grave de segurança para chumbar o projeto.

    Mas limitamo-nos a responder apenas à questão.

    Abraço a todos
    avatar
    percoski
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 304
    Registrado : 27/02/2013

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  percoski em 3/7/2018, 15:56

    Sobre a dica de segurança, vamos analizar, mas esse arquivo roda para integração de sistemas em ambiente segura, ou seja em um servidor.
    Mas como o amigo lembrou serve para que não nos descuidemos da segurança
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Aspa Dupla ao Concatenar para exportar para TXT

    Mensagem  ahteixeira em 4/7/2018, 00:54

    cheers

      Data/hora atual: 19/11/2018, 03:37