MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Como unir dois campos em um em consulta em base desacoplada

    Eloirp
    Eloirp
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 15/06/2013

    [Resolvido]Como unir dois campos em um em consulta em base desacoplada Empty [Resolvido]Como unir dois campos em um em consulta em base desacoplada

    Mensagem  Eloirp em 29/7/2018, 17:44

    Preciso uma consulta para o Excel e sem problemas na exportação, o problema está em unir dois campos de tabelas diferentes para que sejam inseridos no Excel em apenas um campo! Pelo que pesquisei deveria ser assim a sintaxe: tbl_Modelo.Modelo & tbl_Aplicacao.AplDetalhe) AS Detalhe, porém lista os valores como 0 (zero).

    Com o Código 01 abaixo não dá erro, porém os dados de Detalhe não são exportados ((tbl_Modelo.Modelo & tbl_Aplicacao.AplDetalhe) AS Detalhe):
    Código:
    strRS = "SELECT tbl_Produto.Produto, tbl_Montadora.Montadora, tbl_ModeloRed.ModeloReduz AS Modelo, (tbl_Modelo.Modelo & tbl_Aplicacao.AplDetalhe) AS Detalhe, tbl_Aplicacao.Cambio, tbl_Aplicacao.AplAnoIni AS Inicio, tbl_Aplicacao.AplAnoFim AS Fim " & _
    "FROM tbl_Produto INNER JOIN (tbl_Modelo INNER JOIN (tbl_ModeloRed INNER JOIN (tbl_Montadora INNER JOIN tbl_Aplicacao ON tbl_Montadora.Codigo = tbl_Aplicacao.AplMont) ON tbl_ModeloRed.Codigo = tbl_Aplicacao.ModeloReduz) ON tbl_Modelo.Codigo = tbl_Aplicacao.AplMod) ON tbl_Produto.Produto = tbl_Aplicacao.AplApl " & _
    "WHERE ((tbl_Produto.Produto='" & Me.BuscarProd & "') AND (tbl_Produto.Comercial='SIM') AND (tbl_Produto.Comercial2='SIM') AND ((tbl_Produto.TipoProduto)=1 Or (tbl_Produto.TipoProduto)=8 Or (tbl_Produto.TipoProduto)=16) AND ((tbl_Aplicacao.Status)='ATIVO')) " & _
    "ORDER BY Produto, Montadora, Modelo, Inicio"

    Resultado no Excel:
    O campo Detalhe é listado apenas com 0 (zero)

    Já com o Código 02 colocando os campos em separado tudo normal no Excel:
    Código:
    strRS = "SELECT tbl_Produto.Produto, tbl_Montadora.Montadora, tbl_ModeloRed.ModeloReduz AS Modelo, tbl_Modelo.Modelo AS Motor, tbl_Aplicacao.AplDetalhe AS Detalhe, tbl_Aplicacao.Cambio, tbl_Aplicacao.AplAnoIni AS Inicio, tbl_Aplicacao.AplAnoFim AS Fim " & _
    "FROM tbl_Produto INNER JOIN (tbl_Modelo INNER JOIN (tbl_ModeloRed INNER JOIN (tbl_Montadora INNER JOIN tbl_Aplicacao ON tbl_Montadora.Codigo = tbl_Aplicacao.AplMont) ON tbl_ModeloRed.Codigo = tbl_Aplicacao.ModeloReduz) ON tbl_Modelo.Codigo = tbl_Aplicacao.AplMod) ON tbl_Produto.Produto = tbl_Aplicacao.AplApl " & _
    "WHERE ((tbl_Produto.Produto='" & Me.BuscarProd & "') AND (tbl_Produto.Comercial='SIM') AND (tbl_Produto.Comercial2='SIM') AND ((tbl_Produto.TipoProduto)=1 Or (tbl_Produto.TipoProduto)=8 Or (tbl_Produto.TipoProduto)=16) AND ((tbl_Aplicacao.Status)='ATIVO')) " & _
    "ORDER BY Produto, Montadora, Modelo, Inicio"

    Resultado no Excel:
    Lista todos os campos normalmente, porém claro que neste caso sem unir os campos como desejado

    No anexo acho que fica mais claro o problema.

    Pesquisei muito e tentei de tudo, mas nada até agora...
    avatar
    wbonelli
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/04/2011

    [Resolvido]Como unir dois campos em um em consulta em base desacoplada Empty Re: [Resolvido]Como unir dois campos em um em consulta em base desacoplada

    Mensagem  wbonelli em 30/7/2018, 21:36

    Boa tarde!
    Você comenta que usando o código 02 dá tudo certinho, mas outros não. Será que existem dados relacionados nos campos modelo e detalhe com outros códigos?
    Eloirp
    Eloirp
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 15/06/2013

    [Resolvido]Como unir dois campos em um em consulta em base desacoplada Empty Re: [Resolvido]Como unir dois campos em um em consulta em base desacoplada

    Mensagem  Eloirp em 30/7/2018, 22:01

    Olá Wbonelli,

    São os mesmos dados para ambas as consultas, apenas que na primeira estou tentando unir dois Campos e na segunda estão separados!

    A questão acredito que seja apenas sintaxe do código para unir ossos Campos.
    avatar
    wbonelli
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/04/2011

    [Resolvido]Como unir dois campos em um em consulta em base desacoplada Empty Re: [Resolvido]Como unir dois campos em um em consulta em base desacoplada

    Mensagem  wbonelli em 30/7/2018, 22:12

    Então Eloi, fiz um teste aqui com duas tabelas  (clientes e pagamentos). Experimente assim:

    SELECT clientes.id_cli, [clientes].[Fonte_Cliente] & " - " & [Tabela_Retorno].[Historico_Envio] AS teste_uniao_de_campos
    FROM clientes INNER JOIN Tabela_Retorno ON clientes.id_cli = Tabela_Retorno.ID;
    Eloirp
    Eloirp
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 15/06/2013

    [Resolvido]Como unir dois campos em um em consulta em base desacoplada Empty Re: [Resolvido]Como unir dois campos em um em consulta em base desacoplada

    Mensagem  Eloirp em 30/7/2018, 23:47

    Talvez por ser uma base de dados desacoplada (MySQL) funcione um pouco diferente!

    Utilizando tbl_Modelo.Modelo & tbl_Aplicacao.AplDetalhe AS Detalhe carrega os demais dados no excel e este campo carrega somente 0 (zero).

    Da forma como você sugere tbl_Modelo.Modelo & " - " & tbl_Aplicacao.AplDetalhe AS Detalhe dá erro! Erro em tempo de execução'13'. Tipos Incompatíveis. Neste caso nenhum dado é carregado no excel.

    Eloirp
    Eloirp
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 211
    Registrado : 15/06/2013

    [Resolvido]Como unir dois campos em um em consulta em base desacoplada Empty Re: [Resolvido]Como unir dois campos em um em consulta em base desacoplada

    Mensagem  Eloirp em 31/7/2018, 00:13


    Finalmente consegui! Ficou assim:

    CONCAT(tbl_Modelo.Modelo,' ',tbl_Aplicacao.AplDetalhe) AS Detalhe

    Fonte: http://paposql.blogspot.com/2011/11/concatenando-campos-no-mysql.html

    De qualquer forma valeu pela ajuda.
    avatar
    wbonelli
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 02/04/2011

    [Resolvido]Como unir dois campos em um em consulta em base desacoplada Empty Re: [Resolvido]Como unir dois campos em um em consulta em base desacoplada

    Mensagem  wbonelli em 31/7/2018, 00:49

    Desculpe, não tinha entendido que era MySql.
    Que bom que vc conseguiu!
    Abs.

      Data/hora atual: 27/10/2020, 03:26