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]concatenar campo no INSERT INTO

    avatar
    patrickdanielli1
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 22/07/2017

    [Resolvido]concatenar campo no INSERT INTO Empty [Resolvido]concatenar campo no INSERT INTO

    Mensagem  patrickdanielli1 em 25/3/2020, 17:55

    ola pessoal, to tentando concatenar um campo mas eu não sei onde estou errando

    INSERT INTO tbl_receitas ( Data_recebimento, Descrição, Forma_pagamento )
    SELECT tbl_comanda.Data_fechamento, [tbl_venda_serviço]![Serviço] & "  " & [tbl_venda_serviço]![Profissional] AS [Desc], tbl_comanda.Forma_pagamento
    FROM tbl_comanda LEFT JOIN tbl_venda_serviço ON tbl_comanda.Cod_comanda = tbl_venda_serviço.idcod_comanda;

    ele retorna a column(0) da combo [Serviço] e [Profissional] porém a informação tá na column(1), o mesmo acontece em [Forma_pagamento]

    preciso que retorne a string dos campos.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7746
    Registrado : 05/11/2009

    [Resolvido]concatenar campo no INSERT INTO Empty Re: [Resolvido]concatenar campo no INSERT INTO

    Mensagem  Alexandre Neves em 25/3/2020, 20:24

    Boa noite
    Será
    INSERT INTO tbl_receitas (Data_recebimento, Descrição, Forma_pagamento) SELECT tbl_comanda.Data_fechamento, [tbl_venda_serviço]![Serviço] & ' ' & [tbl_venda_serviço]![Profissional], tbl_comanda.Forma_pagamento FROM tbl_comanda LEFT JOIN tbl_venda_serviço ON tbl_comanda.Cod_comanda = tbl_venda_serviço.idcod_comanda;


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    patrickdanielli1
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 22/07/2017

    [Resolvido]concatenar campo no INSERT INTO Empty Re: [Resolvido]concatenar campo no INSERT INTO

    Mensagem  patrickdanielli1 em 26/3/2020, 06:55

    Ola Alexandre, não funcionou, retorna ainda apenas as chaves dos campos serviço e profissional.

    Os campos na tab estão definidos como números e coluna acoplada a chave primaria, se alterando a coluna acoplada e os campos para texto pode ser uma solução ? iria receber apenas a string do campo mas pode dar erro se tiver serviços parecidos.

    o detalhe também acontece com o campo [Forma_pagamento], retorna a coluna acoplada que é a chave primaria.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7746
    Registrado : 05/11/2009

    [Resolvido]concatenar campo no INSERT INTO Empty Re: [Resolvido]concatenar campo no INSERT INTO

    Mensagem  Alexandre Neves em 26/3/2020, 19:54

    Boa noite
    Se o campo Cod_comanda (da tabela tbl_comanda) e o campo idcod_comanda (da tabela tbl_venda_serviço) forem do mesmo tipo (seja número ou texto) a instrução funcionará
    O que o código faz: insere na tabela tbl_receitas os dados das tabelas tbl_comanda e tbl_venda_serviço ligadas pelos campos Cod_comanda (da tabela tbl_comanda) e campo idcod_comanda (da tabela tbl_venda_serviço). No campo Data_recebimento ele acrescenta os dados do campo Data_fechamento da tabela tbl_comanda concatenados com os dados do campo Profissional da tabela tbl_venda_serviço, no campo Descrição ele acrescenta os dados do campo Serviço da tabela tbl_venda_serviço, no campo Forma_pagamento ele acrescenta os dados do campo Forma_pagamento da tabelatbl_comanda
    É isso que quer?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    patrickdanielli1
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 22/07/2017

    [Resolvido]concatenar campo no INSERT INTO Empty Re: [Resolvido]concatenar campo no INSERT INTO

    Mensagem  patrickdanielli1 em 26/3/2020, 22:55

    Sim Alexandre é isso porém,

    na tbl_venda_serviço o campo [serviço] é uma combo, assim como [Profissional] e [Forma_pagamento]
    quando ele executa o insert into na tbl_receita o campo [descrição] deveria aparece o serviço concatenado com o nome do profissional, mas aparece "1 3" que são as chave primarias das combos [Serviço] e [Profissional] e o campo [Forma_Pagamento] aparece o numero 5. essa da Forma_Pagamento eu consigo mostrar com uma consulta, o problema é o campo concatenado [Descrição]
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7746
    Registrado : 05/11/2009

    [Resolvido]concatenar campo no INSERT INTO Empty Re: [Resolvido]concatenar campo no INSERT INTO

    Mensagem  Alexandre Neves em 27/3/2020, 19:25

    Boa tarde
    Ora aí está. O que tem no campo não é o que aparece, portanto, quando falou no campo não era a mesma coisa
    Deverá ligar o valor do campo às tabelas que alimentam essas caixas de combinação


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    patrickdanielli1
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 22/07/2017

    [Resolvido]concatenar campo no INSERT INTO Empty Re: [Resolvido]concatenar campo no INSERT INTO

    Mensagem  patrickdanielli1 em 28/3/2020, 04:16

    Obrigado pela paciência Alexandre,

    entendi a lógica do INSERT INTO.

    Funcionou perfeitamente,

    Seguindo meu estudo gostaria de fazer o INSERT INTO pelo VBA, to tentando assim, mas acho que muda alguns caracteres do sql da consulta

    Código:
    CurrentDb.Execute "INSERT INTO tbl_receitas ( Valor_receita, Descrição, forma_pagamento, Comissão, Data_recebimento, Conta, Centro, Categoria )" _
    & " SELECT csl_venda_serviço.[Valor Cobrado], csl_venda_serviço.Desc, tbl_formapagamento.forma_pagamento, csl_venda_serviço.nome_Pessoa, tbl_comanda.Data_fechamento,IIf([tbl_formapagamento]![forma_pagamento]= "Cartão de Credito","PAG SEGURO",IIf([tbl_formapagamento]![forma_pagamento]="Cartão de Débito","PAG SEGURO",IIf([tbl_formapagamento]![forma_pagamento]="Dinheiro","CAIXA",IIf([tbl_formapagamento]![forma_pagamento]="Boleto","NU BANK",IIf([tbl_formapagamento]![forma_pagamento]="Transferência","NU BANK"))))) AS Expr2, csl_venda_serviço.nome_Pessoa , csl_venda_serviço.Setor" _
    & " FROM tbl_formapagamento RIGHT JOIN (csl_venda_serviço RIGHT JOIN tbl_comanda ON csl_venda_serviço.idcod_comanda = tbl_comanda.Cod_comanda) ON tbl_formapagamento.Código = tbl_comanda.Forma_pagamento" _
    & " WHERE tbl_comanda.Cod_comanda)=[Formulários]![frm_comanda]![Cod_comanda];"

    Dá erro e seta a aspas do IIF ("Cartão de Crédito"), pela consulta funcionou.

    se a dúvida tiver que mudar de tópico, me avise.

    Grato.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7746
    Registrado : 05/11/2009

    [Resolvido]concatenar campo no INSERT INTO Empty Re: [Resolvido]concatenar campo no INSERT INTO

    Mensagem  Alexandre Neves em 29/3/2020, 10:20

    Bom dia,
    É aceitável continuar neste tema, visto que a dúvida tem a mesma base
    CurrentDb.Execute "INSERT INTO tbl_receitas (Valor_receita, Descrição, forma_pagamento, Comissão, Data_recebimento, Conta, Centro, Categoria )" _
    & " SELECT csl_venda_serviço.[Valor Cobrado], csl_venda_serviço.Desc, tbl_formapagamento.forma_pagamento, csl_venda_serviço.nome_Pessoa, tbl_comanda.Data_fechamento,IIf([tbl_formapagamento]![forma_pagamento]= 'Cartão de Credito','PAG SEGURO',IIf([tbl_formapagamento]![forma_pagamento]='Cartão de Débito','PAG SEGURO',IIf([tbl_formapagamento]![forma_pagamento]='Dinheiro','CAIXA',IIf([tbl_formapagamento]![forma_pagamento]='Boleto','NU BANK',IIf([tbl_formapagamento]![forma_pagamento]='Transferência','NU BANK'))))) AS Expr2, csl_venda_serviço.nome_Pessoa , csl_venda_serviço.Setor" _
    & " FROM tbl_formapagamento RIGHT JOIN (csl_venda_serviço RIGHT JOIN tbl_comanda ON csl_venda_serviço.idcod_comanda = tbl_comanda.Cod_comanda) ON tbl_formapagamento.Código = tbl_comanda.Forma_pagamento" _
    & " WHERE tbl_comanda.Cod_comanda)=[Formulários]![frm_comanda]![Cod_comanda];"


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    patrickdanielli1
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 22/07/2017

    [Resolvido]concatenar campo no INSERT INTO Empty Re: [Resolvido]concatenar campo no INSERT INTO

    Mensagem  patrickdanielli1 em 29/3/2020, 13:40

    obrigado mais uma vez Alexandre.

    Funcionou aqui

      Data/hora atual: 26/10/2020, 18:11