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]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Compartilhe

    RobsonBastos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 27/06/2017

    [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  RobsonBastos em Sex 21 Jul 2017, 13:01

    Bom dia a todos,
    Estou exportando uma tabela do Access para o Excel, porém tenho dois campos que são relacionados com outra tabela(Usei o assistente de pesquisa(Modo Design)), tenho também um que é valor booleano(SIM/NÃO).

    Problemas:
    - Os valores relacionados aparecem como números no Excel, porém na tabela do Access visualmente são textos.
    Preciso que no Excel estes campos sejam apenas os textos, assim como são visualmente no Access.

    - O campo booleano, no Excel aparece como Verdadeiro/Falso.
    Preciso que no Excel ele apareça como SIM/NÃO

    O código vba que estou utilizando:
    Código:

    Private Sub btn_Exportacao_Click()
      
    Dim xlsxBD As Object
    Set xlsxBD = CreateObject("Excel.Application")

       Call DoCmd.TransferSpreadsheet(TransferType:=acExport, TableName:="TB_Geral", FileName:=CurrentProject.Path & "\Exportações" & "\" & "Banco de Dados - Geral" & ".xlsx")
      
       xlsxBD.Application.Quit
    Set xlsxBD = Nothing


    End Sub

    Desde já, agradeço a quem puder ajudar na resolução destas questões.
    Agradeço também a quem leu e se interessou por este caso.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3325
    Registrado : 14/08/2013

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  FabioPaes em Sex 21 Jul 2017, 18:43

    Ao invés de Exportar a tabela, crie uma consulta para isso... Realize o Tratamento dos dados na consulta com o Seimed() e tudo funcionará como quer!

    Ex: No Campo Sim/Nao coloque um campo na consulta com isso:

    NomeCampo:Seimed([CampoBoleano]=-1;"Sim";"Não")

    Dessa forma terá uma coluna na sua consulta com o Nome NomeCampo que mostrará ao invés se Verdadeiro/Falso, mostrará Sim/Não.


    O outro Campo eu não consegui entender que tipo de valores são esses!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    RobsonBastos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 27/06/2017

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  RobsonBastos em Seg 24 Jul 2017, 20:03

    Muito obrigado pela resposta,
    Vou testar depois posto aqui se deu certo.


    RobsonBastos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 27/06/2017

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  RobsonBastos em Seg 24 Jul 2017, 20:57

    Boa tarde, deu certo para o campo boleano, essa função é como se fosse a função "SE" do Excel né? Very Happy

    Então estava utilizando ela nos outros campos também, porém um dos campos tem uma lista de 21 opções diferentes e o Access indica que "O texto é muito longo para ser editado"(Esta mensagem aparece quando estou escrevendo os critérios do SeImed). pale

    Tem como fazer duas consultas separadas e depois juntar os valores?
    Se der eu faria a metade(destes 21 valores) em uma consulta, a outra metade em outra e depois juntaria na consulta original. pig

    Se alguém tiver uma ideia diferente sou todo ouvidos. Very Happy
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3325
    Registrado : 14/08/2013

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  FabioPaes em Ter 25 Jul 2017, 13:31

    Olha, é melhor postar essa abela/consulta... Posta também como gostaria que fosse exibido os dados nesse campo!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    RobsonBastos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 27/06/2017

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  RobsonBastos em Ter 25 Jul 2017, 15:56

    Bom dia, mais uma vez, muito obrigado pelo retorno.
    Segue em anexo banco.

    Por favor, veja o campo 'Indicacao' na consulta, depois clique em exportar e veja no arquivo "xlsx" gerado o campo 'Indicacao'.

    Na consulta as informações aparecem como texto, porém no arquivo do excel elas aparecem como numeros(Por causa do relacionamento entre tabelas).
    Anexos
    Cadastro Inscritos - MaximoAccess.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (809 Kb) Baixado 5 vez(es)
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3325
    Registrado : 14/08/2013

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  FabioPaes em Ter 25 Jul 2017, 17:36

    Amigo, o problema ocorre pois o Campo indicação é um campo relacionado com outra tabela, e nele é armazenado apenas o ID da outra tabela... Por isso na exportação vai apenas os Numeros (ID).

    Para resolver isso, basta colocar o Campo Texto da OUtra tabela, a tabela relacionada (TB_Indicacao).

    Mude sua consulta para esse SQL: (Copiar e Colar)
    Código:
    SELECT TB_Geral.Cod_Cadastro, TB_Geral.Nome, TB_Geral.Data_Cadastro, TB_Geral.Data_Envelope, TB_Geral.Data_Devolução, TB_Geral.RG, TB_Geral.Data_Nascimento, TB_Geral.Bairro, TB_Geral.Cidade, TB_Geral.Renda, IIf([TB_Geral]![Escolaridade]=1,"1º Integral",IIf([TB_Geral]![Escolaridade]=2,"1º Manhã",IIf([TB_Geral]![Escolaridade]=3,"1º Tarde",IIf([TB_Geral]![Escolaridade]=4,"1º Noite",IIf([TB_Geral]![Escolaridade]=5,"2º Integral",IIf([TB_Geral]![Escolaridade]=6,"2º Manhã",IIf([TB_Geral]![Escolaridade]=7,"2º Tarde","2º Noite"))))))) AS Escolaridade, IIf([TB_Geral]![Aprovado]=-1,"Sim","Não") AS Aprovado, TB_Indicacao.[Como soube da Guardinha]
    FROM TB_Indicacao INNER JOIN TB_Geral ON TB_Indicacao.Identificação = TB_Geral.Indicacao
    ORDER BY TB_Geral.Cod_Cadastro;


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    RobsonBastos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 27/06/2017

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  RobsonBastos em Ter 25 Jul 2017, 19:18

    Muito obrigado por responder em tão pouco tempo.

    affraid
    Na mosca, funcionou certinho. cheers

    Preciso estudar muito para chegar em um nível próximo desse.

    A dúvida do tópico esta encerrada.

    No entanto para fechar com chave de ouro, eu poderia aproveitar este tópico para perguntar?

    Teria como fazer o mesmo com a Escolaridade?
    Seriam dois INNER JOIN?

    RobsonBastos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 27/06/2017

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  RobsonBastos em Ter 25 Jul 2017, 19:36

    Boa tarde, muito obrigado a todos que se interessaram, pricipalmente ao FabioPaes, sem estas dicas eu não teria conseguido. Very Happy

    Estava pesquisando como funciona a sintaxe e consegui realizar o que queria, segue o código:

    Código:

    SELECT TB_Geral.Cod_Cadastro, TB_Geral.Nome, TB_Geral.Data_Cadastro, TB_Geral.Data_Envelope, TB_Geral.Data_Devolução, TB_Geral.RG, TB_Geral.Data_Nascimento, TB_Geral.Bairro, TB_Geral.Cidade, TB_Geral.Renda, TB_PeriodoEscolar.Periodo_Escolar AS Escolaridade, IIf([TB_Geral]![Aprovado]=-1,"Sim","Não") AS Aprovado, TB_Indicacao.[Como soube da Guardinha]
    FROM (TB_Geral INNER JOIN TB_Indicacao ON TB_Geral.Indicacao = TB_Indicacao.Identificação) INNER JOIN TB_PeriodoEscolar ON TB_PeriodoEscolar.Código = TB_Geral.Escolaridade
    ORDER BY TB_Geral.Cod_Cadastro;

    Estou marcando este tópico como Resolvido. cheers
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3325
    Registrado : 14/08/2013

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  FabioPaes em Ter 25 Jul 2017, 19:37

    Sim, é claro...
    Basta colocar sua consulta em modo Designer, e add nova tabela, em seguida coloque os campos da nova tabela...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3325
    Registrado : 14/08/2013

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  FabioPaes em Ter 25 Jul 2017, 19:38

    Grato pelo retorno amigo, até a próxima se Deus Quiser!

    Se a duvida foi solucionada, por favor marque o tópico como resolvido:

    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    RobsonBastos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 27/06/2017

    Re: [Resolvido]Exportar campos de tabela apenas como texto - Access para Excel (inner join)

    Mensagem  RobsonBastos em Ter 25 Jul 2017, 19:40

    Ops, mandei a mensagem anterior sem marcar como Resolvido. lol!

      Data/hora atual: Qui 21 Set 2017, 02:36