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

    avatar
    patrickdanielli1
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    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 : 7527
    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 : 33
    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 : 7527
    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 : 33
    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 : 7527
    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 : 33
    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 : 7527
    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 : 33
    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

    Conteúdo patrocinado

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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 4/4/2020, 11:53